USB WIFI网卡在S5PV210上的移植和使用最全攻略(1)

您所在的位置:网站首页 usb无线网卡驱动在哪里看到的啊怎么设置 USB WIFI网卡在S5PV210上的移植和使用最全攻略(1)

USB WIFI网卡在S5PV210上的移植和使用最全攻略(1)

2024-07-06 02:30| 来源: 网络整理| 查看: 265

目录 一、本季文章将会带来那些干货1、MT7601网卡驱动的移植2、无线网卡的配置和使用3、在自己定制的rootfs中移植USB WIFI4、在自己定制的rootf中添加dhcp支持 二、项目各项材料的准备和确认1、开发环境搭建和确认2、网卡驱动源码确认3、USB WIFI网卡硬件确认 三、驱动源码修改及编译1、确认USB的VID和PID2、修改源码目录下的Makefile3、修改网卡名字(可选)4、添加 wpa_supplicant 支持5、编译生成驱动模块 四、USB WIFI网卡驱动源码简单分析1、关键点1:把握深度适可而止 五、WIFI网卡的配置过程1、iwconfig工具集的介绍和使用演示2、路由器端基础知识3、wpa_supplicant配置文件4、网卡配置命令序列5、使用interfaces文件静态配置6、使用dhcp动态分配IP7、让开发板开机自动连上路由器上网

一、本季文章将会带来那些干货 1、MT7601网卡驱动的移植

(1)开发环境搭建和确认 ubuntu,开发板内核源码树,linux开发板

(2)源码获取和解压 联发科官方提供了驱动,我们只需移植修改即可。

(3)配置、编译、安装

2、无线网卡的配置和使用

(1)常用无线网卡工具介绍:iwconfig、iwlist、iwpriv、wpa_supplicant

(2)常见WIFI加密格式介绍和路由器端查看:WEP、WPA

(3)wpa_supplicant使用详解

(4)配置本地IP地址、网关、dns等并确认外网连接

3、在自己定制的rootfs中移植USB WIFI

(1)自己定制rootfs (2)移植wifi驱动并安装 (3)移植iwconfig工具集(LWE) (4)移植wpa_supplicant

4、在自己定制的rootf中添加dhcp支持

(1)在内核和busybox配置中添加dhcp支持 (2)移植dhcpc和dhcpd并使用

二、项目各项材料的准备和确认 1、开发环境搭建和确认

(1)ubuntu16.04

(2)开发板自带内核的内核源码树

(3)开发板提供的官方linux+QT4.8镜像(我使用的开发板是朱老师物联网大讲堂的开发板study210)

#在uboot命令行设置启动参数 set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3 #在uboot命令行将内核从inand中读取到内存DDR中 movi read kernel 30008000 bootm 30008000

(4)ubuntu主机搭建好nfs服务器 和 制作好文件夹形式的rootfs

主机端测试nfs所用:mount -t nfs -o nolock 192.168.1.141:/root/rootfs /opt ubuntu主机端:sudo /etc/init.d/nfs-kernel-server restart 开发板端:mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.1.141:/home/rootfs /opt 2、网卡驱动源码确认

DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2

所用资源: 链接:https://pan.baidu.com/s/1v4V7HHoLe8GAD63HQFeO-w 提取码:47ic --来自百度网盘超级会员V5的分享

将源码下载后,放到ubuntu的一个目录下进行解压,为之后的开发做准备

3、USB WIFI网卡硬件确认

(1)网卡基本信息介绍 详解:https://linux.cn/article-2448-1.html

(2)lsusb命令查看网卡的VID和PID

这是我的(在你哪里查看到的可能会和我的不一样):

Bus 001 Device 005: ID 148f:7601 使用lsusb命令可以显示USB设备的相关信息。 输出信息 信息描述 Bus 001 USB总线编号,001号USB总线编号上只接了一个设备,002总线编号上则接了3个 Device 001 USB设备编号,在一个总线上这个编号是唯一的 ID 1d6b:0002 USB设备的制造商识别码和产品识别码,1d6b是制造商识别码,代表Linux Foundation,0002是产品识别码,代表2.0 root hub Linux Foundation 制造商的字符串表示形式 2.0 root hub 产品的字符串表示形式 三、驱动源码修改及编译

注意:我们这里需要将usb网卡配置为sta模式(一个可以连接wifi的终端),驱动也是以这种模式进行配置的,而非ap模式(即将开发板作为一个路由器)。

参考阅读:https://blog.csdn.net/knowloveno/article/details/86544768

1、确认USB的VID和PID

(1)进入源码,修改其中的rtusb_dev_id.c文件

#使用以下命令查找我们所需的文件 find -name "rtusb_dev_id.c" 或者 grep -nr "USB_DEVICE_ID rtusb_dev_id" ./ 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 */ // 我们的模块就是这个,与上边 lusb 查看的信息符合 #endif /* MT7601U */ { }/* Terminating entry */ //若是没有我们想要的,则需自己手动添加 }; 2、修改源码目录下的Makefile

(1)平台换成:三星

PLATFORM = SMDK

(2)内核源码树路径设置

LINUX_SRC = //linux内核源码树,自己的内核源码路径

(3)交叉工具链路径设置

#(ifeq ($(PLATFORM),SMDK)) 275行 CROSS_COMPILE = //交叉编译环境

这里我给大家提供一份我修改好的Makefile:

链接:https://pan.baidu.com/s/1TrLHGTt395c_SrSOTqHvbA 提取码:pq8h --来自百度网盘超级会员V5的分享 3、修改网卡名字(可选)

(1)常用无线网卡名称:rax、wlanx

(2)修改源码目录下的include/rtmp_def.h文件

#define INF_MAIN_DEV_NAME "ra" #define INF_MBSSID_DEV_NAME "ra"

若遇到其他的网卡驱动不在这个目录这个文件,可直接搜索grep “ra” 试试

4、添加 wpa_supplicant 支持 搜索文件:find -name "config.mk" 得到其所在目录:./os/linux/config.mk 确保config.mk文件中:WPA_SUPPLICANT=y 5、编译生成驱动模块

(1)清理&编译

make clean && make -j2

生成os/linux/mt7601Usta.ko就是驱动模块

四、USB WIFI网卡驱动源码简单分析 1、关键点1:把握深度适可而止

(1)使用sourceinsight建立工程,搜索module_init找这个驱动程序的入口。

//os\linux\usb_main_dev.c INT __init rtusb_init(void) { printk("rtusb init %s --->\n", RTMP_DRV_NAME); return usb_register(&rtusb_driver);//这个函数应该是内核的usb驱动架构提供的 } /* Deinit driver module */ VOID __exit rtusb_exit(void) { usb_deregister(&rtusb_driver); printk("


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3