软件吧
登录注册账号
/posts/linux-2
电脑必备

把老笔记本装成Linux后,我发现系统自带的驱动救了我一命

深夜冲浪猫 119 0 16

昨晚又把那台2015年的老笔记本翻出来了,本来想装个轻量Linux当下载机,结果卡在无线网卡驱动上折腾到三点。等等,先别笑,我知道这话题老,但我这次踩的坑可能很多人没注意。

先说结论:装Linux前一定要先把lspci -nn和lsusb的输出存下来,不然装完发现没网,你连网卡型号都查不了。我第一次就是犯了这错,装完才发现WiFi列表是空的,只能靠手机热点USB共享网络救急。

具体过程:

  1. 原系统还在的时候,我跑了lspci -nn | grep -i net,记下了网卡是[8086:3165],Intel的。
  2. 装的是Debian 12,装完发现iwlwifi固件没带全,dmesg里刷了一屏firmware: failed to load iwlwifi-7265D-29.ucode。
  3. 解决办法其实简单,但前提是你得有网。我用手机USB共享网络,然后apt install firmware-iwlwifi,重启,WiFi出来了。

但真正让我记一笔的是后面:我发现系统自带的firmware-iwlwifi包里的固件版本比网卡需要的旧,加载成功后dmesg还是报iwlwifi 0000:03:00.0: loaded firmware version 29.4063824552.0 op_mode iwlmvm,看起来正常,但实际连接5G频段会掉线。我又去翻了Intel官网的固件仓库,手动下了新版iwlwifi-7265D-29.ucode放到/lib/firmware,覆盖后modprobe -r iwlwifi && modprobe iwlwifi,这才稳。

这里有个细节:别直接覆盖,先把旧的备份成.bak,不然万一新版不兼容,你连回滚都回不了。我就是先cp备份再覆盖的,后来真回滚了一次——新版在我这台机器上蓝牙和WiFi会抢资源,dmesg里能看到Bluetooth: hci0: command 0xfc05 tx timeout。

最后我是把蓝牙在/etc/modprobe.d/blacklist.conf里禁了,反正下载机也用不上。

另外吐槽一句:这台机器BIOS里有个Wireless Radio Control选项,默认开着,装Linux后会导致WiFi偶尔被硬件开关关掉,rfkill list能看到Soft blocked: yes,但Hard blocked也变过。我进BIOS关掉这个选项后才彻底消停。

所以我的判断是:老机器装Linux,驱动问题八成不是Linux的锅,是固件版本和BIOS设置对不上。先查型号,再对固件,最后看BIOS,这个顺序能省你两小时。

问一句:你们装Linux时有没有遇到过那种dmesg里报错但功能正常的玄学情况?我这次WiFi就是,报错但能用,搞得我都不敢乱动。

登录后可以为帖子点赞,但本帖内容对所有人开放阅读。

社区回应

0 Replies

还没有回应,抢一个沙发。

登录后可以回应和点赞,但本帖内容对所有人开放阅读。