1、异常说明

在前面木子已经讲到了关于显卡驱动及CPU微码补丁更新,今天木子要讲的是关于适配蓝牙及无线网卡设备的驱动问题,它不仅仅适用于新驱动的安装,也适用于驱动异常的修复。默认情况下木子的笔记本安装Deepin Linux后是自带驱动的,只是在折腾的过程中出现异常,所以有了需要修复驱动的过程,下面木子就简单和大家分享一下关于无线网卡和蓝牙设备驱动的那些事情。注:木子的无线网卡和蓝牙设备是在同一个模块上的。

今天发生了一件很奇怪的事情,木子的笔记本启动后发现蓝牙鼠标不可能了,查看控制中心对应的蓝牙管理按钮没有了,让木子很奇怪。重启笔记本也不行,于是开始排除问题,并修复蓝牙设备驱动,在使用的过程中,木子不仅仅出现过蓝牙设备异常的问题,同样也出现过无线网卡设备异常的问题,但木子都是使用相同的方法修复的,在出现异常的情况下,你会发现在控制中心会不存在蓝牙或无线网卡图标的情况。如下图所示:

2、排错过程

1)检测蓝牙服务

首先检测蓝牙服务是否正常启动,检测发现服务是正常启动的,重启服务无法生效。

systemctl status bluetooth

● bluetooth.service - Bluetooth service

Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)

Active: active (running) since Fri 2018-04-13 14:08:38 CST; 30min ago

Docs: man:bluetoothd(8)

Main PID: 829 (bluetoothd)

Status: "Running"

Tasks: 1 (limit: 4915)

CGroup: /system.slice/bluetooth.service

└─829 /usr/lib/bluetooth/bluetoothd

2)检测内核加载模块

查看系统内核加载模块,蓝牙模块是有加载的。

lsmod | grep blue

bluetooth             634880  13 btrtl,hci_uart,btintel,btqca,bnep,btbcm,btusb

ecdh_generic           24576  1 bluetooth

rfkill                 28672  8 bluetooth,dell_laptop,cfg80211

crc16                  16384  2 bluetooth,ext4

3)检测软硬开关

查看系统是否开启软或硬开关,关闭了蓝牙模块,rfkill是Linux内核提供的一个子接口,用于进行 Wi-Fi、 蓝牙、3G和4G设备的开关控制的,结果发现根本没有蓝牙设备。

sudo rfkill list

0: phy0: Wireless LAN

Soft blocked: no

Hard blocked: no

看这情况是没有加载模块成功了。于是想通过modprobe btusb加载一下模块看是否OK,发现加载以后还是不行,卸载内核蓝牙模块rmmod bluetooth再重载蓝牙模块到内核insmod bluetooth也不行。

4)开机日志检测

于是开始检索日志信息,dmesg是用来检测系统开机时的信息的。

dmesg | egrep -i 'blue|firm'

[   14.374064] Bluetooth: HCI UART protocol Marvell registered

[   14.741564] request_firmware: ath10k/pre-cal-pci-0000:02:00.0.bin

[   14.741954] ath10k_pci 0000:02:00.0: firmware: failed to load ath10k/pre-cal-pci-0000:02:00.0.bin (-2)

[   14.741958] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:02:00.0.bin failed with error -2

[   14.741961] request_firmware: ath10k/cal-pci-0000:02:00.0.bin

[   14.741970] ath10k_pci 0000:02:00.0: firmware: failed to load ath10k/cal-pci-0000:02:00.0.bin (-2)

[   14.741972] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/cal-pci-0000:02:00.0.bin failed with error -2

[   14.741974] request_firmware: ath10k/QCA6174/hw3.0/firmware-6.bin

[   14.742930] ath10k_pci 0000:02:00.0: firmware: direct-loading firmware ath10k/QCA6174/hw3.0/firmware-6.bin

[   14.743438] ath10k_pci 0000:02:00.0: firmware ver WLAN.RM.4.4-00022-QCARMSWPZ-2 api 6 features wowlan,ignore-otp crc32 4d458559

[   14.807142] request_firmware: ath10k/QCA6174/hw3.0/board-2.bin

[   14.807740] ath10k_pci 0000:02:00.0: firmware: direct-loading firmware ath10k/QCA6174/hw3.0/board-2.bin

[   55.479518] Bluetooth: BNEP (Ethernet Emulation) ver 1.3

[   55.479519] Bluetooth: BNEP filters: protocol multicast

