如何检测、查找和安装丢失的固件

fra*_*cop 5 wifi firmware software-installation troubleshooting

语境

今天我在我的HP Pavilion笔记本电脑上安装了Debian 8,在安装过程中(特别是在网络设置过程中),系统提示:

Hardware needs non-free firmware to run, missing firmwares are:
- rtlwifi/rtl8188efw.bin
- rtl_nic/rtl8106e-1.fw
Run Code Online (Sandbox Code Playgroud)

安装后,wifi 无法识别,我认为它缺少另一个固件,因为触摸板无法正常工作,但那是另一回事了...

我不是系统管理方面的大专家,但我是 CS 专业的,所以你可以具体点。

有没有办法检测我的系统缺少哪些固件?我必须在哪里下载固件?(好吧,我在 Debian 上)我该如何安装它?(有什么自动的吗?还是我必须要make他们?)


有人可以解释克服此类问题的最佳实践吗?也许以我的wifi问题为例,这样我也可以解决它。

Chr*_*her 5

显然,如果您的网络不工作,将很难下载软件。Debian 还创建非自由安装映像。其中之一可能更适合您的硬件。如果您的以太网当前使用不同的免费驱动程序,那么您可以按如下方式获取硬件可能需要的其余固件。

首先,使用su -或成为 root sudo -i。然后编辑存储库配置文件。

pico /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)

对于以 开头的每一行,在该行末尾deb添加存储库。non-free

deb http://<domainname>/debian jessie main contrib non-free
Run Code Online (Sandbox Code Playgroud)

保存并退出。刷新数据库并安装非免费驱动程序

apt-get update && apt-get install firmware-linux-nonfree
Run Code Online (Sandbox Code Playgroud)

这还将生成一个新的初始 RAM 磁盘 ( initrd) 并触发非自由软件的使用。重新启动即可使用新的initrd.

reboot
Run Code Online (Sandbox Code Playgroud)

如果由于某种原因您必须手动安装,您还可以获得所有固件包名称的列表:

apt-get install apt-file
apt-file update
apt-file search --package-only /lib/firmware
Run Code Online (Sandbox Code Playgroud)

默认的免费软件安装程序会提示包含非免费驱动程序,因此您可以在那时从闪存驱动器提供软件包;或者,在安装后,您可以从另一台计算机下载非免费驱动程序,将其保存在闪存驱动器上,将闪存驱动器安装在笔记本电脑中,然后安装软件包:

dpkg -i firmware-realtek.deb
Run Code Online (Sandbox Code Playgroud)

这些可以在packages.debian.org上找到。