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 Live USBで起動すると、これらの.koファイルはすでに作成されています。これらのファイルが存在しない状況が発生した場合はどうなりますか? Linuxディストリビューション間で互換性があるため、バックアップできますか?

関連情報