当前位置 博文首页 > kbtx的博客:在Linux上安装蓝牙驱动
本方法在 Deepin 20.04 上成功应用,驱动了一个使用 RTL8761BUV芯片 的蓝牙适配器
实际上方法的可用范围至少可以推广到整个Ubuntu系的Linux系统,根据驱动的说明书,可被驱动的芯片也不仅限于RTL8761BUV
在网上买了一个蓝牙适配器插在台式机上用,发现官方没有提供Linux下的驱动,于是尝试通过芯片名看能不能获取到相关驱动,搜索 RTL8761BUV Linux ,注意到这样一个结果
AUR (en) - rtl8761b-fw
显然这就是Linux官方的驱动,点进去发现source中有一个下载链接
https://mpow.s3-us-west-1.amazonaws.com/mpow_BH519A_driver+for+Linux.7z
这就应该是最新的驱动包了(注意这个地址可能会发生变化,所以关键在于学会操作方法)
下载它并解压到桌面
进入解压目录,发现Readme.txt和Makefile
查阅Readme.txt,发现如下关键内容
如何快速安装
$ sudo make install INTERFACE=all
or
$ sudo make install INTERFACE=usb
or
$ sudo make install INTERFACE=uart
因此在当前终端执行sudo make install INTERFACE=all即可完成驱动安装
驱动支持的其他芯片型号可以定位到关键词 FILENAME LIST 的下方查看
完成后,再次插入适配器,系统托盘区出现了蓝牙图标,可以用了!
我这边连上了鼠标和耳机,一切正常
附上完整的Readme.txt
===============
TITLE
===============
The document describes how to support Realtek Bluetooth UART and USB driver in Linux system.
===============
REQUIREMENT
===============
The supported kernel version is 2.6.32 - 5.7.1
=============================
QUICKLY INSTALL AUTOMATICALLY
=============================
$ sudo make install INTERFACE=all
or
$ sudo make install INTERFACE=usb
or
$ sudo make install INTERFACE=uart
===============
FOR UART I/F
===============
-The default serial protocol of Realtek Bluetooth chip is Three-wire (H5) protocol.
-The default initial baud rate is 115200.
-Installation
To support Three-wire (H5) protocol, you need to install Realtek hci_uart driver
and rtk_hciattach tool.
1. Make sure your UART setting is correct.
host tx - controller rx
host rx - controller tx
host rts - controller cts
host cts - ground
( host cts - controller rts ) // for RTL8822C and RTL8761B
NC - controller rts
2. Install Bluetooth kernel driver and rtk_hciattach tool
$ cd uart
$ sudo make install
3. Copy the right FW file and config file to the correct path.
$ sudo mkdir -p /lib/firmware/rtlbt/
$ sudo cp rtkbt-firmware/lib/firmware/rtlbt/rtl8xxxx_fw /lib/firmware/rtlbt/
$ sudo cp rtkbt-firmware/lib/firmware/rtlbt/rtl8xxxx_config /lib/firmware/rtlbt/
NOTE: PLEASE REFER THE FORWARD SECTION OF FILENAME LIST TO CORRESPONDE THE FW FILENAME AND THE CONFIG FILENAME WITH THE CHIP.
3. Initialize Realtek Bluetooth chip by rtk_hciattach
$ sudo rtk_hciattach -n -s 115200 ttyUSB0 rtk_h5
Tips: ttyUSB0 is serial port name in your system, you should change it
according to hardware such as ttyS0.
-Uninstallation
$ sudo make uninstall
- If you want to change the parameter such as baud rate and pcm settings, you
should modify rtl8xxx_config file.
===============
FOR USB I/F
===============
-Installation
1. Build and install USB driver, change to the driver direcotory
$ cd usb
$ sudo make install
2. Copy the right FW file and config file to the correct path.
$ sudo cp rtkbt-firmware/lib/firmware/rtl8xxxxx_fw /lib/firmware/
$ sudo cp rtkbt-firmware/lib/firmware/rtl8xxxxx_config /lib/firmware/
NOTE: PLEASE REFER THE FORWARD SECTION OF FILENAME LIST TO CORRESPONDE THE FW FILENAME AND THE CONFIG FILENAME WITH THE CHIP.
3. Insert Realtek Bluetooth dongle
Check LMP subversion by the following command
$ hciconfig -a
Now RTK chip can be recognized by the system and bluetooth function can be used.
-Uninstallation
$ sudo make uninstall
===============
FILENAME LIST
===============
Chip I/F FW/Config Path FW Filename Config Filename
for
BT driver
------------------------------------------------------------------------------------------------
RTL8761AUV USB /lib/firmware/ rtl8761au_fw rtl8761a_config
RTL8761AW USB /lib/firmware/ rtl8761aw_fw rtl8761aw_config
(RTL8761AW
+RTL8192EU)
RTL8761AUV USB /lib/firmware/ rtl8761au8192ee_fw rtl8761a_config
+RTL8192EE
RTL8761AUV USB /lib/firmware/ rtl8761au8192ee_fw rtl8761a_config
+RTL8812AE
RTL8761ATV UART /lib/firmware/rtlbt/ rtl8761a_fw rtl8761a_config
RTL8761ATV
+RTL8192EE UART /lib/firmware/rtlbt/ rtl8761at8192ee_fw rtl8761a_config
-----------------------------------------------------------------------------------------------
RTL8761BUV USB /lib/firmware/ rtl8761bu_fw rtl8761bu_config
RTL8761BTV UART /lib/firmware/rtlbt/ rtl8761b_fw rtl8761b_config
-----------------------------------------------------------------------------------------------
RTL8725AU USB /lib/firmware/ rtl8725au_fw rtl8725au_config
RTL8725AS UART /lib/firmware/rtlbt/ rtl8725as_fw rtl8725as_config
-----------------------------------------------------------------------------------------------
RTL8723BU USB /lib/firmware/ rtl8723b_fw rtl8723b_config
RTL8723BE
RTL8723BS UART /lib/firmware/rtlbt/ rtl8723b_fw rtl8723b_config
-----------------------------------------------------------------------------------------------
RTL8821AU USB /lib/firmware/ rtl8821a_fw rtl8821a_config
RTL8821AE
RTL8821AS UART /lib/firmware/rtlbt/ rtl8821a_fw rtl8821a_config
-----------------------------------------------------------------------------------------------
RTL8822BU USB /lib/firmware/ rtl8822bu_fw rtl8822bu_config
RTL8822BE
RTL8822BS UART /lib/firmware/rtlbt/ rtl8822b_fw rtl8822b_config
-----------------------------------------------------------------------------------------------
RTL8723DU USB /lib/firmware/ rtl8723du_fw rtl8723du_config
RTL8723DE
RTL8723DS UART /lib/firmware/rtlbt/ rtl8723d_fw rtl8723d_config
-----------------------------------------------------------------------------------------------
RTL8821CU USB /lib/firmware/ rtl8821cu_fw rtl8821cu_config
RTL8821CE
RTL8821CS UART /lib/firmware/rtlbt/ rtl8821c_fw rtl8821c_config
-----------------------------------------------------------------------------------------------
RTL8822CU USB /lib/firmware/ rtl8822cu_fw rtl8822cu_config
RTL8822CE
RTL8822CS UART /lib/firmware/rtlbt/ rtl8822cs_fw rtl8822cs_config
-----------------------------------------------------------------------------------------------
RTL8723FU USB /lib/firmware/ rtl8723fu_fw rtl8723fu_config
RTL8723FE
RTL8723FS UART /lib/firmware/rtlbt/ rtl8723fs_fw rtl8723fs_config
-----------------------------------------------------------------------------------------------
RTL8852AU USB /lib/firmware/ rtl8852au_fw rtl8852au_config
RTL8852AE
RTL8852AS UART /lib/firmware/rtlbt/ rtl8852as_fw rtl8852as_config
-----------------------------------------------------------------------------------------------
可见平时学习的时候一定要善用帮助文档和官方资料,要是依赖某某博客,效率就不知低到哪去了
cs