例程开发板:TQT507 内核版本:4.9.170 本指南旨在为广大TQT507开发板用户提供详细的WiFi和蓝牙使用方法,帮助您轻松实现无线通信功能。 随着物联网技术的不断发展,WiFi和蓝牙已经成为无线通信领域两项重要的技术。而作为具有较高性价比的ARM Cortex-A53开发板,TQT507提供了丰富的硬件资源和完整的软件支持,非常适合进行无线通信相关的应用开发。 在编写本指南时,我们参考了官方文档、开源社区和亲身经验,力求为读者提供全面、系统、易懂的教程,帮助您快速上手并完成您的项目。 驱动加载wifi内核模块驱动文件表:
bluetooth内核模块驱动文件表:
1.1 wifi功能的使用在使用板载wifi和wifi蓝牙模块TQ8821都需要手动加载对应的模块。 core A · insmod /lib/modules/4.9.170/8723ds.ko 拿到TQ8821模块后可以查看芯片表面的模组名称来确定加载的驱动 rtl8723du · insmod /lib/modules/4.9.170/8723du.ko rtl8821cu · insmod /lib/modules/4.9.170/8821cu.ko 1.2 蓝牙功能的使用 在使用板载的蓝牙功能时都需要先执行下面命令 · rtk_hciattach -n -s 115200 /dev/ttySAC1 rtk_h5& 使用wifi蓝牙模块TQ8821的蓝牙功能时,无论是rtl8723du模组,还是8821cu模组都要加载rtk_btusb.ko驱动 · insmod /lib/modules/4.9.170/rtk_btusb.ko wifi连接测试手动测试1.模块上电后,需要手动加载驱动 · insmod /lib/modules/4.9.170/8723ds.ko 模块成功加载: 2.使能wifi网卡: 一般为“wlan0”,除非存在多个wifi模块并都加载了驱动: · ifconfig wlan0 up 无报错表示网卡加载成功。 3.查看网卡是否存在: · ifconfig -a wlan0网卡存在: 4.扫描可连接的wifi: 此处使用的是 wireless tools 工具集里的iwlist工具: · iwlist wlan0 scan | grep ESSID 可以找到要连接的wifi: 5.编辑 WIFI 配置文件/etc/wpa_supplicant.conf,设置待连接的 WIFI 热点 SSID 及密码: · vi /etc/wpa_supplicant.conf 6.使能wifi配置: 加 -B 选项会使wpa_supplicant成为守护进程在后台运行,如果想多次进行调试的话就无法杀死进程,只能重启,因此此处并未加入该选项。 · wpa_supplicant -Dwext -iwlan0 -c /etc/wpa_supplicant.conf & 这里的提示表示已经找到要连接的wifi: 7.连接wifi: · udhcpc -i wlan0 等待wifi连接,如果没报错,则连接成功。 8.查看wifi网卡: · ifconfig -a 已经分配了ip: 9.验证 WIFI 功能是否正常: · ping www.baidu.com 功能正常: 脚本测试在 /test_utils /wifi/ 目录下也集成了便于一键测试的脚本。 1.进入脚本目录: · cd /test_utils /wifi/sta 目录下有两个文件,link.sh为测试脚本,wpa_supplicant.conf为配置文件 2.打开wpa_supplicant.conf配置文件,设置待连接的WIFI 热点 SSID 及密码: · vi ./wpa_supplicant.conf 3.执行link.sh测试脚本: · sh link.sh 等待片刻,连接成功,功能正常: ap热点测试手动测试1.模块上电后,需要手动加载驱动: · insmod /lib/modules/4.9.170/8723ds.ko 模块成功加载: 2.编辑 WIFI 配置文件 /etc/hostapd.conf ,设置待连接的 WIFI 热点 SSID 及密码: · vi /etc/hostapd.conf 热点名称: 3.如果之前使能wifi网卡,需要先关闭: · ifconfig wlan0 down 4.发送热点: · hostapd -B /etc/hostapd.conf -f /var/log/hostap.log 5.配置IP: · ifconfig wlan0 192.168.0.2 6.此时手机可查找到名为 embedsky 的 WIFI 热点,成功连接上热点。 7.以上几步仅仅保证了连接,如何上网还需配置,首先保证板卡 eth0 可以正常联网, 其次将无线网卡 wlan0 的设备传输数据转发到有线网卡eth0 上面。所以需要配置一下路由转发规则,打通数据传输的链路。 执行以下指令: · · · · · · · · · · · · · · · · #设置 linux 系统允许 ip 包转发 echo "1" > /proc/sys/net/ipv4/ip_forward #清除原设置 iptables -F iptables -t nat -F iptables -t mangle -F iptables -X iptables -t nat -X iptables -t mangle -X #设置 filter table 默认原则 iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT #启用 NAT 数据转发功能, iptables -t nat -A POSTROUTING -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; 如果需要转发的是4G网卡,则将最后一句指令修改为: · iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE; 可尝试在手机上关闭移动数据流量,然后浏览器打开网页进行测试网络。 脚本测试在 /test_utils /wifi/ 目录下也集成了便于一键测试的脚本。 1.进入脚本目录: · cd /test_utils/wifi/ap 2.打开hostapd.conf配置文件,设置待连接的WIFI 热点 SSID 及密码: · vi hostapd.conf 热点名称: 3.执行send_ap.sh脚本,创建热点: · bash ./send_ap.sh 4.设置转发: · bash ./iptables_ap.sh 输入0,对eth0网卡进行转发,输入1,对ppp0网卡进行转发: 输入0: 此时手机可查找到名为 embedsky 的 WIFI 热点,成功连接上热点。 可尝试在手机上关闭移动数据流量,然后浏览器打开网页进行测试网络。 蓝牙设备使能USB接口模块使能1.模块上电后,需要手动加载驱动: · insmod /lib/modules/4.9.170/rtk_btusb.ko 模块成功加载: 2 使能蓝牙设备: · hciconfig hci0 up 无报错,蓝牙设备成功使能。3 查看蓝牙设备: · hciconfig -a Bus为USB: UART接口模块使能本例使用板载6223A(rtl8723ds)模块已将蓝牙驱动集成于内核中。1使用hciattach工具启动蓝牙: · rtk_hciattach -n -s 115200 /dev/ttySAC1 rtk_h5& 启动成功: 查看蓝牙设备: · hciconfig -a Bus为UART: 完成设备使能后,开启蓝牙服务: · hciconfig hci0 up 蓝牙扫描测试蓝牙模块设备使能后,可使用 hcitool 工具进行扫描: · hcitool scan 耐心等待扫描完成,此为扫描结果: 也可以使用 bluetoothctl 工具进行扫描: 1.进入 bluetoothctl 终端: · · /usr/libexec/bluetooth/bluetoothd -C -n & bluetoothctl 2.开始扫描 · scan on 此工具扫描到的设备更多: 3.扫描到目标设备后,可以停止扫描: · scan off 目标设备MAC地址为:24:DA:33:6D:F5:4A |
|