20260421给万象奥科的开发板HD-RK3576-PI适配瑞芯微原厂的Buildroot时调通AP6256【ko模块形式】
本文主要记录了在HD-RK3576-PI开发板上调试AP6256 WiFi模块的过程。通过修改内核配置,将驱动程序从内置改为模块形式(ko文件),最终成功生成wlan0和wlan1两个设备节点,实现了AP+STA双模式功能。调试过程中涉及内核编译配置修改、DTS文件合并、模块加载验证等关键步骤,并使用iperf3测试获得127Mbps的传输速率。整个过程展示了嵌入式Linux系统下无线网卡驱动的移
cat /sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/pinmux-pins
cat /sys/kernel/debug/gpio
用户名/密码:root/root
DTS来自,kernel-pi-v1.0.tar.gz(226.7MB)
https://vanxoak.yuque.com/wb353n/hd-rk3576-pi/mg1yh7k1hgmmgtew
开发资料下载
https://vanxoak.yuque.com/wb353n/hd-rk3576-pi/amue52kesw19pqpg#NoWhJ
与PC互传文件【使用WinSCP即可!】
在此介绍一下MobaXterm SFTP传输的一种简单方法:
https://vanxoak.yuque.com/wb353n/hd-rk3576-pi/zw4xqc5ixduxhm13#v5uOq
音频测试
1.音频硬件分布
2.音频控件
3.耳机播音测试
root@hd-rk3576:~# aplay kiss8.wav
Playing WAVE 'kiss8.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
root@hd-rk3576:~# apt update
root@hd-rk3576:~# apt install mpg123
root@hd-rk3576:~# mpg123 wenbie.mp3
root@hd-rk3576:~# apt install sox libsox-fmt-all
root@hd-rk3576:~# play wenbie.mp3
root@hd-rk3576:~# iperf3 -s
C:\iperf3.21>iperf3 -c 192.168.1.182 -i 1 -t 1800
Y:\git_RK3576_Linux6.1\kernel-6.1\arch\arm64\configs\rockchip_linux_defconfig
将万象奥科官方给的内核压缩包的kernel-pi-v1.0.tar.gz中的DTS析取WIFI/BT的代码块之后
Y:\rk3576-kernel\kernel-pi-v1.0\arch\arm64\boot\dts\rockchip72min\rk3576-pi-lp4x-wifibt.dtsi
合并在:
Y:\git_RK3576_Linux6.1\kernel-6.1\arch\arm64\boot\dts\rockchip\rk3576-evb.dtsi
Y:\git_RK3576_Linux6.1\kernel-6.1\arch\arm64\boot\dts\rockchip\rk3576-evb1.dtsi
20260421给万象奥科的开发板HD-RK3576-PI适配瑞芯微原厂的Buildroot时调通AP6256【ko模块形式】
2026/4/21 18:07
缘起:通过ko模块形式调通AP6256,会生成wlan0/wlan1这2个设备节点【AP+STATION模式】
1、将AP6256模块的额驱动程序编译进内核boot.img,只有wlan0一个设备节点!
root@rk3576-buildroot:/#
root@rk3576-buildroot:/#
root@rk3576-buildroot:/# ifconfig
eth0 Link encap:Ethernet HWaddr 76:7A:BA:CB:6C:9C
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:58
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:40 errors:0 dropped:0 overruns:0 frame:0
TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2432 (2.3 KiB) TX bytes:2432 (2.3 KiB)
wlan0 Link encap:Ethernet HWaddr 9C:B8:B4:36:53:1E
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:270 (270.0 B)
root@rk3576-buildroot:/#
root@rk3576-buildroot:/#
root@rk3576-buildroot:/# lsmod
Module Size Used by Not tainted
root@rk3576-buildroot:/#


2、确认将AP6256模块的额驱动程序编译进内核:
Y:\git_RK3576_Linux6.1\kernel-6.1\drivers\net\wireless\rockchip_wlan\rkwifi\bcmdhd\.dhd_linux.o.cmd
Y:\rk3576-kernel\kernel-pi-v1.0\drivers\net\wireless\rockchip_wlan\rkwifi\bcmdhd\.dhd_linux.o.cmd

