使用WIFI准备工作及配置内核——韦东山
主要做的工作:让内核如何支持现有的无线网卡。知道这个流程就可以了,没必要深究。
使用WIFI功能时,涉及两个东西:

同样手机也可以用于WIFI AP模式,让别的设备来连接它。就是我们平时所说的用手机开一个热点。
从这里可以看出,同一个WIFI网卡,它可以工作于不同的模式。
对于ARM板而言,外接一个wifi网卡,它就可以工作于STA模式,可以去连接热点。

同样它可以工作与AP模式,让其他设备来连接它。

1. 准备工作(虚拟机,开发板)及配置内核选择WIFI驱动
1.1 选型:确定网卡的VID,PID是否在列表里:http://wireless.kernel.org/en/users/Devices/USB
选购WIFI:
Atheros : VID 0x13D3 PID 0x3327 (成品型号 AR9271)
realtek : VID 0x0bda PID 0x8176 (成品型号TP-LINK公司TL-WN721N)
1.2 搭建开发环境:
首先要看一下,电脑和开发板是如何连接的?
开发板和电脑有3种连接方式。
1). 直连
这种方法非常简单,但是使用起来非常不方便。
当开发板上使用的是uboot的时候,电脑上的网卡就会显示为断开,就导致linux和windows之间不能传文件。
2).用hub/路由器
3).有些电脑没有有线网卡,它只有无线网卡,此时就需要用到一个无线路由器。

开发板上面会接一个wifi网卡,开发板本身有有线网卡。AP会给wifi网卡分配IP地址,假设是
192.168.1.xxx。那么开发板上的有线网卡应该使用另一个网段,如192.168.7.xxx。
总结搭建开发环境:
a.设置VMWARE的网络为桥接,并选择使用哪一个网卡
b. 把PC windows网卡,vmware linux的网卡、开发板的有线网卡IP设为192.168.7.xxx(举个例子而已),开发板上USB WIFI网卡将使用192.168.1.xxx.
1.3 配置内核以支持USB WIFI网卡
a. 打补丁
tar xjf linux-3.4.2.tar.bz2
cd linux-3.4.2
patch -p1 < ../linux-3.4.2_camera_mini2440.patch
cp config_ok .config
b. 配置内核
根据网卡的VID/PID确定使用哪一个源码。打开源码所在目录的Makefile进而确定配置项的名称。
make menuconfig , 搜索 /名字
cd drivers/net/wireless/
grep "0x3327" * -nR
ath/ath9k/hif_usb.c:32: { USB_DEVICE(0x13D3, 0x3327) },
将ath/ath9k下面的Makefile打开,可以看到
ath9k_htc-y += htc_hst.o \
hif_usb.o
obj-$(CONFIG_ATH9K_HTC) += ath9k_htc.o
可以知道配置项是CONFIG_ATH9K_HTC
到目录linux-3.4.2中,make menuconfig, /CONFIG_ATH9K_HTC 得到下面信息

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

