查看: 4022|回复: 1

[i.MX6ULL竞赛专区] 【我的项目666】:米尔开发板移植高通5Gwifi模块

[复制链接]

该用户从未签到

2

主题

4

帖子

0

新手上路

Rank: 1

积分
18
最后登录
2018-7-31
发表于 2018-7-9 16:28:47 | 显示全部楼层 |阅读模式
本帖最后由 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.png
Device 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 &


1.png
2.png
3.png
4.png
5.png
6.png
7.png
8.png
回复

使用道具 举报

该用户从未签到

2

主题

4

帖子

0

新手上路

Rank: 1

积分
18
最后登录
2018-7-31
 楼主| 发表于 2018-7-10 08:39:54 | 显示全部楼层
不太会发帖 将就看吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-4-24 18:45 , Processed in 0.124153 second(s), 20 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表