注意:移动热点尽量选择安卓手机开的,多次测评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 --->

USB WIFI驱动_配置文件

其中 M 叫做模块,最终生成的文件后缀是.ko 需要在开发板中加载,硬件才可以使用;*叫做静态编译,即该驱

动直接编译到内核,内核启动后该驱动自动执行

USB WIFI驱动_加载_02

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

USB WIFI驱动_配置文件_03

3》通过联网指令链接 WIFI

wpa_supplicant -D wext -c /etc/wpa_supplicant.conf -i wlan0 &

出现 wlan0: CTRL-EVENT-CONNECTED 的时候 代表 WIFI 链接成功

USB WIFI驱动_IP_04

注意:链接成功不会主动分配可用 IP,需要网卡自己请求!

4》请求路由器分配一个可用的 IP

udhcpc -i wlan0

完成!!!

若 wifi 移植成功之后若出现如下错误

ifconfig: SIOCSIFFLAGS: Operation not possible due to RF-kill

USB WIFI驱动_配置文件_05

解决方案

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;

4》重新整体编译 SDK 烧写镜像