저는 종종 USB/CD를 통해 Linux 배포판을 설치합니다. 이를 위해 인터넷에 연결하지 않고도 무선 네트워크를 설정할 수 있기를 원합니다. Broadcom 칩셋이 있습니다.
$ lspci -k
04:00.0 Network controller: Broadcom Corporation BCM43228 802.11a/b/g/n
bcmwl-kernel-source
패키지와 해당 종속 항목( ) 을 다운로드했습니다 dkms
. 오프라인으로 설치하고 Wi-Fi를 작동시킬 수 있습니다. 그러나 나는 그것이 뒤에서 어떻게 작동하는지 이해하고 싶습니다.
.ko
모듈 폴더에는 파일 목록이 있습니다.
$ ls /lib/modules/`uname -r`/kernel/net/wireless/
cfg80211.ko lib80211_crypt_tkip.ko lib80211.ko
lib80211_crypt_ccmp.ko lib80211_crypt_wep.ko
백업하고 삭제했어요
$ rm /lib/modules/`uname -r`/kernel/net/wireless/*.ko
$ reboot
다시 시작한 후에는 Wi-Fi가 더 이상 작동하지 않습니다. 이 .ko
문서는 wl
작업을 완료하는 데 중요한 것 같습니다 .
새로고침을 시도했지만 wl
더 이상 인식되지 않습니다.
$ modprobe wl
modprobe: ERROR: ../libkmod/libkmod-module.c:180 kmod_module_parse_depline() ctx=0x7f9f5375d010 path=/lib/modules/3.13.0-35-generic/kernel/net/wireless/lib80211.ko error=No such file or directory
modprobe: ERROR: ../libkmod/libkmod-module.c:180 kmod_module_parse_depline() ctx=0x7f9f5375d010 path=/lib/modules/3.13.0-35-generic/kernel/net/wireless/lib80211.ko error=No such file or directory
modprobe: ERROR: could not insert 'wl': Unknown symbol in module, or unknown parameter (see dmesg)
.ko
파일이 모듈과 관련되어 있는지 확인하기 위해 다음 명령을 시도했습니다 wl
.
$ apt-get autoremove bcmwl-kernel-source
$ modprobe wl
modprobe: FATAL: Module wl not found.
정상적으로 보였고 다시 설치했습니다 bcmwl-kernel-source
.
$ sudo dpkg -i bcmwl-kernel-source_6.30.223.141+bdcom-0ubuntu2_amd64.deb
Selecting previously unselected package bcmwl-kernel-source.
(Reading database ... 396932 files and directories currently installed.)
Preparing to unpack .../bcmwl-kernel-source_6.30.223.141+bdcom-0ubuntu2_amd64.deb ...
Unpacking bcmwl-kernel-source (6.30.223.141+bdcom-0ubuntu2) ...
Setting up bcmwl-kernel-source (6.30.223.141+bdcom-0ubuntu2) ...
Loading new bcmwl-6.30.223.141+bdcom DKMS files...
Building only for 3.13.0-35-generic
Building for architecture x86_64
Building initial module for 3.13.0-35-generic
Done.
wl:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/3.13.0-35-generic/updates/dkms/
depmod........
DKMS: install completed.
modprobe: ERROR: could not insert 'wl': Unknown symbol in module, or unknown parameter (see dmesg)
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.103ubuntu4.2) ...
update-initramfs: Generating /boot/initrd.img-3.13.0-35-generic
자동 설치 패키지는 삽입을 통과하려고 bcmwl
시도합니다 . 하지만 수동으로 시도했을 때 실패한 것처럼 실패합니다.wl
modprobe
$ modprobe wl
modprobe: ERROR: could not insert 'wl': Unknown symbol in module, or unknown parameter (see dmesg)
.ko
이전에 /lib/modules/
uname -r에서 삭제한 파일을 복원한 /kernel/net/wireless/
다음 다시 설치 하면 bcmwl-kernel-source
스크립트가 자동으로 wl
( modprobe wl
)를 삽입하고 Wi-Fi 카드가 다시 작동합니다.
내 질문은 다음과 같습니다
1) 이 모든 것이 어떻게 작동하며 .ko
무선 파일은 어떻게 생성됩니까?
2) Ubuntu 라이브 USB로 부팅하면 이러한 .ko
파일이 이미 생성되어 있습니다. 이러한 파일이 존재하지 않는 상황이 발생하면 어떻게 되나요? Linux 배포판 간에 호환되므로 백업할 수 있습니까?