设为首页 加入收藏

TOP

嵌入式Linux USB WIFI驱动的移植(一)
2014-11-24 08:14:55 来源: 作者: 【 】 浏览:2
Tags:嵌入式 Linux USB WIFI 驱动 移植

硬件平台:飞思卡尔MX258开发板


操作系统:Linux2.6.31


WIFI RT2860 USB WIFI模组


交叉编译环境:gcc version 4.1.2



调试步骤:


第一步:测试USB HOST接口


menuconfig中将USB HOST设置为内核模式:




重新编译内核后启动开发板,插入U盘并挂载:


mount /dev/sda1 /tmp


ls /tmp


可以看到U盘已经正常挂载,测试USB HOST OK!


第二步:网上下载雷凌最新的USB驱动,


2011_0107_RT3070_RT3370_Linux_STA_v2[1].5.0.1_DPO.tar.bz2


拷备到Linux目录并解压:


tar jxf 2011_0107_RT3070_RT3370_Linux_STA_v2[1].5.0.1_DPO.tar.bz2


由于上面名字很长,可以修改为简短的名字:


mv 2011_0107_RT3070_RT3370_Linux_STA_v2[1].5.0.1_DPO RT3070_Linux_STA


第三步:进入RT3070_Linux_STA目录,看到有一个README_STA_usb文件,里面介绍了如何加载该驱动:


=======================================================================


Build Instructions:


====================



1> $tar -xvzf DPB_RT2870_Linux_STA_x.x.x.x.tgz


go to "./DPB_RT2870_Linux_STA_x.x.x.x" directory.



2> In Makefile


set the "MODE = STA" in Makefile and chose the TARGET to Linux by set "TARGET = LINUX"


define the linux kernel source include file path LINUX_SRC


modify to meet your need.



3> In os/linux/config.mk


define the GCC and LD of the target machine


define the compiler flags CFLAGS


modify to meet your need.


** Build for being controlled by NetworkManager or wpa_supplicant wext functions


Please set 'HAS_WPA_SUPPLICANT=y' and 'HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y'.


=> #>cd wpa_supplicant-x.x


=> #>./wpa_supplicant -Dwext -ira0 -c wpa_supplicant.conf -d


** Build for being controlled by WpaSupplicant with Ralink Driver


Please set 'HAS_WPA_SUPPLICANT=y' and 'HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n'.


=> #>cd wpa_supplicant-0.5.7


=> #>./wpa_supplicant -Dralink -ira0 -c wpa_supplicant.conf -d



4> $make


# compile driver source code


# To fix "error: too few arguments to function ˉiwe_stream_add_event"


=> $patch -i os/linux/sta_ioctl.c.patch os/linux/sta_ioctl.c



5> $cp RT2870STA.dat /etc/Wireless/RT2870STA/RT2870STA.dat



6> load driver, go to "os/linux/" directory.


#[kernel 2.4]


# $/sbin/insmod rt2870sta.o


# $/sbin/ifconfig ra0 inet YOUR_IP up



#[kernel 2.6]


# $/sbin/insmod rt2870sta.ko


# $/sbin/ifconfig ra0 inet YOUR_IP up



7> unload driver


$/sbin/ifconfig ra0 down


$/sbin/rmmod rt2870sta


这里go to "./DPB_RT2870_Linux_STA_x.x.x.x" directory.即我们刚解压的RT3070_Linux_STA目录。修改该目录下的makefile文件,以下只给出修改部分:


#PLATFORM = PC


PLATFORM = RALINK_2880



ifeq ($(PLATFORM), RALINK_2880)


LINUX_SRC = /home/lqm/share/G360/kernel_kfb


CROSS_COMPILE = /opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-


endif


ifeq ($(RT28xx_MODE),APSTA)


cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)apsta.ko /tftpboot


ifeq ($(OSABL),YES)


cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)apsta.ko /tftpboot


cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)apsta.ko /tftpboot


endif


else


cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)sta.ko /home/lqm/share/NFS/tmp


注意,虽然我们使用的是2860模组,我们这里仍然可以定义PLATFORMRALINK_2880,只要后面对应的编译环境正确就可以了。LINUX_SRC表示内核的目录,CORSS_COMPILE为交叉编译环境,最末一行为编译完后将生成的KO文件复制到NFS文件系统的tmp目录。


第四步:按照第三步README_STA_usb给出的提示,修改config.mk文件,这里也只给出修改部分:


# Support Wpa_Supplicant


HAS_WPA_SUPPLICANT=y


# Support Native WpaSupplicant for Network Maganger


HAS_NATIVE_WPA_SUPPLICANT_SU

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇u-boot-2010-06在mini2440上的移植 下一篇嵌入式Linux下真彩Logo的实现

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·求navicat for mysql (2025-12-26 13:21:33)
·有哪位大哥推荐一下m (2025-12-26 13:21:30)
·MySQL下载与安装教程 (2025-12-26 13:21:26)
·Linux_百度百科 (2025-12-26 12:51:52)
·Shell 流程控制 | 菜 (2025-12-26 12:51:49)