我移植的板子是讯为的TERMINATOR_V1.1开发板,参考板为官方 i.MX6ULL EVK开发板。
1. 介绍
RTL8723BU是Realtek公司的WiFi蓝牙芯片,内核已经支持了RTL8723BU模块,就不需要我们自己去编写了,只需要简单配置Linux 内核并编译就可以了。
Realtek在Linux内核中的驱动比较通用支持很多WiFi模块,如果追求稳定性最好去下载官方提供专门的RTL8723BU驱动(官方仓库:https://github.com/lwfinger/rtl8723bu.git),直接编译成模块即可使用。
2. 配置Linux内核
2.1 配置支持USB 设备
Device Drivers --->
[*] USB support --->
<*> EHCI HCD (USB 2.0) support
<*> ChipIdea Highspeed Dual Role Controller
[*] ChipIdea device controller
[*] ChipIdea host controller
2.2 配置支持WiFi设备
Device Drivers --->
[*] Network device support --->
[*] Wireless LAN --->
<*> IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)
[*] Support downloading firmware images with Host AP driver
[*] Support for non-volatile firmware download
[*] Realtek devices
<*> Realtek rtlwifi family of devices --->
<*> RTL8723AU/RTL8188[CR]U/RTL819[12]CU (mac80211) support
[*] Include support for untested Realtek 8xxx USB devices (EXPERIMENTAL)
2.3 配置支持IEEE 802.11
[*] Networking support --->
-*- Wireless --->
<*> cfg80211 - wireless configuration API
<*> Generic IEEE 802.11 Networking Stack (mac80211)
2.4 配置支持蓝牙
[*] Networking support --->
<*> Bluetooth subsystem support --->
[*] Bluetooth Classic (BR/EDR) features
<*> RFCOMM protocol support
[*] RFCOMM TTY support
<*> BNEP protocol support
[*] Multicast filter support
[*] Protocol filter support
<*> HIDP protocol support
[*] Bluetooth Low Energy (LE) features
[*] Export Bluetooth internals in debugfs
Bluetooth device drivers --->
<*> HCI USB driver
[*] Realtek protocol support
3. 配置Buildroot
测试使用WiFi和蓝牙需要用到bluez和wpa_supplicant工具,直接从Buildroot中添加这两个工具。
Target packages --->
Networking applications --->
[*] bluez-utils
[*] build tools
[*] install deprecated tools
[*] wireless tools
[*] wpa_supplicant --->
[*] Enable nl80211 support
4. 下载固件
编译完成启动内核,加载WiFi固件和Bluetooth固件失败。
需要下载官方的固件,克隆下面两个仓库找到rtl8723b_config和rtl8723b_fw重命名为rtl8723b_config.bin和rtl8723b_fw.bin,将rtl8723bu_nic.bin、rtl8723b_config.bin和rtl8723b_fw.bin按提示放在/lib/firmware目录下,重启开发板。
git clone https://github.com/lwfinger/rtl8723au_bt.git
git clone https://github.com/lwfinger/rtl8723bu.git
通过这两行打印信息可以看出,Linux内核中RTL8723UB驱动官方没有测试,可以联系Jes.Sorensen@gmail.com。我这里学习使用,对稳定性没有要求,建议使用官方仓库驱动。
5. 测试WiFi
修改/etc/wpa_supplicant.conf文件,配置要连接的WiFi。
#ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
network={
ssid="WiFi名"
psk="密码"
priority=0
}
修改/etc/network/interfaces文件,添加如下配置自动获取IP并连接WiFi。
auto wlan0
iface wlan0 inet dhcp
pre-up wpa_supplicant -B -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf
post-down killall -q wpa_supplicant
重启开发板,可以看到wlan0网卡启动正常,上网正常。由于没有外接天线,延迟和丢包比较严重。
6. 测试蓝牙
使用hciconfig -a查看蓝牙设备,启动蓝牙hciconfig hci0 up。
打开手机蓝牙设为可被发现,使用hcitool scan扫描附件蓝牙设备,l2ping搜索到的设备正常。
文章来源:https://www.toymoban.com/news/detail-454610.html
移植源码获取:文章来源地址https://www.toymoban.com/news/detail-454610.html
git clone https://github.com/Sonboy97/linux.git -b imx
版本:53bd2a7e96d3e9bc03fdf941973d92c5456f339a
git clone https://github.com/Sonboy97/buildroot.git -b imx
版本:4a3d7e910cf862ea4d19710d90a31fe5ac2746eb
到了这里,关于iMX6ULL RTL8723BU WiFi蓝牙模块的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!