龙空技术网

华为MagicBook锐龙版双系统折腾记四:蓝牙

hunnish 246

前言:

现在姐妹们对“蓝牙管理器怎么用”都比较注意,兄弟们都想要分析一些“蓝牙管理器怎么用”的相关资讯。那么小编也在网络上汇集了一些对于“蓝牙管理器怎么用””的相关知识,希望兄弟们能喜欢,咱们一起来了解一下吧!

Deepin15.11 下的蓝牙驱动大概是最坑爹的因素了。这是RELTEK系列DEWIFI和BLUETOOTH二合一网络设备,AMD出品。或许是太新的缘故,AMD官网上没有给出LINUX下的闭源驱动,华为荣耀官网上也没有,既然华为自带的原生Deepin版本驱动好使,为何不把该驱动释放出来?令人百思不得其解。


没办法只好在网络世界中寻找答案,这个答案到现在为止还是不好使,有哪位大侠弄出来,劳烦告知一下。这里把趟过的坑列出来供参考。


先做些准备工作,看看内核:

> uname -a

Linux hunnish-PC 5.3.18-050318-generic #201912181133 SMP Wed Dec 18 16:36:09 UTC 2019 x86_64 GNU/Linux


这个内核已经包含了基本的蓝牙驱动,奈何对这款笔记本不好使:

> lsmod |grep rt

btrtl 20480 1 btusb

bluetooth 577536 31 btrtl,btintel,btbcm,bnep,btusb,rfcomm

rtwpci 24576 0

rtw88 442368 1 rtwpci

mac80211 847872 2 rtwpci,rtw88

cfg80211 712704 2 mac80211,rtw88

parport_pc 40960 0

parport 53248 3 parport_pc,lp,ppdev


查看USB设备:

> sudo cat /sys/kernel/debug/usb/devices

...

...

T: Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0

D: Ver= 2.00 Cls=02(comm.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1

P: Vendor=27c6 ProdID=5110 Rev= 2.00

S: Manufacturer=Shenzhen Goodix Technology Co.,Ltd.

S: Product=Goodix Fingerprint Device

C:* #Ifs= 2 Cfg#= 1 Atr=60 MxPwr=100mA

I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=01 Prot=01 Driver=(none)

E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=16ms

I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)

E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms

E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms


T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 3 Spd=12 MxCh= 0

D: Ver= 1.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1

P: Vendor=1358 ProdID=c123 Rev= 0.00

S: Manufacturer=Realtek

S: Product=Bluetooth Radio

S: SerialNumber=00e04c000001

C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=500mA

I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms

E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms

E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms

I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms

E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms

I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms

E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms

I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms

E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms

I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms

E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms

I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms

E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms

I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms

E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms

...

发现是有蓝牙设备的,而且还有Shenzhen Goodix(汇顶科技)的指纹。这两个功能在Linux下都是心中的痛。


首先安装 bluetooth 和blueman,启动蓝牙管理器:

> sudo apt-get install bluetooth blueman

但启动管理器后,蓝牙设备无法配对。

怀疑是驱动不够新,再次下载最新的驱动:

> git clone -b rtw88

> cd rtlwifi_new

> make

> sudo make install

此方法安装rtw88驱动后,蓝牙问题依然没有解决,而且WIFI网络链接认证出问题,即使输入原先正确的wifi密码,也还总是提示密码不对,卸载这个驱动,则恢复正常。


直接下载最新的 btusb.c , 然后编译:

1. 下载 btusb.c 和三个头文件:btbcm.h、btintel.h、btrtl.h, 放到同一个文件夹中

2. 创建一个Makefile文件(注意M大写):

> vim Makefile

写入下面内容:

obj-m := btusb.o

KDIR := /lib/modules/$(shell uname -r)/build

PWD := $(shell pwd)

default:

$(MAKE) -C $(KDIR) M=$(PWD) modules

3. 编辑btusb.c,在下面内容前面:


/* Silicon Wave based devices */

{ USB_DEVICE(0x0c10, 0x0000), .driver_info = BTUSB_SWAVE },

添加8822CE的定义:

/* Additional Realtek 8822CE Bluetooth devices */

{ USB_DEVICE(0x04ca, 0x4005), .driver_info = BTUSB_REALTEK },

4. 编译:

> make

5. 安装编译好的模块 (btusb.ko) :

> sudo make -C /usr/src/linux-headers-$(uname -r) M=$(pwd) modules_install

6. 运行:

>sudo depmod -a

这样操作后,问题也没有解决。


最后下载最新的内核5.5.1,查阅里面的btusb.c,发现已经支持 RTK8822CE。直接将蓝牙驱动加到内核中,进入源码目录:

> make menuconfig

启动配置界面:


勾选bluetooth的各个项,然后保存退出。再花大半天时间编译内核,然后重启,结果蓝牙功能还是不行。


看来这个问题要么REALTEK解决,要么华为来解决。查阅网上资料,有朋友能够解决,但不知是怎么就弄出来,现在可爱的蓝牙鼠标、很酷指纹登录、方便的手机一碰即传等功能,都只能在win10下体验了。期待华为花点精力来解决这个问题。


标签: #蓝牙管理器怎么用