[Share Experiences] Linux 不能识别新硬件的解决思路分享
Tofloor
poster avatar
littlebat
deepin
2022-11-07 18:09
Author

(首发地址:学习日记 https://www.learndiary.com/2022/11/linux-hardware/ )

今天分享一位客户的 Kali Linux 在惠普光影精灵8 笔记本的无线网卡和声卡安装的经历。供相似情况的朋友参考。简单来说,就是现在的新硬件在 Linux 下如果不能识别,使用两种方法解决问题的概率比较大。升级内核及安装固件。视频演示地址: https://www.bilibili.com/video/BV11W4y1x7R1/?share_source=copy_web&vd_source=d1925b070926f23b2b6676137251e9ea

一、升级内核

Linux 下的驱动程序多是以驱动模块的形式提供,新的内核会提供更多的硬件支持。
各发行版都对新的内核支持提供了自己的方案。
如 Debian Linux 和 Ubuntu Linux 都有 backports 源。另,Ubuntu Linux 和 RHEL/CentOS Linux 都专门提供了主线内核的支持。国产发行版 Deepin Linux 也有相应的 experiment(linux-image-deepin-experiment-amd64)和 hwe(linux-image-deepin-hwe-amd64)内核。

二、安装固件
比如上次一位朋友的惠普光影精灵8笔记本,他安装的版本是 Kali Linux。Kali Linux 是一款基于 Debian 开发版的滚动发行版。所以它的内核也是很新的。这位朋友的无线网卡和声卡不能工作。根据经验,安装了 firmware-iwlwifi 的固件,但是仍然不能识别。最后是客户自己解决的,把开发版的固件复制到相应的 /lib/firmware 文件夹下面。 这里的开发版应该就是 kali-dev,相当于 Debian 的 testing。里面的软件会更新一些。

然后是声卡不工作,声卡在 kali 系统下没有发现原因。听客户说在 Ubuntu 下可以工作,用 Ubuntu Live USB 启动系统后发现可以工作的声卡设备名称是:sof-hda-dsp 。根据相应的关键字在网上搜索了一下,发现 Kali 下对应的包是 firmware-sof-signed。安装上就正常了。

三、小结
因为现在外设对 Linux 的驱动支持仍然没有 Windows 及时,所以,一些设备对 Linux 的驱动往往会在更新的内核里面才有支持。一般升级到最新内核多半能解决。如果还不行,就要根据型号搜索一下 Linux 的驱动有没有发布出来。有的驱动没有集成到内核,可能是单独发布的,这时就需要手工编译驱动了。

如果新的硬件安装了最新的内核仍然无法识别,就要考虑是否是缺失固件了。

据我所知,现在 Ubuntu 对新硬件的支持相对比较全面。如果新硬件在非 Ubuntu 发行版不能工作,但是在 Ubutu 下面可以工作。这样,就可以对比一下它的设备名称,驱动模块名字等。借以寻找解决方法。

四、参考链接
1、How to upgrade the Debian 10 kernel from backports without recompiling it from scratch: https://unix.stackexchange.com/questions/545601/how-to-upgrade-the-debian-10-kernel-from-backports-without-recompiling-it-from-s
2、Install Linux Kernel 5.15 on Debian 11 / Debian 10: https://techviewleo.com/how-to-install-linux-kernel-on-debian/
3、Ubuntu Mainline Kernel: https://kernel.ubuntu.com/~kernel-ppa/mainline/
4、LTSEnablementStack: https://wiki.ubuntu.com/Kernel/LTSEnablementStack
5、How to upgrade kernel to latest version on Ubuntu 20.04 Focal Fossa Linux: https://linuxconfig.org/how-to-upgrade-kernel-to-latest-version-on-ubuntu-20-04-focal-fossa-linux
6、ELRepo Project: http://elrepo.org/
7、How to Upgrade Linux Kernel on CentOS 7: https://linoxide.com/upgrade-linux-kernel-on-centos-7/
8、Linux驱动和固件有何区别: https://www.cnblogs.com/gaozhengwei/p/10368876.html
9、Kali Branches: https://www.kali.org/docs/general-use/kali-branches/
10、firmware-sof | Kali Linux Tools: https://www.kali.org/tools/firmware-sof/
11、Open source audio DSP firmware and development tools: https://www.sofproject.org/

Reply Favorite View the author
All Replies
Kingtous
deepin
2022-11-07 18:27
#1

好思路,赞!

Reply View the author
jjcui8595
Moderator
2022-11-07 19:13
#2

感谢分享

Reply View the author
xuqi
deepin testing team
2022-11-07 19:43
#3

like

  • 学习了,赞 ~
Reply View the author
joo
deepin
2022-11-07 21:22
#4

嗯,但,深度v20没有firmware-sof包,v23有firmware-sof包,呵呵,版本是低于2.0(v23基于debian 11,sof的版本好像是1.7.x),也无法支持最新的声卡,例如:声卡芯片 顺芯 无法驱动的已有修复补丁,但只能适用于sof 2.0以上。

Reply View the author
joo
deepin
2022-11-07 21:35
#5
joo

嗯,但,深度v20没有firmware-sof包,v23有firmware-sof包,呵呵,版本是低于2.0(v23基于debian 11,sof的版本好像是1.7.x),也无法支持最新的声卡,例如:声卡芯片 顺芯 无法驱动的已有修复补丁,但只能适用于sof 2.0以上。

国内很多2022发布的电脑,声卡都是用这个芯片的:小米、荣耀、华为

不要怪国内的硬件制造商,他们一直很及时推送自己的驱动到linux及相应的开源社区

Reply View the author
逃离喧嚣
deepin
2022-11-08 08:51
#6

点👍

Reply View the author
晚秋(lateautumn)
Moderator
2022-11-09 19:29
#7

感谢分享,学习一下kissing_heart

Reply View the author