Linux驱动.之MT7601,USB-WiFi网卡移植到X210开发板,wpa_supplicant,ap,station(一)

一、移植前

1、下载与解压无线网卡MT7601U驱动源码压缩包

DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2
解压后有如下文件
ate    common   iwpriv_usage.txt  Makefile  mgmt  phy        README_STA_usb     RT2870STA.dat  sta_ate_iwpriv_usage.txt
chips  include  mac               mcu       os    rate_ctrl  RT2870STACard.dat  sta            tools

下载如下开源工具openssl是wpa_supplicant需要的库

openssl-0.9.8za        
wpa_supplicant-2.5
openssl-0.9.8za.tar.gz  
wpa_supplicant-2.5.tar.gz

3、确认无线网卡的硬件信息
在板载系统上使用lsusb命令查看无线网卡的“VID:PID”,分别是厂商ID和产品ID。

还没有插入USB-WIFI时显示的内容

[root@x210v3 ~]# lsusb
Bus 001 Device 001: ID 1d6b:0002
Bus 001 Device 002: ID 05e3:0608

#插入usb-wifi时显示的内容

[  259.833929] usb 1-1.1: New USB device found, idVendor=148f, idProduct=7601
[  259.840211] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  259.847456] usb 1-1.1: Product: 802.11 n WLAN
[  259.852241] usb 1-1.1: Manufacturer: MediaTek
[  259.856163] usb 1-1.1: SerialNumber: 1.0

Bus 001 Device 003: ID 148f:7601,多了这个信息,如下

[root@x210v3 ~]# lsusb  
Bus 001 Device 001: ID 1d6b:0002
Bus 001 Device 002: ID 05e3:0608
Bus 001 Device 003: ID 148f:7601

二、编译驱动源码得到mt7601Usta.ko文件
得到无线网卡的驱动,即mt7601Usta.ko文件。

1、确认USB的VID和PID
在x210_usb-wifi/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/common/rtusb_dev_id.c文件中的rtusb_dev_id[ ]数组里,列出了该驱动所支持的USB的VID和PID。如果USB-WIFI网卡的USB的VID和PID不在该数组中,移植时要添加。

USB_DEVICE_ID rtusb_dev_id[] = {
   
   
#ifdef RT6570
	{
   
   USB_DEVICE(0x148f,0x6570)}, /* Ralink 6570 */
#endif /* RT6570 */
	{
   
   USB_DEVICE(0x148f, 0x7650)}, /* MT7650 */
#ifdef MT7601U
	{
   
   USB_DEVICE(0x148f,0x6370)}, /* Ralink 6370 */
	{
   
   USB_DEVICE(0x148f,0x7601)}, /* MT 6370 */  // 我们的模块就是这个
#endif /* MT7601U */
	{
   
    }/* Terminating entry */
};

2、修改Makefile文件
修改x210_usb-wifi/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/Makefile文件。

(1)注释掉之前的PLATFORM,然后在67行添加“PLATFORM = SMDK”。

//注释掉以下这些代码

#PLATFORM: Target platform
//省略部分代码
#PLATFORM = BLPMP
#PLATFORM = MT85XX
#PLATFORM = MT53XX
#PLATFORM = NXP_TV550
#PLATFORM = MVL5
#PLATFORM = RALINK_3352
#PLATFORM = UBICOM_IPX8
#PLATFORM = INTELP6
#PLATFORM = MSTARTV

//添加下面代码

PLATFORM = SMDK

(2)根据实际情况设置内核源码树的路径、交叉编译工具链路径。如果交叉编译工具链没有export出来的话就要添加绝对路径。

ifeq ($(PLATFORM),SMDK)
#LINUX_SRC = /home/bhushan/itcenter/may28/linux-2.6-samsung
#CROSS_COMPILE = /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-
LINUX_SRC = /home/xjh/iot/embedded_basic/kernel/x210_kernel

#实测得知,就算把交叉编译工具链export出来,写成下面这样也会提示找不到arm-linux-gcc,很奇怪。

#CROSS_COMPILE = arm-linux- 

#要写成下面两种方式

#CROSS_COMPILE = /usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-
CROSS_COMPILE = /usr/local/arm/arm-2009q3/bin/arm-linux-

3、修改无线网卡的名字(可选操作)

1)有线网卡的名字一般叫做eth0、eth1…ethn,无线网卡的名字一般叫做ra0、ra1…ran(或者wlan0、wlan1…wlann)。

(2)修改x210_usb-wifi/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/include/rtmp_def.h文件,如下所示,即可把无线网卡的名字改为“wlan”。

1600 //#ifdef ANDROID_SUPPORT
1601 #define INF_MAIN_DEV_NAME               "wlan"
1602 #define INF_MBSSID_DEV_NAME             "wlan"
1603</
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值