背景
我有一台 2008 年的 Dell Inspiron 1525 笔记本电脑,它有一个 Broadcom 无线芯片。我之前曾通过安装软件包成功使用过 Ubuntu/Kubuntu firmware-b43-installer
,当然是在 14.04 上,我不记得我之前是否在这台笔记本电脑上安装过 16.04。
最近,我安装了 Ubuntu 16.04,并firmware-b43-installer
像以前一样安装。运行后sudo modprobe b43
无线功能可以使用,但重启后无法继续使用。
该b43
模块被列入黑名单/etc/modprobe.d/blacklist-bcm43.conf
,由 自动生成bcmwl-kernel-source
。此黑名单不会停止sudo modprobe b43
工作 - 无论如何它都会加载模块,然后 WiFi 会一直工作直到重新启动。
我尝试过的方法
- 添加
b43
,在其依赖项之前,在 中/etc/modules
,运行sudo update-initramfs -u
,然后重新启动。模块未加载。 - 添加
b43
,在其依赖项之前,在 中/etc/initramfs-tools/modules
,运行sudo update-initramfs -u
,然后重新启动。模块未加载。 - 在 和 中添加
b43
,并在其依赖项之前添加,运行,/etc/modules
然后重新启动。模块未加载。/etc/initramfs-tools/modules
sudo update-initramfs -u
- 卸载
bcmwl-kernel-source
以删除/etc/modprobe.d/blacklist-bcm43.conf
,结合上述 1、2 和 3。模块未加载,sudo modprobe b43
手动运行不再有效,因此我推测该bcmwl-kernel-source
包对于b43
工作是必需的,尽管bcmwl-kernel-source
黑名单b43
。 - 保留
bcmwl-kernel-source
已安装,但手动删除/etc/modprobe.d/blacklist-bcm43.conf
,结合上述 1、2 和 3。模块未加载,但sudo modprobe b43
启动后手动运行有效。 - 在 root 的 crontab 中添加一个脚本,该脚本循环
@reboot
运行,modprobe b43
直到lsmod
指示已加载。脚本运行,并无限期地继续运行,但模块永远不会被加载,尽管该脚本在启动后从终端手动运行时可以正常工作。
答案1
因此,将调用modprobe b43
untillsmod
指示它已加载的脚本从由root的crontab调用移动到由调用,/etc/rc.local
为我解决了这个问题。虽然我不知道为什么这会产生任何差异。