前言
前不久适配了RTL8852BE模组,趁热记录下验证WIFI/BT功能以及遇到的问题。别急往下看喜欢我的文章可以在公众号右上角设置为星标。
环境准备
PC系统:Windows10
虚拟机:VMware-17
虚拟机系统:Ubuntu-20.04
主控开发板: 飞凌的RK3588
内核: 5.10
系统: ubuntu20.04
无线模组:RTL8852BE
蓝牙协议栈:bluez5.53
模组简介
datasheet里贴的模组简介
RTL8852BE是一款双频WiFi6 WLAN+BTv5.2 Combo的M.2卡
-
支持20/40/80Mhz带宽的双频2T2R模式PCI -
支持802.11ax与OFDMA和MU-MIMO -
双模蓝牙支持:同时LE 和BR/EDR -
蓝牙支持bluetooth v5.2 -
WiFi是PCIE接口,Bluetooth是USB接口
原理图连接
下图是WiFi部分连接图
可以看到WiFi是3.3v供电,用的是PCIE2.0x1_2
下图是Bluetooth部分连接图
由于飞凌开发板原先板载的是AW9098是UART蓝牙,但是RTL8852BE模组用的是USB蓝牙所以我们要飞线到主控的USB2.0控制器网络上,不然蓝牙无法识别
下图是我将原先开发板底板的原理图进行修改,这么修改的话会将原先USB2.0控制器的USB2.0device将无法正常工作,我们只是验证功能
硬件原理图连接已经很清楚,接下来就是刺激紧张的驱动适配上的工作
WiFi适配工作
设备树
将pcie2x110添加进来
&pcie2x1l0 {
reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
vpcie3v3-supply = <&vcc3v3_pcie20>;
status = "okay";
};
驱动
将厂家提供的驱动放在driver/net/wireless/rockchip/目录下 修改Makefile 修改Kconfig 修改defconfig
编译内核得到8852be.ko
WiFi功能验证
首先查看lspci无线网卡是否认到
然后进行驱动加载
insmod 8852be.ko
lsmod可以看到加载成功的8852be.ko
其次ifconfig下可以看到wlan0节点
通过wpa_cli方式进行连接WiFi
/sbin/wpa_supplicant -d -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf -B
wpa_cli -i wlan0 add_network
wpa_cli -i wlan0 set_network 0 ssid '"WPA2_PSK_TEST"'
wpa_cli -i wlan0 set_network 0 key_mgmt WPA2-PSK
wpa_cli -i wlan0 set_network 0 psk '"11111111"'
wpa_cli -i wlan0 enable_network 0
ping百度正常
BT 适配工作
设备树
将usb2.0添加进来
&usb_host0_ehci {
status = "okay";
};
&usb_host0_ohci {
status = "okay";
};
驱动
需要注意的是Realtek的模块,不能使用内核自带的驱动btusb.c,需要使用**Realtek自己的驱动 **rtk_bt.c
如果用内核自带的btusb驱动报的错误日志信息,未识别8852的IC,会导致扫描周边的蓝牙设备扫描不出来
接下来我们使用Realtek的驱动步骤
修改Makefile
修改defconfig
将bluetooth需要加载的固件放在rootfs的/lib/firmware目录下面
Bluetooth功能验证
首先查看lsusb要能识别USB蓝牙
其次查看hciconfig有出来 用bluetoothctl工具进行连接
bluetoothctl
agent on
scan on
pair xx:xx:xx:xx:xx:xx
connect xx:xx:xx:xx:xx:xx
查看连接情况,我连的是我的手机是正常的
总结遇到的问题点
-
1、使用 内核自带的驱动会出现bluetoothctl扫描不出周边的蓝牙设备,需要使用 Realtek自己的驱动 -
2、使用Realtek自己的驱动编译进内核使用bluetoothctl工具会出现No default controller available日志,后来改用编译进模块方式进行调试的 -
3、第一次烧录大包镜像使用bluetoothctl工具会出现No default controller available日志,第一次在脚本里卸载模块在加载模块
作者潘小帅, 是一名Linux底层爱好者,平时写写技术原创文章,徒步,旅游,看电影的爱好,喜欢我的文章可以点赞收藏+关注,感谢你的支持,微信公众号【Linux随笔录】
本文由 mdnice 多平台发布