[   55.479521] Bluetooth: BNEP socket layer initialized

在日志中木子发现了两条错误信息,这两条错误信息很显然在系统启动的时候,驱动加载就有问题了。到找了问题,解决问题就简单了。

5)重装驱动

重装蓝牙驱动,这里要说明的一点是,很多笔记本都是网卡与蓝牙模块一起的,这时候如果没有办法看到蓝牙模块不知道是什么型号,可以通过查看无线模块型号,然后将整个无线模块的驱动更换(其中就包括了蓝牙模块驱动),这样应该就解决问题了。

#查看无线模块型号

lspci | grep Wireless

02:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)

在这里木子可以看到对应的型号是qca6174

#下载对应驱动下载最新的固件并解压缩内容:https://codeload.github.com/kvalo/ath10k-firmware/zip/master

#进入无线驱动目录(不同的无线模块会不一样,但是都在/lib/firmwareh目录下)

cd /lib/firmware/ath10k

#删除原有驱动

rm -rf QCA6174

#复制最新驱动进去

cp -rf /home/liwenbin/Downloads/ath10k-firmware-master/QCA6174 ./

#进入对应目录,重命名驱动模块名称。

cd QCA6174/hw3.0

mv firmware-4.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1 firmware-4.bin

然后关机、重新开机,即可识别蓝牙模块了,这时候蓝牙设备就可以正常工作了。

这时候木子们再查看对应模块已经存在了。

0: hci0: Bluetooth

Soft blocked: no

Hard blocked: no

1: phy0: Wireless LAN

Soft blocked: no

Hard blocked: no

通过对比木子发现,之前的蓝牙模块里面少加载了hidp和rfcomm两个协议。而rfcomm协议就是蓝牙设备的通讯协议,hidp就是基本支持协议。

lsmod | grep blue

bluetooth             634880  48 btrtl,hidp,hci_uart,btintel,btqca,bnep,btbcm,rfcomm,btusb

ecdh_generic           24576  1 bluetooth

rfkill                 28672  8 bluetooth,dell_laptop,cfg80211

crc16                  16384  2 bluetooth,ext4

3、节能控制

刚刚讲到一个关于rfkill的命令,其实通过这个命令可以在必要的时候关闭无线或蓝牙设备,来节约设备用电,以软关闭蓝牙模块为例:

#关闭蓝牙模块

rfkill block 0 #0为设备ID号

#检测是否关闭

rfkill list

0: hci0: Bluetooth

Soft blocked: yes

Hard blocked: no

1: phy0: Wireless LAN

Soft blocked: no

Hard blocked: no

#开启蓝牙模块

rfkill unblock 0

#检测是否开启

rfkill list

0: hci0: Bluetooth

Soft blocked: no

Hard blocked: no

1: phy0: Wireless LAN

Soft blocked: no

Hard blocked: no

4、写在最后

每一台笔记本的无线网卡或蓝牙模块的设备厂商都不一样,但是解决问题的思路和方法是一样的,只是驱动不同而已。木子这里提供三家常用网卡生产厂商的驱动Broadcom、Killer、Realtek的。Broadcom:https://github.com/winterheart/broadcom-bt-firmwareKiller:https://codeload.github.com/kvalo/ath10k-firmware/zip/masterRealtek:https://github.com/lwfinger/rtlwifi_new同样Broadcom驱动存放在/lib/firmware目录下brcm中。对于realtek会有所不同,可以将对应的驱动下载,然后执行以下命令:makesudo make installsudo modprobe rtl8192de

