Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Ubuntu25.10蓝牙Wifi不可用

Ubuntu25.10蓝牙Wifi不可用的解决过程

作者:ZGUIZ

本文作者分享了解决古董笔记本安装Ubuntu25.10后,蓝牙和WiFi无法正常启动的问题的过程,详细记录了查找、下载、加载固件及驱动签名注册等步骤

前阵子把自己的古董笔记本安装上了Ubuntu 25.10,结果蓝牙和wifi无法正常启动。

作为一个Linux新手,折腾现在才解决,记录一下我解决的流程。

蓝牙无法启动

1)按照教程安装了bluez。

sudo apt update
sudo apt install bluez

结果蓝牙还是无法启动

2)通过命令查询蓝牙状态:

$ hciconfig -a
hci0:	Type: Primary  Bus: USB
	BD Address: XX:XX:XX:XX:XX  ACL MTU: 0:0  SCO MTU: 0:0
	DOWN 
	RX bytes:676 acl:0 sco:0 events:18 errors:0
	TX bytes:57 acl:0 sco:0 commands:19 errors:0
	Features: 0xxz 0xxx 0xxx 0xxx 0xxx 0xxx 0xxx 0xxx
	Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
	Link policy: 
	Link mode: PERIPHERAL ACCEPT

可以看到蓝牙是DOWN的状态

3)尝试启动蓝牙

$ sudo hciconfig hci0 up 
Can't init device hci0: Connection timed out (110)

看到蓝牙启动异常

4)打印启动日志

$ sudo dmesg | grep -i bluetooth
[    4.724382] Bluetooth: Core ver 2.22
[    4.724432] NET: Registered PF_BLUETOOTH protocol family
[    4.724436] Bluetooth: HCI device and connection manager initialized
[    4.724443] Bluetooth: HCI socket layer initialized
[    4.724447] Bluetooth: L2CAP socket layer initialized
[    4.724456] Bluetooth: SCO socket layer initialized
[    6.060376] Bluetooth: hci0: BCM: chip id 70
[    6.061375] Bluetooth: hci0: BCM: features 0x06
[    6.077294] Bluetooth: hci0: BCM43142A
[    6.077304] Bluetooth: hci0: BCM43142A0 (001.001.011) build 0000
[    6.143709] Bluetooth: hci0: BCM: firmware Patch file not found, tried:
[    6.143726] Bluetooth: hci0: BCM: 'brcm/BCM43142A0-04ca-2009.hcd'
[    6.143729] Bluetooth: hci0: BCM: 'brcm/BCM-04ca-2009.hcd'
[    8.210327] Bluetooth: hci0: command 0x1003 tx timeout
[    8.210329] Bluetooth: hci0: Opcode 0x1003 failed: -110
[    8.607318] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    8.607328] Bluetooth: BNEP filters: protocol multicast
[    8.607337] Bluetooth: BNEP socket layer initialized
[   75.241504] Bluetooth: hci0: unexpected event for opcode 0x1003
[   85.606015] Bluetooth: hci0: BCM: Reset failed (-110)
[  222.432794] Bluetooth: hci0: BCM: chip id 70
[  222.433875] Bluetooth: hci0: BCM: features 0x06
[  222.449797] Bluetooth: hci0: BCM43142A
[  222.449817] Bluetooth: hci0: BCM43142A0 (001.001.011) build 0000
[  222.451067] Bluetooth: hci0: BCM: firmware Patch file not found, tried:
[  222.451080] Bluetooth: hci0: BCM: 'brcm/BCM43142A0-04ca-2009.hcd'
[  222.451085] Bluetooth: hci0: BCM: 'brcm/BCM-04ca-2009.hcd'
[  224.519245] Bluetooth: hci0: command 0x1003 tx timeout
[  224.519259] Bluetooth: hci0: Opcode 0x1003 failed: -110
[  317.362894] Bluetooth: hci0: unexpected event for opcode 0x1003
[  327.766613] Bluetooth: hci0: BCM: Reset failed (-110)
[  330.423732] Bluetooth: hci0: BCM: chip id 70
[  330.424724] Bluetooth: hci0: BCM: features 0x06
[  330.440745] Bluetooth: hci0: BCM43142A
[  330.440751] Bluetooth: hci0: BCM43142A0 (001.001.011) build 0000
[  330.441774] Bluetooth: hci0: BCM: firmware Patch file not found, tried:
[  330.441778] Bluetooth: hci0: BCM: 'brcm/BCM43142A0-04ca-2009.hcd'
[  330.441779] Bluetooth: hci0: BCM: 'brcm/BCM-04ca-2009.hcd'
[  332.502288] Bluetooth: hci0: Opcode 0x1003 failed: -110
[  332.503731] Bluetooth: hci0: unexpected event for opcode 0x1003
[  342.613887] Bluetooth: hci0: BCM: Reset failed (-110)
[  478.173127] Bluetooth: hci0: BCM: chip id 70
[  478.174082] Bluetooth: hci0: BCM: features 0x06
[  478.190134] Bluetooth: hci0: BCM43142A
[  478.190151] Bluetooth: hci0: BCM43142A0 (001.001.011) build 0000
[  478.191239] Bluetooth: hci0: BCM: firmware Patch file not found, tried:
[  478.191254] Bluetooth: hci0: BCM: 'brcm/BCM43142A0-04ca-2009.hcd'
[  478.191260] Bluetooth: hci0: BCM: 'brcm/BCM-04ca-2009.hcd'
[  480.210701] Bluetooth: hci0: Opcode 0x1003 failed: -110

