添加无线固件会对其他操作系统产生影响吗?

添加无线固件会对其他操作系统产生影响吗?

我的 Dell Vostro 1500 笔记本电脑装有 Vista 和 Ubuntu 12.04 LTS,以及 Broadcom Wireless 1390 WLAN 迷你卡。我无法使用无线功能,但在 Vista 中可以正常工作。我安装了额外的 Broadcom STA 无线驱动程序,但仍然无法使用无线功能。

在启动过程中,会短暂显示一条消息,提示

firmware files b43/ucode5.fw and b43-open/ucode5.fw not found. Go to
http://wireless.kernel.org/en/users/drivers/b43#devicefirmware and download the 
correct firmware for this driver version, carefully read all instructions on the  
website. 

我的问题是添加无线固件会对 Vista 中的无线产生影响吗?

(我无法使用软件中心成功安装 ndiswrapper,因此我再次尝试使用 Broadcom STA 无线驱动程序来实现无线功能)。

答案1

此处的“固件”是指设备运行时所必需的代码,由设备驱动程序在初始化时加载。它实际上并非永久存储在设备上。

这通常被称为“微代码”(巧妙地缩写为“µcode”)而不是固件,因为它足够小,可以在每次启动时加载到设备上。

您在一个操作系统上加载的“固件”或微码不应影响该设备在另一个操作系统上的运行,因为启动另一个操作系统将从其自己的驱动程序加载微码。

显然,有些设备会永久地刷写“固件”,例如路由器、智能手机、NAS 设备等复杂的独立设备,但在这种情况下,固件已预先加载到设备上,而不是通过操作系统中的设备驱动程序在启动时加载。此类固件可以通过获取特殊固件更新并按照制造商推荐的方式安装来“更新”,但它会替换设备上已有的永久固件。

Wifi 适配器(例如基于 PCI/PCIe/USB 的适配器)几乎肯定不会在实际设备上存储任何永久配置设置或固件,并且每次初始化设备时,所有代码都会由 PC 上的驱动程序加载。

在启动过程中,会短暂显示一条消息,提示未找到固件文件 b43/ucode5.fw 和 b43-open/ucode5.fw。转到http://wireless.kernel.org/en/users/drivers/b43#devicefirmware并下载此驱动程序版本的正确固件,仔细阅读网站上的所有说明。

这可能实际上不是安装固件的最佳方式。这是一条基于 Linux 的通用消息,并非专门针对 Ubuntu。Ubuntu 实际上为常见设备提供了一些易于安装的固件包,您只需使用 apt-get 即可安装,这可能是从上游下载原始固件文件的更可靠的替代方案。

在这种情况下,您可以使用 Ubuntu 命令安装 b43 固件:

sudo apt-get install firmware-b43-installer

如果此命令对你不起作用,那么有关该型号 wifi 适配器的更多信息,请参见这个问题

它不是默认安装但需要以这种方式安装的原因几乎肯定是由于许可限制;驱动程序的微码部分不是开源的,可能具有限制其与 Ubuntu 一起分发的许可证 - 但用户(您)可以自行下载和安装。

答案2

如果您尝试使用 ndiswrapper 但没有成功,我建议您将其删除以避免冲突:

sudo apt-get purge ndiswrapper*

可以通过以下方式方便地安装固件:

sudo apt-get install linux-firmware-nonfree

如上所述,固件并未写入设备。它由驱动程序调用b43根据需要。事实上,我相信 Windows 使用非常相似的系统,其中包含 .inf 和 .sys 文件。

相关内容