一、移植前
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</

最低0.47元/天 解锁文章
2300





