本帖最后由 loginforxx 于 2018-7-10 08:42 编辑
感谢米尔科技赠送的IMX6ULL开发板,开发板自带的wifi模块是rtl8188eu模块,不支持5G功能,手上正好有高通的QCA9378 USB接口模块,支持5G和2.4G双频,所以动手移植,高大上的板子,就需要配上高大上的5G。记录移植过程如下:
首先,需要编译开发板的kernel,具体如何设置开发环境及编译,在米尔科技官网下载的资料中有详细介绍,请参考《MYS-6ULX-LinuxDevelopmentGuide_zh.pdf》
make menuconfig 进入配置选项,使能以下选项
Networking support->Wireless-> file:///C:/Users/kaka/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png
file:///C:/Users/kaka/AppData/Local/Temp/msohtmlclip1/01/clip_image001.pngDevice Drivers->Networkdevice support -> Wireless LAN->
file:///C:/Users/kaka/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg 之后,保存配置并编译,编译完成,我们需要的文件共两个 内核镜像./arch/arm/boot/zImage 和dtb文件./arch/arm/boot/dts/mys-imx6ull-14x14-evk-gpmi-weim.dtb 通过TTL转USB串口连接PC与开发板,打开串口调试工具,推荐使用secureCRT或Xshell, 在系统启动阶段按下回车键,进入UBOOT,进行kernel和dtb文件升级 步骤如下: 首先需要设置开发板ip和PC处于同一网段,当然最重要是先连接了网线 设置命令如下 setenv ipaddr 192.168.1.10 setenv serverip 192.168.1.145 setenv ethaddr 00:00:00:01:00:00 saveenv file:///C:/Users/kaka/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png file:///C:/Users/kaka/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png 之后就可以ping通PC 同时PC端打开tftp服务器软件,推荐使用 tftpd64.exe 之后输入以下命令将kernel和dtb文件下载到开发板, tftp 0x80800000 zImage tftp 0x83000000 mys-imx6ull-14x14-evk-gpmi-weim.dtb 最后启动kernel即可 bootz 0x80800000 - 0x83000000 这里并没有将kernel和dtb文件写入flash,所以重新上电之后,数据会恢复到之前的开发板默认带的kernel。如果需要将kerenl更新 到nandflash,那么使用 nand write命令即可。 完成内核之后通过winscp工具将高通的wlan.ko 、 cfg80211.ko、 compat.ko文件下载的开发板的/home目录下 并将驱动的bin文件放置在开发板的/lib/firmware目录下,共4个文件。 完成文件拷贝之后,就可以加载驱动了。 首先查看是否存在USB wifi root@mys6ull14x14:/home/9378# lsusb Bus 001 Device 009: ID 0cf3:9378 Bus 001 Device 002: ID 0424:2422 Bus 001 Device 001: ID 1d6b:0002 其中ID 9378就是本次的QCA9378 USB无线网卡 加载驱动文件: 在wlan.ko的路径下,输入insmod命令进行加载 insmod compat.ko insmod cfg80211.ko insmod wlan.ko 通过lsmod命令查看,驱动已经正常加载 root@mys6ull14x14:/home/9378# lsmod Module Size Used by wlan 3984941 0 cfg80211 219061 1 wlan compat 4562 2 cfg80211,wlan 通过ifconfig wlan0查看wlan接口 root@mys6ull14x14:/home/9378# ifconfig wlan0 wlan0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:192.168.11.1 Bcast:192.168.11.255 Mask:255.255.255.0 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:2 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
最后通过wpa_supplicant命令连接wifi,这里高通的wifi连接使用的命令和米尔开发板提供的有一点不同,现将详细指令及文件贴在下方: 1、 WIFI模块做STA模式: 需要配置文件 wap-sta.conf 内容如下 ctrl_interface=/var/run/wpa_supplicant update_config=1 network={ ssid="yourssid" proto=WPA key_mgmt=WPA-PSK auth_alg=OPEN pairwise=CCMP group=CCMP psk="passwd" } 使用命令 wpa_supplicant -Dnl80211 -iwlanX -c wpa-sta.conf & wlanX X 需要换成对应接口 即wlan0 之后输入以下命令 开启dhcpc udhcpc -b -i wlan0 -R &即可完成wifi连接
2、 WIFI模块做AP模式,
1. Edit the default configuration file hostapd.conf. interface=wlan0 ssid=ref-AP driver=nl80211 hw_mode=g channel=1 auth_algs=3 ieee80211n=1 wpa=3 wpa_passphrase=87654321 wpa_key_mgmt=WPA-PSK wpa_pairwise=CCMP rsn_pairwise=CCMP 需要实现5G只需要更改hw_mode=a channel设置为5G的通道即可
2.Edit /etc/udhcpd.conf start 192.168.11.20 end 192.168.11.254 interface wlan0
3.输入以下命令创建AP udhcpd /etc/udhcpd.conf ifconfig wlan0 192.168.11.1 netmask255.255.255.0 hostapd -dd hostapd.conf &
|