3、还原为ko模块形式:
Y:\git_RK3576_Linux6.1\kernel-6.1\arch\arm64\configs\rockchip_linux_defconfig
CONFIG_WL_ROCKCHIP=y
# CONFIG_WIFI_BUILD_MODULE is not set
CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP=y
CONFIG_AP6XXX=y
CONFIG_INPUT_FF_MEMLESS=y
修改为:
CONFIG_WL_ROCKCHIP=y
CONFIG_WIFI_BUILD_MODULE=y
CONFIG_AP6XXX=m
CONFIG_INPUT_FF_MEMLESS=y
4、重新编译:
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1$
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1$
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1$ ll
total 30472
-rwxrwxr-x 1 rootroot rootroot 0 1月 20 15:28 ''$'\001\320'*
drwxrwxr-x 36 rootroot rootroot 4096 4月 21 18:26 ./
drwxr-x--- 32 rootroot rootroot 12288 4月 21 18:17 ../
drwxrwxr-x 7 rootroot rootroot 4096 1月 20 15:28 app/
drwxrwxr-x 19 rootroot rootroot 4096 4月 21 18:26 buildroot/
lrwxrwxrwx 1 rootroot rootroot 39 1月 20 15:28 build.sh -> device/rockchip/common/scripts/build.sh*
lrwxrwxrwx 1 rootroot rootroot 22 1月 20 15:28 common -> device/rockchip/common/
lrwxrwxrwx 1 rootroot rootroot 21 1月 20 15:28 Copyright_Statement.md -> docs/licenses/LICENSE*
drwxrwxr-x 9 rootroot rootroot 4096 1月 20 15:29 debian/
drwxrwxr-x 3 rootroot rootroot 4096 1月 20 15:29 device/
drwxrwxr-x 7 rootroot rootroot 4096 1月 20 15:29 docs/
drwxrwxr-x 34 rootroot rootroot 4096 1月 20 15:30 external/
drwxrwxr-x 10 rootroot rootroot 4096 1月 20 15:30 hal/
drwxrwxr-x 2 rootroot rootroot 4096 1月 23 16:49 Image01原始/
drwxrwxr-x 2 rootroot rootroot 4096 3月 6 19:38 Image02刷进去了-陶老板的板子/
drwxrwxr-x 2 rootroot rootroot 4096 3月 6 19:48 Image03让陶老板的板子HDMI显示/
drwxrwxr-x 2 rootroot rootroot 4096 3月 7 18:20 Image04适配K7修改内存文件/
drwxrwxr-x 2 rootroot rootroot 4096 4月 9 19:38 Image11尝试圣象奥科/
drwxrwxr-x 2 rootroot rootroot 4096 4月 9 11:14 Image51直接使用DTS万象奥科/
drwxrwxr-x 2 rootroot rootroot 4096 4月 9 20:57 Image52增加es8388声卡/
drwxrwxr-x 2 rootroot rootroot 4096 4月 20 14:01 Image53配置5次AP6256关闭PCIE1/
drwxrwxr-x 2 rootroot rootroot 4096 4月 20 20:14 Image54打开ll/
drwxrwxr-x 2 rootroot rootroot 4096 3月 13 17:54 Image61适配以太网卡/
drwxrwxr-x 2 rootroot rootroot 4096 3月 13 18:50 Image62找以太网卡的reset的冲突复用/
drwxrwxr-x 2 rootroot rootroot 4096 3月 14 18:21 Image65尝试es8388/
drwxrwxr-x 2 rootroot rootroot 4096 3月 14 18:39 Image66继续适配es8388/
drwxrwxr-x 2 rootroot rootroot 4096 3月 14 19:47 Image67更新声卡es8388的GPIO冲突了/
drwxrwxr-x 2 rootroot rootroot 4096 3月 14 19:58 Image68更新GPIO冲突/
drwxrwxr-x 2 rootroot rootroot 4096 3月 12 09:16 Image81适配K7/
lrwxrwxrwx 1 rootroot rootroot 10 1月 20 15:30 kernel -> kernel-6.1/
drwxrwxr-x 26 rootroot rootroot 4096 4月 21 18:26 kernel-6.1/
drwxrwxr-x 11 rootroot rootroot 4096 1月 20 15:30 live-build/
lrwxrwxrwx 1 rootroot rootroot 31 1月 20 15:28 Makefile -> device/rockchip/common/Makefile*
drwxrwxr-x 9 rootroot rootroot 4096 4月 21 18:26 output/
drwxrwxr-x 3 rootroot rootroot 4096 1月 20 15:30 prebuilts/
lrwxrwxrwx 1 rootroot rootroot 32 1月 20 15:28 README.md -> device/rockchip/common/README.md*
drwxrwxr-x 10 rootroot rootroot 4096 1月 20 15:30 repo/
drwxrwxr-x 9 rootroot rootroot 4096 4月 21 18:18 rkbin/
drwxrwxr-x 9 rootroot rootroot 4096 3月 6 19:46 rkbin2/
-rwx------ 1 rootroot rootroot 31020561 3月 7 17:38 rkbin.tgz*
lrwxrwxrwx 1 rootroot rootroot 41 1月 20 15:30 rkflash.sh -> device/rockchip/common/scripts/rkflash.sh*
lrwxrwxrwx 1 rootroot rootroot 15 4月 21 18:26 rockdev -> output/firmware/
drwxrwxr-x 14 rootroot rootroot 4096 1月 20 15:31 rtos/
-rwxrwxr-x 1 rootroot rootroot 20928 1月 20 15:31 szsqykjyxgs_14088.x*
drwxrwxr-x 5 rootroot rootroot 4096 1月 20 15:31 tools/
drwxrwxr-x 27 rootroot rootroot 4096 4月 21 18:18 u-boot/
drwxrwxr-x 8 rootroot rootroot 4096 1月 20 15:31 yocto/
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1$
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1$
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1$ cd kernel-6.1/
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1/kernel-6.1$
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1/kernel-6.1$ make distclean
CLEAN certs
CLEAN drivers/firmware/efi/libstub
CLEAN drivers/misc/lkdtm
CLEAN drivers/scsi
CLEAN drivers/tty/vt
fatal: not a git repository (or any of the parent directories): .git
CLEAN fs/unicode
CLEAN init
CLEAN kernel
CLEAN lib
CLEAN net/wireless
CLEAN usr
CLEAN .
CLEAN vmlinux.symvers modules.builtin modules.builtin.modinfo .vmlinux.export.c
CLEAN scripts/basic
CLEAN scripts/dtc
CLEAN scripts/kconfig
CLEAN scripts/mod
CLEAN scripts
CLEAN include/config include/generated .config .config.old .version Module.symvers
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1/kernel-6.1$
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1/kernel-6.1$
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1/kernel-6.1$ ll *.img
-rw-rw-r-- 1 rootroot rootroot 41852416 4月 21 18:23 boot.img
-rw-rw-r-- 1 rootroot rootroot 325120 4月 21 18:26 resource.img
-rw-rw-r-- 1 rootroot rootroot 18145280 4月 21 18:23 zboot.img
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1/kernel-6.1$
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1/kernel-6.1$ rm *.img
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1/kernel-6.1$
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1/kernel-6.1$ ll *.img
ls: cannot access '*.img': No such file or directory
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1/kernel-6.1$ cd ..
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1$
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1$ ll *.sh
lrwxrwxrwx 1 rootroot rootroot 39 1月 20 15:28 build.sh -> device/rockchip/common/scripts/build.sh*
lrwxrwxrwx 1 rootroot rootroot 41 1月 20 15:30 rkflash.sh -> device/rockchip/common/scripts/rkflash.sh*
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1$
rootroot@rootroot-HP-245-14-inch-G10-Notebook-PC:~/git_RK3576_Linux6.1$ ./build.sh


