嵌入式Liunx移植USB随身WIFI(AP模式)

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

1.USB无线网卡的识别
向嵌入式Linux设备的USB口插入360随身WIFI。查看命令【lsusb】,结果如下:
嵌入式Liunx移植USB随身WIFI(AP模式)_第1张图片
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 的相关参数设置热点的参数,如下:
嵌入式Liunx移植USB随身WIFI(AP模式)_第2张图片
嵌入式Liunx移植USB随身WIFI(AP模式)_第3张图片
在嵌入式Linux设备上新建【/etc/Wireless/RT2870AP】目录,并将该文件拷贝到【/etc/Wireless/RT2870AP】目录下。

3.驱动的加载
在目录下执行make命令,最终在 os/linux 生成一个 mt7601Uap.ko 驱动文件,拷贝到嵌入式Linux板卡上加载驱动,如下:
嵌入式Liunx移植USB随身WIFI(AP模式)_第4张图片
内核输出信息如下:
嵌入式Liunx移植USB随身WIFI(AP模式)_第5张图片
利用手机连接该WIFI成功上网,至此,整个7601U的AP模式的驱动移植完成。
嵌入式Liunx移植USB随身WIFI(AP模式)_第6张图片

你可能感兴趣的:(Linux)