linux解决蓝牙和网卡,完全用Deepin Linux娱乐、工作、学习(3)-- 无线网卡及蓝牙设备驱动篇...相关推荐

  1. linux解决蓝牙和网卡,完全用Deepin Linux娱乐、工作、学习(3)-- 无线网卡及蓝牙设备驱动篇(示例代码)...

    1.异常说明 在前面木子已经讲到了关于显卡驱动及CPU微码补丁更新,今天木子要讲的是关于适配蓝牙及无线网卡设备的驱动问题,它不仅仅适用于新驱动的安装,也适用于驱动异常的修复.默认情况下木子的笔记本安装 ...

  2. linux解决蓝牙和网卡,ax210网卡,蓝牙终于搞定了!

    先发图证明下-- 网卡驱动: deb http://ppa.launchpad.net/vicamo/ppa-1902848.fw/ubuntu focal main deb-src http://p ...

  3. linux文件管理器打不开了,Deepin Linux 15.3桌面版更新系统后文件管理器无法打开解决方案...

    Deepin Linux系统安装文件管理器 背景简介 在Linux众多的发型版中,我个人觉得Deepin Linux是最适合国人的发行版,安装系统之后,自带的软件也足够办公需求了.在2016年的时候, ...

  4. 完全用Deepin Linux娱乐、工作、学习(2)-- 显卡驱动篇

    在前面<完全用Deepin Linux娱乐.工作.学习(1)>一文中,我简单和各位分享了关于Deepin Linux的基础体验.对于Deepin Linux来说其中有它的好也有它的不足,我 ...

  5. linux系统怎么安装钉钉,在deepin linux系统中安装钉钉DingTalk的方法

    本文介绍在深度deepin linux操作系统中安装钉钉DingTalk的方法,安装的版本为官方最新版钉钉,并非web版本.playonlinux重新安装钉钉,发现大部分功能都可以使用,就是无法显示光 ...

  6. linux会自动平板电脑,深度操作系统(Deepin Linux)展示平板概念图 疑似已适配支持触控平板电脑...

    日前第十五届开源中国开源世界高峰论坛顺利召开 , 在论坛上深度科技总经理刘闻欢分享主题为 Linux 桌面而战. 深度科技在会上展示在平板电脑上显示的深度操作系统,尽管目前深度科技并未对有关平板电脑的 ...

  7. linux规定ip使用网卡,使用TC 对LINUX服务器网卡进行带宽限制的办法

    对LINUX服务器网卡进行带宽限制的办法: 1.安装iproute yum -y install iproute 2.限制eth0网卡的带宽为500kbit: /sbin/tc qdisc add d ...

  8. 老毛桃备份linux,一、整合老毛桃PE + Deepin Linux

    打开 **FbinstTool ** 1.6,选择磁盘 U盘 ,打开 ILMT - GRUB - MENU.LST 文件. 71.png 加上 以下一行: title 启动 Deepin linux6 ...

  9. 深度linux安装好上不了网,Deepin Linux 无法上网

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我又用回2008了 LINUX图形界面还是太慢 我的感觉太敏锐 虽然LINUX的图形界面的延迟 从你鼠标发出信号 到XSERVER的视觉呈现也就几百毫秒 ...

  10. 【转】deepin Linux下Picked up _JAVA_OPTIONS错误

    转自百度经验 在deepin linux下安装JDK,编译.执行java程序时出现Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=gasp ...

最新文章

  1. thinkphp5框架一小时搭建一个php后端(1)
  2. AssertionError: Invalid device id 和RuntimeError: CUDA error: invalid device ordinal
  3. android中的xml布局文件如何引用另一个xml布局文件,引用另一个layout.xml文件而不复制它...
  4. 2020智慧零售行业研究报告
  5. Transformer、BERT细节基础知识点
  6. Magento开发文档(二):Magento配置
  7. 08 域控 架构主机 转移_win2000域控迁移至win2008
  8. Java邮件发送:带附件 or 不带附件 is nothing
  9. Qt_ERROR qt闪退 竟然是因为pro文件中的冒出来的\n
  10. windows ip管理之netsetman
  11. 要打仗,你手里先得有张地图:数据治理之元数据管理
  12. STM32仿真器下载配置
  13. sqldevelop 连接数据库,数据库直接写ip
  14. 光盘安装linux系统
  15. Java:如何选择一个好的Java外包合作伙伴?
  16. 计算机键盘清洗怎么弄,笔记本电脑键盘怎么清洗干净(专业户教你清洗键盘简易方法)...
  17. 简要概述服装设计管理
  18. 解决Ubuntu apt安装时连接超时Connection timed out [IP: 2001:67c:1562::16 80]
  19. Screaming Frog SEO Spider 快速入门指南
  20. 年收入过10亿美元,Veeam看好云数据管理

热门文章

  1. JMeter下载安装
  2. 无法读源文件或磁盘_拯救动态磁盘的一些尝试
  3. 删除操作,提示“无法读取源文件或磁盘”,解决办法!
  4. 微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
  5. 远程连接工具Putty 相关
  6. php 签名 bom,PHP与Unicode签名(BOM)
  7. 从一个月2500没人要到大厂技术主管的编程之路|我的十年
  8. 程序员试用期被裁,只给半个月赔偿
  9. 视频教程-Excel函数教程(上)-Office/WPS
  10. Redis RU330课程 Redis Security 第3周学习笔记