5、确认将AP6256模块的驱动程序编译成为【ko模块形式】:
Y:\git_RK3576_Linux6.1\kernel-6.1\drivers\net\wireless\rockchip_wlan\rkwifi\bcmdhd\.bcmdhd.ko.cmd
Y:\git_RK3576_Linux6.1\kernel-6.1\drivers\net\wireless\rockchip_wlan\rkwifi\bcmdhd\bcmdhd.ko


6、刷机确认:
root@rk3576-buildroot:/#
root@rk3576-buildroot:/#
root@rk3576-buildroot:/# ifconfig
eth0 Link encap:Ethernet HWaddr 76:7A:BA:CB:6C:9C
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:58
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:576 (576.0 B) TX bytes:576 (576.0 B)
wlan0 Link encap:Ethernet HWaddr 9C:B8:B4:36:53:1E
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:356 (356.0 B)
wlan1 Link encap:Ethernet HWaddr 9E:B8:B4:36:53:1E
inet6 addr: fe80::9cb8:b4ff:fe36:531e/64 Scope:Link
inet6 addr: fe80::e2c:dec8:6502:f822/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:2098 (2.0 KiB)
root@rk3576-buildroot:/#
root@rk3576-buildroot:/#
root@rk3576-buildroot:/# lsmod
Module Size Used by Tainted: G
bcmdhd 1449984 0
root@rk3576-buildroot:/#

7、完整的LOG:
参考资料:
https://blog.csdn.net/wb4916/article/details/154427752?spm=1011.2415.3001.5331
20251105让AIO-3576Q38开发板跑Rockchip的原厂Android14适配AP6256的WIFI【使用天启的DTS】
https://blog.csdn.net/wb4916/article/details/157510653?spm=1011.2415.3001.5331
20260129让天启AIO-3576Q38开发板跑原厂的Buildroot测试AP6256的WIFI部分【使用天启Firefly的DTS】实测网速127Mbits/sec
更多推荐
所有评论(0)