一、准备工作
1. PC/服务器
-
T113-S3 SDK:
Tina-Linux-20231212.tar.gz -
WS73 SDK:
ws73_sdk_linux_ws73_1.10.111.tar.gz -
Docker:用于部署开发容器
使用dev containers进行开发
2. T113-S3开发版
- Ai-WS1-CBE:安信可推出的星闪模组
二、编译T113-S3内核
1. 内核参数配置
进入Tina-Linux目录,执行source build/envsetup.sh,然后运行lunch,选择6. t113_bingpi_m2-tina
随后运行make kernel_menuconfig
配置CFG80211/MAC80211
[!NOTE]
CFG80211是内核中Wi-Fi驱动和用户态进程的标准接口。
在弹出的内核配置菜单,按/打开搜索框

在搜索框中键入80211,回车搜索

按1跳转到对应配置项

选上图中标注的两项
配置USB2.0

同样的方法选上USB2.0
配置Netlink
[!NOTE]
由于wpa_supplicant、hostapd应用采用Netlink技术与Linux内核通信,需要配置Netlink。

选上后回车进入,选上下图两项

配置NAT转发(可选)
[!NOTE]
如果使用SoftAP网络共享功能,需要配置NAT转发功能。

回到上一级,按需选择新增项

2. 编译内核
1 | make |
此/workspaces/t113-sdk/Tina-Linux/out/t113-bingpi_m2/staging_dir/target/host/lib/libglib-2.0.la文件内的dependency_libs、libdir路径为绝对路径,需要手动更改为正确路径。
如果报错Environment variable $SOURCE_DATE_EPOCH: No digits were found: 请在Tina-Linux下使用date +%s > version.date命令,生成当前版本时间。
三、编译WS73
1. 修改文件
ws73_default.config
ws73/build/config/ws73_default.config
1 | WSCFG_CROSS_COMPILE="/workspaces/t113-sdk/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-muslgnueabi-" |
其他不变
oal_kernel_file.h
ws73/driver/wifi/inc/oal/linux/oal_kernel_file.h
1 | OAL_STATIC OAL_INLINE osal_void oal_set_ds(osal_void) |
wal_linux_dfx.c
ws73/driver/wifi/wal/release/linux/wal_linux_dfx.c
1 | static osal_void wal_dfr_open_dev(oal_net_device_stru *netdev) |
2. 编译
在ws73目录下
1 | make |
四、固件烧写及驱动安装
1. T113-S3 固件烧写
如果原固件没有满足内核参数配置的要求
则参考BingPi-M2快速上手_V1.0.pdf中的三、SDK烧写部分
将编译出的tina_t113-bingpi_m2_uart3.img烧录到目标板上
2. WS73固件/驱动拷贝
固件
编译成功后将ws73/firmware/us目录下的固件拷贝到目标板的对应文件夹下
具体目录参照ws73_default.config的以下字段:
1 | # |
驱动
将ws73/output/bin目录下的ws73_cfg.ini拷贝到目标板的对应文件夹下
具体目录参照ws73_default.config的以下字段:
1 | CONFIG_INI_FILE_PATH="/etc/ws73_cfg.ini" |
再将ws73/output/bin目录下的
-
plat_soc.ko:WS73平台驱动模块 -
wifi_soc.ko:WS73WiFi驱动模块 -
ble_soc.ko:WS73蓝牙驱动模块 -
sle_soc.ko:WS73星闪驱动模块
放到目标板的自定目录下,如/lib/modules/5.4.61
五、使用
1. WiFi
创建套接字目录
1 | mkdir -p /var/run/wpa_supplicant && chmod 777 /var/run/wpa_supplicant |
加载驱动
1 | insmod plat_soc.ko |
加载驱动后使用ifconfig -a查看是否出现wlan0网卡
配置WiFi参数
配置wifi参数指的是设置我们要连接的WiFi名称和密码
修改配置文件/etc/wpa_supplicant.conf,填写WiFi名称和密码
1 | vi /etc/wpa_supplicant.conf |
1 | ctrl_interface=/var/lock/wpa_supplicant |
其中的
-
ssid:要连接的WiFi名称 -
psk:要连接的WiFi密码
联网
启用网卡
1 | ifconfig wlan0 up |
启动wpa_supplicant
1 | wpa_supplicant -B -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf -C/var/run/wpa_supplicant |
动态分配ip
1 | udhcpc -i wlan0 |
ping测试
1 | ping baidu.com |
一些命令
1 | #查询网卡状态 |
2. 蓝牙
[!NOTE]
暂未测试
3. 星闪
[!NOTE]
暂未测试
参考
WS73V100 Linux平台驱动移植 用户指南_08.pdf