使用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----网卡选型、开发环境搭建、内核配置相关推荐
- 【S32K】S32K144入门笔记(1) 从零开始进行开发环境搭建
0.目录 文章目录 0.目录 1. 起因 2. 开发环境 2.1 软件开发环境选择 2.2 S32DS 2.2.1 下载&安装 2.2.2 Demo工程 2.3 硬件开发板选择 2.3.1 硬 ...
- Eclipse IDE 使用技巧和Android App 开发环境搭建和配置
写在前面: 本片文章只是记录了自己学习时的一些笔记,纯粹是为了自己后面方便查找,片言碎语,不适合大家浏览,请大家不要参考这篇文章. 正文: Eclipse IDE 使用技巧 ...
- Windows下Android开发环境搭建和配置
关于Windows下Android开发环境搭建.配置方面文章,网上一搜一堆,为方便以后参考,权且做个记录,主要关注安装过程中的注意事项.对新手提醒的是,本文介绍SDK开发Android APK环境搭建 ...
- java开发环境搭建与配置
java开发环境搭建与配置 1.首先鼠标右击我的电脑,找到"属性",点击进入 2.找到"高级系统设置",点击进入 3.点击"高级",再点击& ...
- 【Android基础笔记01】Android开发环境搭建和HelloWorld
最近手头项目3.0版本要上线了, 没有那么多工作压力了, 抽空看了看之前在云笔记上做的笔记 都是一些基础知识 给大家分享出来吧 一.什么是Android?[了解 ] Android(中文俗称安卓)是一 ...
- 树莓派开发笔记(一) 开发环境搭建
开发环境搭建 开发环境搭建 硬件准备 系统烧录 系统配置 基本配置 其他配置 安装开发软件 开发环境搭建 硬件准备 SD-Card 树莓派(本人使用的英国版 RS 3B) 5V 2A 供电 Windo ...
- HT32合泰单片机开发环境搭建和配置教程
HT32合泰(Holtek)单片机开发环境搭建安装教程 前言 最近在准备合泰杯的比赛,在看合泰官方的PPT和数据手册学习,顺便做个合泰单片机的开发环境搭建教程. 合泰杯比赛发放的开发板是ESK32-3 ...
- SLAM开发环境搭建和配置
1.安装WSL子系统 为了避免安装Windows+Linux双系统的麻烦和资源浪费,安装Windows版本的Linux系统即WSL子系统. 1.1 默认安装 一般情况下默认安装WSL子系统的安装路径在 ...
- VS2019 Qt开发环境搭建与配置
目录 更新说明 学习Qt.安装Qt环境的困扰 问题1:该选什么操作系统,该用MinGW还是msvc ? 问题2:如果用visual studio该安装哪个qt版本? 问题3:Qt开发商业软件需要付费授 ...
- (SenchaTouch+PhoneGap)开发笔记(2)开发环境搭建二
一.Java环境和Android SDK 1.安装JDK和JRE JRE会在JDK安装完成后自动出现安装界面. 安装完成后,设置环境变量 JAVA_HOME D:\Program Files\ ...
最新文章
- 高德技术评测建设之路
- 基于MATLAB和Python的频谱分析
- 面试官:Spring为什么建议使用构造器来注入?
- rpm -e --nodeps_微课 | rpm的思维导图
- 数据结构折半查找算法C语言,数据结构C语言实现----折半查找
- VC用ADO访问数据库全攻略 作者 相生昌
- [原创] VPDN--PPTP Server
- c语言能让制表符空9个字符码,C语言入门9-1-分类函数
- VS2013 异常处理
- mysql x锁 u锁_讲解更新锁(U)与排它锁(X)的相关知识
- ReactiveSwift源码解析(二) Bag容器的代码实现
- 这个爬虫是你五一假期所需要的!
- 计算机毕业设计JAVA房屋租赁系统mybatis
- 梵语和藏语_藏语与梵文的区别
- mysql中根据经纬度求距离_mysql、java中根据经纬度计算距离
- APP兼容性测试如何测试?
- 无人机飞行控制算法、控制律设计软件与半物理仿真
- Player 本地播放器推荐-倍速播放-本地视频播放器-播放器-电脑手机互传文件-附下载地址
- 论文简读-BootEA-《Bootstrapping Entity Alignment with Knowledge Graph Embedding》
- STM32实战总结:HAL之FSMC控制TFT-LCD
热门文章
- 计算机在智能制造专业中的应用,数控技术在智能制造中的应用及发展分析
- 数字滤波器的MATLAB与FPGA实现--Altera/Verilog版的pdf版,杜勇等编著的书。
- 演示笔记本重装系统win7教程,笔记本电脑安装win7系统
- ubuntu14上nvidia 1080和 titan xp 驱动安装踩的坑
- requests爬取图片(百思不得其姐)
- c语言n个自然数得阶乘求和,计算n个自然数阶乘的和
- 关于虚拟机复制文件时:无法确定本地文件类型。您可能没有执行此操作的权限。 正在取消文件复制操作。的决解方法
- web2.0创业时代将终结
- 怎样成为高级的学习者?2:解码
- Android实现头像上传至数据库与保存 简易新闻(十七 下)