可以看到,启动时缺少了BCM43142A0-04ca-2009.hcd这个固件

5)我们可以到github的winterheart/broadcom-bt-firmware项目仓库下载,并找到brcm目录下的BCM43142A0-04ca-2009.hcd

6)将下载的固件放到指定目录

sudo cp BCM43142A0-04ca-2009.hcd /lib/firmware/brcm/BCM43142A0-04ca-2009.hcd

7) 移除并重新加载蓝牙驱动

sudo modprobe -r btusb
sudo modprobe btusb
sudo hciconfig hci0 up

这样就可以看到蓝牙正常启动了。

Wifi无法启动

1)查看网络硬件状态

sudo lshw -C network

  *-network UNCLAIMED       

       description: Ethernet controller

       product: RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller

       vendor: Realtek Semiconductor Co., Ltd.

       physical id: 0.1

       bus info: pci@0000:07:00.1

       version: 12

       width: 64 bits

       clock: 33MHz

       capabilities: pm msi pciexpress msix vpd bus_master cap_list

       configuration: latency=0

       resources: ioport:3000(size=256) memory:d1504000-d1504fff memory:d1500000-d1503fff

  *-network UNCLAIMED

       description: Network controller

       product: BCM43142 802.11b/g/n

       vendor: Broadcom Inc. and subsidiaries

       physical id: 0

       bus info: pci@0000:08:00.0

       version: 01

       width: 64 bits

       clock: 33MHz

       capabilities: pm msi pciexpress cap_list

       configuration: latency=0

       resources: memory:d1400000-d1407fff

可以看到,网卡处于UNCLAIMED状态,意味着没有驱动

2)安装驱动

sudo apt install broadcom-sta-dkms

3)手动加载驱动

sudo modprobe wl

modprobe: ERROR: could not insert 'wl': Key was rejected by service

根据控制台显示的结果,查询到这个问题是因为由于安全启动的保护机制,UEFI 安全启动(Secure Boot)功能阻止了驱动加载

4)为驱动签名并注册MOK

1.导入系统生成的密钥:

sudo mokutil --import /var/lib/shim-signed/mok/MOK.der

之后系统会要求你输入一个秘密,记住这个密码

2. 重启电脑:

sudo reboot

3. 电脑重启过程中,屏幕上会出现一个蓝色的 "Perform MOK management" 界面。需要按顺序执行以下步骤:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文