私はよくライブ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)
以前uname -r.ko
から削除したファイルを復元して 再インストールすると、スクリプトによって( ) が自動的に挿入され、Wi-Fi カードが再び動作します。/lib/modules/
/kernel/net/wireless/
bcmwl-kernel-source
wl
modprobe wl
私の質問は次のとおりです:
1) これらはどのように機能し、ワイヤレス.ko
ファイルはどのように生成されるのでしょうか?
2) Ubuntu ライブ USB から起動する場合、これらの.ko
ファイルはすでに生成されています。これらのファイルがここにない場合はどうすればいいですか? これらのファイルは Linux ディストリビューション間で互換性があるので、バックアップできますか?