使用wifi网卡笔记1----网卡选型、开发环境搭建、内核配置
1、wifi的STA模式和AP模式
Ap(Access Point)模式指的是可以将网卡设置为路由器用来共享流量或有线网络给别人使用,
sta模式指的是当做网卡连接路由器上网
(1):AP也就是无线接入点,是一个无线网络的创建者,是网络的中心节点。一般家庭或办公室使用的无线路由器就是一个AP。(2):STA 站点,每一个连接到无线网络中的终端(如笔记本电脑、 PDA及其它可以联网的用户设备)都可称为一个站点。
![]()
2、网卡选型
(1)选型标准:看linux内核是否已支持此款网卡
打开网站http://wireless.kernel.org/en/users里面的Devices列表,里面有linux内核支持的的USB接口设备。
选择时看网卡的VendorID(生产厂商ID)和ProductID(产品ID)是否在上面网站中的USB接口设备列表里面
(2)选购WIFI:
Atheros : VID 0x13D3 PID 0x3327 (成品型号 AR9271)
realtek : VID 0x0bda PID 0x8176 (成品型号TP-LINK公司TL-WN721N)
市面上大多数ARM 开发板来说,它们的USB口供电能力都不足(会出现一些莫名其妙的问题),需要一条能供电的USB线(有3个口),一端的两个口连接开发板和网卡,另一端的口接到电脑的USB口上取电。
(3)查看网卡的PID和VID
把网卡接到电脑上去,我的电脑——属性——设备管理器——网络适配器——查看增加的网卡——属性——详细信息——设备范例Id里面有VID和PID
3、搭建开发环境
(1)开发板和电脑的连接
a、直接用一条网线把开发板网口和电脑网口连在一起,当开发板上使用的是u-boot时,电脑上的网卡显示为断开,导致PC上的windows和linux间不能传文件
b、用hub或路由器连接电脑和开发板(使用有线网卡)
c、有些电脑没有有线网卡,只有无线网卡,用无线路由器。开发板通过网线接到无线路由器,电脑端用无线网卡进行无线接入路由器。
(2)设置VMWARE的网络为桥接, 并选择使用哪一个网卡(有线网卡还是无线网卡)
(3)把PC windows网卡, vmware linux的网卡、开发板的有线网卡IP设为192.168.7.xxx
因为以后开发板上USB WIFI网卡将使用192.168.1.xxx
开发板本身有一个有线网卡,现在又有wifi无线网卡,对于同一个系统有多个网卡,这些网卡的IP不能设为同一网段,当我们的wifi网卡连接到无线Ap,Ap里分配的地址一般为192.168.1.xxx.PC windows网卡,
vmware linux的网卡、开发板的有线网卡IP设为另外一个网段
4、 配置内核以支持USB WIFI网卡
(1)打补丁
tar xjf linux-3.4.2.tar.bz2
cd linux-3.4.2
patch -p1 < ../linux-3.4.2_camera_jz2440.patch
cp config_ok .config
(2)配置内核:
根据网卡的VID/PID确定使用哪一个源码
打开源码所在目录的Makefile进而确定配置项的名称
make menuconfig, /名
cd drivers/net/wireless/
grep "0x3327" * -nR (这里0x3327是ProductID(产品ID)
)
ath/ath9k/hif_usb.c:32: { USB_DEVICE(0x13D3, 0x3327) }, /* Azurewave */
打开ath/ath9k/Makefile查找hif_usb.o可知配置项为 CONFIG_ATH9K_HTC
make menuconfig, /CONFIG_ATH9K_HTC(搜索) 得到下面信息
Symbol: ATH9K_HTC [=n] |
| Type : tristate |
| Prompt: Atheros HTC based wireless cards support |
| Defined at drivers/net/wireless/ath/ath9k/Kconfig:100 |
查看依赖(=y或=m表示已经设置好的意思,=n表示还没设置,不用理会.有一个依赖条件设为m的话,那么也只能够配置为m,要想把它配置进内核,找到设置为m的项并把它设置为y)
| Depends on: NETDEVICES [=y] && WLAN [=y] && ATH_COMMON [=n] && USB [=y] && MAC80211 [=m] |
| Location: |
| -> Device Drivers |
| -> Network device support (NETDEVICES [=y]) |
| -> Wireless LAN (WLAN [=y]) |
| -> Atheros Wireless Cards (ATH_COMMON [=n])
查找MAC80211
配置:(按h键返回查看搜索结果)
-> Networking support
-> Wireless
<*> cfg80211 - wireless configuration API
<*> Generic IEEE 802.11 Networking Stack (mac80211)
-> Device Drivers
-> Network device support
-> Wireless LAN
-> Atheros Wireless Cards
<*> Atheros HTC based wireless cards support
make uImage
另一款网卡:
cd drivers/net/wireless/
grep "0x8176" * -nR
rtlwifi/rtl8192cu/sw.c:273: {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8176, rtl92cu_hal_cfg)},
打开rtlwifi/rtl8192cu/Makefile确定配置项为 CONFIG_RTL8192CU
make menuconfig, /CONFIG_RTL8192CU
-> General setup
[*] Prompt for development and/or incomplete code/drivers
-> Device Drivers
-> Network device support
-> Wireless LAN
<*> Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter
可以在make menuconfig 后使用 cp .config config_ok_1把我们配置好的文件更名为config_ok_1,以后可以再次使用
(3)编译内核
make uImage
(4)uboot设置
uboot:
set bootargs console=ttySAC0,115200 root=/dev/nfs nfsroot=192.168.7.124:/work/nfs_root/fs_mini_mdev_new ip=192.168.7.17
set bootcmd 'nfs 32000000 192.168.7.124:/work/nfs_root/uImage_mini2440_wifi; bootm 32000000'
save
boot
5、编译使用固件
需要固件htc_9271.fw,我们wifi网卡可能需要下载一个文件到芯片上面去,
1 把固件htc_9271.fw放到单板/lib/firmware
先建目录:mkdir /work/nfs_root/lib/firmware
拷贝:cp htc_9271.fw /work/nfs_root/lib/firmware
接上USB网卡, ifconfig wlan0 up(启用网卡0)
2 对于"realtek : VID 0x0bda PID 0x8176 (成品型号TP-LINK公司TL-WN721N)"
修改bug:
http://lkml.indiana.edu/hypermail/linux/kernel/1301.2/00465.html
make uImage
转自:http://blog.csdn.net/qingkongyeyue/article/details/52241485
使用wifi网卡笔记1----网卡选型、开发环境搭建、内核配置的更多相关文章
- 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...
- android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...
- Android NDK r8 Cygwin CDT 在window下开发环境搭建 安装配置与使用 具体图文解说
版权声明:本博客全部文章均为原创.欢迎交流.欢迎转载:转载请勿篡改内容,而且注明出处,谢谢! https://blog.csdn.net/waldmer/article/details/3272500 ...
- STS开发环境搭建与配置
STS开发环境搭建与配置 (2012-04-11 07:24:51) 转载▼ 1. 环境准备 安装JDK.MAVEN 1.1. 下载 下载sprdfingsource-tool-su ...
- Android学习笔记(一)开发环境搭建
Android开发环境搭建 安装JDK 1.如果你还没有JDK的话,可以去这里http://www.oracle.com/technetwork/java/index.html ,接下来的工作就是安装 ...
- angularjs2 学习笔记(一) 开发环境搭建
开发环境,vs2013 update 5,win7 x64,目前最新angular2版本为beta 17 第一步:安装node.js 安装node.js(https://nodejs.org/en/) ...
- 【深度学习笔记】Anaconda及开发环境搭建
在学习了一段时间台大李宏毅关于deep learning的课程,以及一些其他机器学习的书之后,终于打算开始动手进行一些实践了. 感觉保完研之后散养状态下,学习效率太低了,于是便想白天学习,晚上对白天学 ...
- 【Vue 学习笔记 一、Vue开发环境搭建】
搭建Vue的开发环境 1.首先安装Nodejs (因为我的系统是Windows的所以就选择第一个了,这个看个人的开发环境) 下载好后,然后一路确定,如果有更改安装目录的需求,就自己切换安装目录,由于 ...
- QT 5.1.1 for Android 开发环境搭建与配置【Windows 7】
前言:本人操作系统为Windows7 64位,用的是32位的安装包,32位系统没有验证. 一.首先下载以下安装包,如果提供的链接失效请自行下载: (1) Android SDK (Windows 32 ...
- 【Xamarin】Visual Studio 2013 Xamarin for Android开发环境搭建与配置&Genymotion
Xamarin Xamarin是基于Mono的平台. Xamarin旨在让开发者可以用C#编写iOS, Android, Mac应用程序,也就是跨平台移动开发. 下载资源 1,进入Xamarin官方网 ...
随机推荐
- 2018-2019-2 网络对抗技术 20165202 Exp6 信息搜集与漏洞扫描
博客目录 一.实践目标 二.实践内容 各种搜索技巧的应用 DNS IP注册信息的查询 基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的查点 漏洞扫描:会扫,会看报告,会查漏洞说明,会 ...
- Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
这里也会遇到一次性关闭所有modal引起阴影遮罩的问题,也就是所有modal都关闭了,但是主页面仍然被阴影遮罩. 这个问题从哪来的,是因为modal叠加,我们点击窗口之外的空白部分,一次性关闭所有mo ...
- Linux:tree命令详解
tree 以树状图列出目录的内容 语法 tree(选项)(参数) 选项 -a:显示所有文件和目录: -A:使用ASNI绘图字符显示树状图而非以ASCII字符组合: -C:在文件和目录清单加上色彩,便于 ...
- error c2129:静态函数已声明但未定义
今天在做一个c函数暴露给lua 时,出现这个问题. 大概代码是这样的, 头文件: #ifndef LEVEL_DESIGNER_H #define LEVEL_DESIGNER_H extern &q ...
- 浅谈js异步
大家都知道,js是一个单线程的语言(只有一个线程来执行js函数),所以如果某一个函数执行任务耗时比较长的话,就会造成阻塞,使得后续任务一直处于等待状态. 一.阻塞示例 function f1(){ ; ...
- 《gradle 用户指南中文版》第3章 安装 gradle
macOS 下安装 gradle,只要可以安装sdk的系统,使用sdk来安装,那么安装方式基本是一样的. Gradle在所有主要操作系统上运行,只需要安装Java JDK或JRE版本7或更高版本.要检 ...
- python caffe 在师兄的代码上修改成自己风格的代码
首先,感谢师兄的帮助.师兄的代码封装成类,流畅精美,容易调试.我的代码是堆积成的,被师兄嘲笑说写脚本.好吧!我的代码只有我懂,哈哈! 希望以后代码能写得工整点.现在还是让我先懂.这里,我做了一个简单的 ...
- linux中使用yum进行软件的安装
yum 仓库 配置信息/etc/yum.reposd/ [linuxcast]name="this is soft ware"baseurl="http://ww.bai ...
- ZOJ3329One Person Game(循环型 数学期望)
There is a very simple and interesting one-person game. You have 3 dice, namely Die1, Die2 and Die3. ...
- 优化器Optimizer
目前最流行的5种优化器:Momentum(动量优化).NAG(Nesterov梯度加速).AdaGrad.RMSProp.Adam,所有的优化算法都是在原始梯度下降算法的基础上增加惯性和环境感知因素进 ...
(2):STA 站点,每一个连接到无线网络中的终端(如笔记本电脑、 PDA及其它可以联网的用户设备)都可称为一个站点。