imx6ull上驱动MT7601U无线网卡

开发环境:ubuntu 18.04

硬件平台:imx6ull mini野火开发板

 

查看内核信息

uname -a

说明:因为自linux4.2版本以后,mt7601u的驱动已经集成在kernel的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中,之前使用linux内核为4.1.15的版本移植mt7601u驱动的时候,加载mt7601Usta.ko驱动老是报错,所以在这用野火提供的linux新内核版本4.19.71源码编译生成。

(1)首先进入野火提供的linux-4.19.71内核源码文件夹中执行,最好先编译一次内核

./make_deb.sh
make menuconfig KCONFIG_CONFIG=arch/arm/configs/npi_v7_defconfig ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

(2)然后进入Device Drivers —>Network device support-> Wireless LAN -> MediaTek devices 选中MediaTek MT7601U(USB) support选项

(3)配置完成后选择 save 保存,再运行./make_deb.sh 脚本即可以新的配置编译内核,源码目录下的 build_image 路径下重新生成linux-image-4.19.71-imx-r1_1stable_armhf.deb  内核安装包

./make_deb.sh

(4)克隆ebf-image-builder项目镜像,等待克隆完成后,用上面编译出来的内核安装包替换Kernel 目录下的内核安装包 (linux-image-4.19.71-imx-r1_1stable_armhf.deb)。

git clone https://gitee.com/Embedfire/ebf-image-builder.git

(5)进入 ebf-image-builde 项目源码目录下,直接执行编译脚本,直至编译完成,生成imx6ull-debian-buster-console-armhf-2021-xx-xx-2gb.img镜像文件

cd ebf-image-builder
sudo ./publish/seeed-imx-stable.sh lite

(6)将imx6ull-debian-buster-console-armhf-2021-xx-xx-2gb.img镜像烧录到SD卡,开发板以SD卡启动方式启动,即可启动开发板。

(7)开发板启动后,查看是否存在MT7601U驱动

ifconfig -a

判断网卡是否在Linux下免驱,若出现wlan0开头的网卡名称,一般就是新增的无线网卡。可以在插入网卡前执行一次ifconfig -a,插入网卡后再执行一次命令,对比前后差异。

如果出现ifconfig: command not found,则先安装net-tools软件包

sudo apt-get install net-tools

其它判断方法

也可以用iwconfig命令,查看当前无线网卡信息。

iwconfig

同样的,如果出现iwconfig: command not found,需要安装wireless-tools这个包。

sudo apt-get install wireless-tools

如果编译安装了无线网卡驱动并重启后仍然无法正常使用网卡,可以通过

dmesg

查看驱动加载的详细信息,在这,截图可以看出mt7601u已正常启动。

另外,USB无线网卡的型号,通过lsusb命令查看

sudo apt-get install usbutils
lsusb

正常会显示类似 Bus 001 Device 003: ID 148f:760b Ralink Technology, Corp. MT7601U Wireless Adapter 相关信息

 

(8)输入“wpa_supplicant -v”命令查看一下 wpa_supplicant 版本号,如果 wpa_supplicant 工作正常的话就会打印出版本号,如果找不到命令,则安装它

sudo apt-get install wireless-tools
sudo apt-get install iw
sudo apt-get install wpasupplicant

(9)编辑 /etc/wpa_supplicant/wpa_supplicant.conf文件,添加以下内容

ctrl_interface=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
 ssid="TP-LINK-XXX"
 psk="xxxxxxxx"
}

ssid 是要连接的 WIFI 名称,psk 就是要连接的 WIFI 密码,根据实际情况填写。

注意:wpa_supplicant.conf 文件对于格式要求比较严格,“=”前后一定不能有空格,也不要用 TAB 键来缩进,比如第 4 行和 5 行的缩进应该采用空格,否则的话会出现 wpa_supplicant.conf文件解析错误。wpa_supplicant.conf 文件内容要自己手动输入,不要偷懒复制粘贴!

 

(10)wpa_supplicant.conf 文件编写好后,再在开发板根文件系统下创建一个“/var/run/wpa_supplicant”目录,wpa_supplicant 工具要用到此目录,命令如下:

sudo mkdir /var/run/wpa_supplicant -p

一切准备好以后就可以使用 wpa_supplicant 工具让MT7601U USB WIFI 连接到wifi上,输入如下命令:

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

当 MT7601U 连接上 WIFI 热点以后,连接成功会输出“wlan0: CTRL-EVENT-CONNECTED”字样,详细信息如下:

debian@npi:~$ Successfully initialized wpa_supplicant                           
rfkill: Cannot open RFKILL control device                                       
ioctl[SIOCSIWENCODEEXT]: Invalid argument                                       
ioctl[SIOCSIWENCODEEXT]: Invalid argument                                       
wlan0: Trying to associate with f4:ee:14:2c:e4:58 (SSID='TP-LINK_888' freq=2412)
Failed to add supported operating classes IE                                    
wlan0: Associated with f4:ee:14:2c:e4:58                                        
wlan0: WPA: Key negotiation completed with f4:ee:14:2c:e4:58 [PTK=CCMP GTK=CCMP]
wlan0: CTRL-EVENT-CONNECTED - Connection to f4:ee:14:2c:e4:58 completed [id=0 i]

 

(11)接下来就是最后一步了,设置 wlan0 的 IP 地址,这里使用 udhcpc 命令从路由器申请 IP 地址,输入如下命令:

sudo udhcpc -i wlan0      //从路由器获取 IP 地址

IP地址获取成功以后,会输出以下信息:

debian@npi:~$ sudo udhcpc -i wlan0 
udhcpc: started, v1.30.1
udhcpc: sending discover
wlan0: Trying to associate with f4:ee:14:2c:e4:58 (SSID='TP-LINK_888' freq=2412 MHz)
Failed to add supported operating classes IE                                             
wlan0: Associated with f4:ee:14:2c:e4:58                                                 
wlan0: WPA: Key negotiation completed with f4:ee:14:2c:e4:58 [PTK=CCMP GTK=CCMP]         
wlan0: CTRL-EVENT-CONNECTED - Connection to f4:ee:14:2c:e4:58 completed [id=0 id_str=]   
udhcpc: sending discover                                                                 
udhcpc: sending select for 192.168.1.108                                                 
udhcpc: lease of 192.168.1.108 obtained, lease time 7200                                 
debian@npi:~$ 

wlan0 的 IP 地址获取成功,IP 地址为 192.168.1.108。可以输入如下命令查看一下 wlan0 网卡的详细信息:

sudo ifconfig wlan0

可以通过电脑 ping 一下 wlan0 的 192.168.1.108 这个 IP 地址,如果能 ping 通就说明 MT7601U USB WIFI 工作正常。也可以直接在开发板上使用 wlan0 来 ping 一下百度网站,输入如下命令:

ping -I 192.168.1.108 www.baidu.com

-I 是指定执行 ping 操作的网卡 IP 地址,我们要使用 wlan0 去 ping 百度网站,因此要通过“-I”指定 wlan0 的 IP 地址。如果 WIFI 工作正常的话就可以 ping 通百度网站。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值