Broadcom 설정 및 커널 파일 이해

Broadcom 설정 및 커널 파일 이해

저는 종종 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시도합니다 . 하지만 수동으로 시도했을 때 실패한 것처럼 실패합니다.wlmodprobe

$ 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 배포판 간에 호환되므로 백업할 수 있습니까?

관련 정보