嵌入式linux.ap模式,嵌入式Liunx移植USB随身WIFI(AP模式)

360随身WIFI支持STA和AP两种模式,其中STA模式使其充当一个无线网卡连接指定的WIFI进行上网,而AP模式下相当于一个热点自己向别人提供WIFI。在上篇中我们介绍了STA模式,本篇我们将介绍在嵌入式Linux系统上移植AP模块的驱动。

1.USB无线网卡的识别

向嵌入式Linux设备的USB口插入360随身WIFI。查看命令【lsusb】,结果如下:

3a86f73f6ae2e8d7914d49eda167a34d.png

2.源码移植

该源码下载路径:https://pan.baidu.com/s/1KLKFt4p5e2q-TdnAIXMRPQ,提取码:yc65

下载该源码并解压,为适应嵌入式Linux设备,如要调整的源码部分如下:

1.Makefile文件调整

a.选择编译架构

注销第30行,#PLATFORM = PC

取消第49行注销,PLATFORM = SMDK

b.设置交叉编译器

第275行

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-

修改为

ifeq ($(PLATFORM),SMDK)

LINUX_SRC = /home/dengaj/Desktop/ARM/kernel-3.2

CROSS_COMPILE = arm-arago-linux-gnueabi-

其中 LINUX_SRC 为内核源码的路径;CROSS_COMPILE 为交叉编译器

2.修改无线网卡名称

include/rtmp_def.h,找到1604行

修改:

#define INF_MAIN_DEV_NAME"ra"

#define INF_MBSSID_DEV_NAME"ra"

修改为:

#define INF_MAIN_DEV_NAME"wlan"

#define INF_MBSSID_DEV_NAME"wlan"

3.改动支持ID

common/rtusb_dev_id.c,找到42行:

修改:

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 */

};

修改为:

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 */

{USB_DEVICE(0x2955,0x0001)}, /* XiaoDu Wifi */

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

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

#endif /* MT7601U */

{ }/* Terminating entry */

};

注:MT7601U(小度wifi,360随身wifi 2代)linux驱动 使用lsusb命令可以获取USB设备ID。小度wifi为2955:0001或2955:1001

360WIFI2为148F:760B 二者均使用Mediatek Ralink MT7601芯片。

修改 RT2870AP.dat 的相关参数设置热点的参数,如下:

38b988aac49cce024b08f3d731cedf41.png

8d6fa75213f67c41279acbc90720e8b3.png

在嵌入式Linux设备上新建【/etc/Wireless/RT2870AP】目录,并将该文件拷贝到【/etc/Wireless/RT2870AP】目录下。

3.驱动的加载

在目录下执行make命令,最终在 os/linux 生成一个 mt7601Uap.ko 驱动文件,拷贝到嵌入式Linux板卡上加载驱动,如下:

cd0512cfd69f7e49d5d6329996a11529.png

内核输出信息如下:

6d4e0c33f26485e6072994cdf4fa9155.png

利用手机连接该WIFI成功上网,至此,整个7601U的AP模式的驱动移植完成。

097932c6ce083268c4171ce4b0047090.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值