Arm板Linux移植随身WIFI并连接上网络,如米WIFI

本文将叙述本人近期以来Arm板linux系统上实现米wifi驱动的移植以及到连接上wifi的全过程,360wifi等类似,本文中会有提到

PS:交叉编译等本文不多做讲解

在执行之前,先确定你linux系统下armlinux系统的源码目录在哪里(Ps:我的源码目录为/usr/linux2.6.32.2)

首先,得先获取无线网卡驱动的源码,后,解压到linux系统上,(ps:这里我是解压在/usr目录下)

以下为无线网卡驱动的源码下载地址,大家可以去下载:

http://download.csdn.net/detail/u013267687/8671849



解压完后,在WIFI驱动的源代码根目录下,执行gedit MakeFile,进行修改,修改内容如下:

找到“PLATFORM = PC”语句将其注释掉,即修改为:“#PLATFORM = PC”

找到“#PLATFORM = SMDK”语句将其注释的语句解除,即“PLATFORM = SMDK”

修改完以上内容还需修改一处:

找到“ifeq ($(PLATFORM),SMDK)”语句,将其后两句语句修改为如下内容:

LINUX_SRC = /usr/linux-2.6.32.2 //注意,此处为你的源码目录
CROSS_COMPILE = arm-linux-


修改完以上后,即可保存关闭该文件

后进入/usr/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/common目录,执行“gedit rtusb_dev_id.c”命令

修改该文件:

找到“#ifdef MT7601U
{USB_DEVICE(0x148f,0x6370)}, /* Ralink 6370 */
{USB_DEVICE(0x148f,0x7601)}, /* MT 6370 */
#endif /* MT7601U */”

在其中添加上“{USB_DEVICE(0x2717,0x4106)},/* XiaoMi wifi */”

如图:


这里要注意的是,如果你是其他的随身wifi设备的话,可以根据以下提示内容进行添加:

{USB_DEVICE(0x148f,0x760b)},/* 360 Wifi 2 Gen */

{USB_DEVICE(0x2955,0x1001)},/* Xiao Du Wifi */

{USB_DEVICE(0x2a5f,0x1000)},/* Quan Min Wifi */

添加完后,即可保存


随后转到驱动源码根目录下执行,make指令

随后linux就会根据你刚刚修改的配置进行相应的编译,生成.ko文件

路径在界面中可以找到,如图:

Arm板Linux移植随身WIFI并连接上网络,如米WIFI_第1张图片


随后我们到该目录下将“mt7601Usta.ko”文件拷贝到ARM板中

但是在这操作过程中有一个很重要的点别漏了,否则无线网卡一样无法驱动成功

需要做的是,将该驱动源码根目录下的“RT2870STA.dat”文件拷贝到板中的"/etc/Wireless/RT2870STA/"目录下。

随后在Arm板的linux系统中安装刚刚编译好的驱动“insmod mt7601Usta.ko”,安装是否成功除了可以看提示外,还可以使用命令“lsmod”查看是否有安装该设备

PS:这里安装失败的话,一般是内核版本的问题,请检查你的内核版本是否与你linux下的armlinux的内核版本是否一致,或者arm-linux-gcc的版本是否符合要求,该问题在这里不多做解决的讲解

安装成功后,即可插上相应的设备(随身WIFI)

不久,就会提示识别成功,出现一大段码,我就不贴出了

做到这里,你已经成功的将随身wifi移植到你的ARM板上了,但是你会发现,重启之后,该设备驱动又不见了,这是由于arm板每次重启就会还原一次这些驱动设备,所以,你需要修改初始化文件:

可以修改/etc/init.d目录下的rcS文件,在其中加入安装.ko文件的指令(PS:注意你的.ko文件的路径)


至此,已经驱动算是相对完整的成功了,也不担心重启还原的问题了,接下来,就讲解一下如何使用它来连接热点,即WIFI

以上内容完成后,可以使用ifconfig -a就可以查看到你的无线网卡设备,即你的随身wifi,一般默认的设备名为“ra0”,默认是没有配置其他信息的,所以我们需要给它简单的配置一下,方便后期开发

但是在使用之前需要将arm板上的集成网卡先关闭掉,一般默认的名字为“eth0”,但是在关闭之前,我们得先执行以下操作

"ifconfig eth0 192.168.1.xxx"xxx的取值为2-255,不要取230,或者身边已有的ip,因为,在同一网段上,不允许有两个相同的ip出现,而一般板上的初始ip为230, 所以要避开这些点,方便后期开发(PS:此处为建议)

之后关闭该网卡“ifconfig eth0 down”

后打开你的无线网卡“ifconfig ra0 192.168.1.xxx up”,解释同上

此时网卡已经启动,但是你会发现用普通的wifi指令会提示找不到设备,如“scan-wifi”,因为随身wifi属于用户装置的设备,无法使用这些指令进行操控

所以在这里,我们得使用“iwlist”

输入iwlist的时候,你可以看到iwlist的各种功能,你可以根据功能提示进行相应的操作

比如,我们需要查看周围的热点信息,我们可以使用指令“iwlist ra0 scan | less”,后界面中即会显示附近的热点信息

但是连接WIFI需要热点需要使用“iwconfig”这个操作指令

现在以连接假设附近有一个essid为“Test”的开放网络为例:

iwconfig ra0 essid “Test”

该指令结束后,即可在界面中查看到连接是否成功的信息

ps:其他更多热点加密方式的连接,请大家另外查询更多的指令信息,这里不多做讲解


完成以上部分,你的随身wifi就移植成功,并且能正常使用,接下的怎么应用怎么开发,就看你了~


你可能感兴趣的:(ARM)