注意:移动热点尽量选择安卓手机开的,多次测评apple手机热点不行
1.USB WIFI 驱动
瑞芯微内部已经做了很多 USB WIFI 驱动
进入到内核(make menucnofig ARCH=arm)
Device Drivers --->
[*] Network device support --->
[*] Wireless LAN --->
<*> Rockchip Wireless LAN support --->
[*] Realtek Wireless Device Driver Support --->
其中 M 叫做模块,最终生成的文件后缀是.ko 需要在开发板中加载,硬件才可以使用;*叫做静态编译,即该驱
动直接编译到内核,内核启动后该驱动自动执行
2. USB WIFI 配网
USB WIFI 驱动加载后 不管 USB WIFI 有没有使能,你都可以通过 ifconfig -a 来查看 USB WIFI 网卡(wlan0)
1》开启/关闭 WIFI
ifconfig wlan0 up -- 开启 WIFI
ifconfig wlan0 down -- 关闭 WIFI
2》默认 wifi 都是通过配置文件 链接网络的
配置文件位置: /etc/
wifi 的联网配置文件叫做 wpa_supplicant.conf 即 /etc/wpa_supplicant.conf
3》通过联网指令链接 WIFI
wpa_supplicant -D wext -c /etc/wpa_supplicant.conf -i wlan0 &
出现 wlan0: CTRL-EVENT-CONNECTED 的时候 代表 WIFI 链接成功
注意:链接成功不会主动分配可用 IP,需要网卡自己请求!
4》请求路由器分配一个可用的 IP
udhcpc -i wlan0
完成!!!
若 wifi 移植成功之后若出现如下错误
ifconfig: SIOCSIFFLAGS: Operation not possible due to RF-kill
解决方案
1》修改 buildroot 配置文件
vim buildroot/configs/rockchip_rv1126_rv1109_defconfig
buildroot 配置修改如下配置并保存:
BR2_PACKAGE_IPC_DAEMON = n
BR2_PACKAGE_NETSERVER = n
BR2_PACKAGE_CONNMAN = n
BR2_PACKAGE_DHCPCD = y //这个选项率 1126 没有 可以不管 不用新增
删掉中间文件: 中间文件若没产生则不操作
buildroot/output/rockchip_rv1126_rv1109_spi_nand/target/etc/init.d/S45connman
buildroot/output/ rockchip_rv1126_rv1109_spi_nand/target/usr/bin/connmanctl
buildroot/output/ rockchip_rv1126_rv1109_spi_nand/target/usr/sbin/connmand
2》修改 SDK 顶层目录下 app 中源码
位置 app/netserver/main.c
在 main 函数开始的位置加上
return 0;
让 main 函数里的所有内容不执行
3》修改内核驱动源代码
位置 kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_gpio.c
#else
host_oob_irq_flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE | IORESOURCE_IRQ_SHAREABLE;
#endif
host_oob_irq_flags = 0x4;//此行内容为新增内容
dhd_wlan_resources[0].start = dhd_wlan_resources[0].end = host_oob_irq;
dhd_wlan_resources[0].flags = host_oob_irq_flags;