使用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官方网 ...
随机推荐
- C++面向对象高级编程(一)基础篇
技术在于交流.沟通,转载请注明出处并保持作品的完整性. 概要: 知识点1 构造函数与析构函数 知识点2 参数与返回值 知识点3 const 知识点4 函数重载(要与重写区分开) 知识点5 友元 先以C ...
- Linux:history命令详解
Linux下History命令 主要用于显示历史指令记录内容, 下达历史纪录中的指令 . 语法 history [n] history [-c] history [-raw] histfiles ...
- 解决 src/MD2.c:31:20: fatal error: Python.h: No such file or directory安装包错误
在linux命令行安装包时报错 src/MD2.c:31:20: fatal error: Python.h: No such file or directory 原因:缺少了python的dev 解 ...
- tomcat是否有必要配置环境变量
之前发表了一篇关于如何安装和配置Tomcat的文章,而最近在开发项目的时候总是报错.后来被公司的大神问了一句:是谁告诉你Tomcat是需要配置环境变量的? 作为新手的我瞬间整个人都不好了!于是偷偷百度 ...
- python pass关键字神奇吗
参考文献:http://blog.sina.com.cn/s/blog_76e94d210100vz3e.html 1.空语句 do nothing2.保证格式完整3.保证语义完整 好吧!它什么也没干 ...
- del语句的总结
删除属性 del 语句 可以删除对象(实例)的属性 语法: del 对象.实例变量名 del 语句 del 变量名 删除变量 del name del 列表[整数表达式] 删除列表中的元素 del L ...
- ajax 上传读取excel
$("#btnImport").click(function () { $("#File").click() })///委托 $("#File&quo ...
- 异步任务中的重新进入(Reentrancy)
一个按钮,点击执行一个任务.我们可能直接在它的 Click 事件中写下了执行任务的代码. 一般我们无需担心这样的代码会出现什么问题——但是,这样的好事情只对同步任务有效:一旦进入了异步世界,这便是无尽 ...
- js中怎么去掉数组的空值
for(var i = 0 ;i<array.length;i++) { if(array[i] == "" || typeof(array[i] ...
- 《DSP using MATLAB》示例Example 8.18
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
(2):STA 站点,每一个连接到无线网络中的终端(如笔记本电脑、 PDA及其它可以联网的用户设备)都可称为一个站点。