make uImage
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
c. 编译、使用
c.1 把固件htc_9271.fw放到单板/lib/firmware
接上USB网卡, ifconfig wlan0 up
c.2 对于"realtek : VID 0x0bda PID 0x8176 (成品型号TP-LINK公司TL-WN721N)"
修改bug:
http://lkml.indiana.edu/hypermail/linux/kernel/1301.2/00465.html
make uImage
使用WIFI准备工作及配置内核——韦东山的更多相关文章
- 专访Linux嵌入式开发韦东山操作系统图书作者--转
CSDN学院讲师韦东山:悦己之作,方能悦人 发表于2015-04-28 08:09| 6669次阅读| 来源CSDN| 24 条评论| 作者夏梦竹 专访Linux嵌入式开发韦东山操作系统图书作者 摘要 ...
- 移植最新u-boot(裁剪和修改默认参数)之韦东山笔记
1.下载.建立source insight工程.编译.烧写.如果无运行分析原因 tar xjf u-boot-2012.04.01.tar.bz2 cd u-boot-2012.04.01 make ...
- 韦东山yy公开课笔记(1)--各种杂的问题
1,第四期的智能猫眼会有打电话和发短信的功能吗? 答:会有打电话功能,硬件上支持打电话就会支持发短信,只是软件上是否实现发短信现在未定.因为短信延迟太严重,不是可靠的. 2,请问关于makefil ...
- 作为一个新人,怎样学习嵌入式Linux,(韦东山)
很早以前在网上看到的韦东山老师写的文章,复制到自己的博客,方便自己以后看. 在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会). C语言要学到什 ...
- (转)作为一个新人,怎样学习嵌入式Linux?(韦东山)
被问过太多次,特写这篇文章来回答一下. 在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会).C语言要学到什么程度呢?越熟当然越好,不熟的话也 ...
- 作为一个新人,怎样学习嵌入式Linux?(韦东山)
这篇文章是引用韦老师的部分关于新人怎么学习嵌入式Linux的经验,引用如下: 1.电脑一开机,那些界面是谁显示的?是BIOS,它做什么?一些自检,然后从硬盘上读入windows,并启动它. 类似的, ...
- 戴文的Linux内核专题:06配置内核(2)
转自Linux中国 这一部分我们讲配置内核IRQ子系统.中断请求(IRQ)是硬件发给处理器的一个信号,它暂时停止一个正在运行的程序并允许一个特殊的程序占用CPU运行. 这个目录中的第一个问题属于内核特 ...
- 戴文的Linux内核专题:05配置内核(1)
转自Linux中国 现在我们已经了解了内核,现在我们可以进入主要工作:配置并编译内核代码.配置内核代码并不会花费太长时间.配置工具会询问许多问题并且允许开发者配置内核的每个方面.如果你有不确定的问题或 ...
- VS2015配置内核WDK7600环境,32位下.
VS2015配置内核WDK7600环境,32位下. 学习内核驱动的编写,就要会配置环境.不然总是用记事本编写.比较不方便. 环境配置如下. 1.首先下载WDK7600, 课堂资料代码中已经上传.链接: ...
随机推荐
- 微信小程序之页面打开数量限制
无论是在小程序还是APP中,打开一个页面其实就是创建了一个新的View对象,一层层叠加的.当点击页面的回退按钮就是把当前页面关闭. 这个过程中会涉及到一个问题,就是打开页面的数量.在某些设计下,比如一 ...
- oracle 块速查
头信息区 这个区包括数据块的地址,数据块类型,检查点信息,scn信息等信息. --------- Start minblk maxblk buffer tsn: rdba: ) scn: 0x0000 ...
- x58平台 服务器电源配置 tdp
我的机器配置: 处理器: Intel(R) Xeon(R) CPU X5660 @ 2.80GHz *2主板: TYAN Tyan Tank GT20-B7002LN ...
- BizTalk增强型RosettaNet跟踪报告
BizTalk 的数据报表能力一直是比较弱的,好在Rosettanet 支持使用BAM 跟踪功能来跟踪各PIP消息状态.增强的跟踪功能能跟踪流程为消息.错误和事件.不可否认性的数据.可以根据跟踪的 ...
- HTML连载27-层叠性&优先级&!important用法
一.层叠性 1.定义:CSS处理冲突的一种能力 2.注意点:层叠性只有在多个选择器中“同一标签”,然后又设置了“相同的属性”,才会发生层叠性 3.CSS缩写:Cascading StyleSheet ...
- Android添加新按键
1.前言 在Android开发中可能会遇到添加新的按键的需求,本文将简单介绍如何在Android系统中完成一个新的按键的添加. 当系统有新的按键需要添加时,Linux内核下的键码到Android系统中 ...
- CSS属性相关知识
Css选择器 选择器的权重 在css中,哪个选择器的权重高,就走谁的样式. 标签选择器的权重是 1 Class选择器的权重是10 Id选择器的权重是100 行间样式的权重是1000 带有关键字 !im ...
- linux内核debug的一种方式:procfs
#include <linux/module.h> #include <linux/compat.h> #include <linux/types.h> #incl ...
- 执行"rm -rf /"之后世界安静了吗
对于Unix/Linux程序员来说,"rm -rf /"一直被认为是一个极度危险的操作,因为直接把根目录给删除了,整个操作系统也就崩溃了.但实际上会是这样的吗?呵呵,请看图: 啊哈 ...
- 《 .NET并发编程实战》实战习题集 - 2 - 替换算法
先发表生成URL以印在书里面.等书籍正式出版销售后会公开内容.