
实验材料 (所有下载资源在文章页尾提供)
1,AMR9开发板(周立功的imx283)
2. SUB网卡 (TP-link WN823N) 300M迷你型无线USB网卡
3. rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911 网卡驱动
4,Ubuntu宿主机 (配置好交叉编译环境)
安装步骤:
先在宿主机中解压网卡驱动,官网上面提供的文件包目录 \0001-RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911\RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911\driver\rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911\rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911\打开之后对应的驱动程序就可以看到了
首先将USB网卡插上 输入lsusb之后,查看对应的编码 我这输出对应的ID是 0bda 818b
对应的芯片是RTL 8192EU芯片 去官网下载了驱动之后,可以跳过以下步骤,USB依然可以识别出来 不必再添加usb_intf.c 的设备PID
打开RTL8188C_8192飞USB_linux_v4.0.2_9000.20130911 I driver I
rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911 I os_dep I linux I usb_intf.c,将usb_intf.c
这个文件打开,找到下面这个地方,修改添加对应的ID (注意它注释是否对应芯片编号8182EU此图上写的是8192eu,有些USB端口已经给出了)
以上步骤在Linux可以识别USB网卡的时候可以跳过,如不能识别添加
然后打开Makefile
选择一个 编译架构(i386 ,ARM之类的)
将后面的 n改成y (其实无所谓哪一种后面修改一下交叉编译器即可)
修改源代码对应路径(linux内核源代码需要先编译,否则会出现无对应文件和目录),交叉编译器对应路径,之后保存即可, 然后记得在Makefile前面选择生成了
然后执行make 命令, 生成 xxxx.ko文件 ,拷贝至开发板,安装驱动模块, insmod 8192eu.ko
发现开发板没有 iwconfig 命令 ,在利用下载好的wireless_tools_29.tar 解压到宿主机,修改Makefile中 AR GCC的参数,交叉工具链和源代码路径,make之后得到iwconfig等命令,将命令全部复制到开发板 /bin (此为root)用户 普通用户/usr/bin ,目录下面 ,将动态链接库libiw.so.29 文件,复制到开发 /lib 文件夹中,否则将会报错,丢失libiw.so.29文件
其中遇到问题重新烧写内核,仍然未解决掉。
#sudo apt-get install u-boot-tools
然后make uImage 在 /arch/arm/boot 目录下面找到uiamge 烧写到开发板
查看是否安装成功
将iw命令全部复制到开发板上后可以, 开启网卡 ifconfig wlan0 up
成功打开出现
root@EasyARM-iMX283 /# ifconfig wlan0 up RTL871X: +871x_drv - drv_open, bup=0 RTL871X: ==>_InitPowerOn8192EU RTL871X: ===> FirmwareDownload88E() fw source from Header. RTL871X: ===> Firmware for NIC fw:FirmwareDownload8192E, size: 31990 RTL871X: FirmwareDownload8192E: fw_ver=4 fw_subver=1 sig=0x92e1 RTL871X: _FWFreeToGo8192E: Checksum report OK! REG_MCUFWDL:0x00070304 RTL871X: =====> _8051Reset88E(): 8051 reset success . RTL871X: _FWFreeToGo8192E: Polling FW ready success!! REG_MCUFWDL:0x000706c6 RTL871X: ===> phy_BB8192E_Config_ParaFile() EEPROMRegulatory 1 RTL871X: PHY_BBConfig8192E ==> CrystalCap:0x22
可以正常使用了
Wireless tools for Linux介绍
Wireless tools for Linux是一个Linux命令行工具包,用来设置支持Linux Wireless Extension的无线设备。Wireless tools for Linux 和 Linux Wireless Extension 由 Jean Tourrilhes在维护,由Hewlett-Packard(HP惠普)赞助。
大多数基于Linux内核的操作系统都包含Wireless tools。在许多GNU/Linux 发行版中,都缺省安装这个工具包,即使是没有自动安装,也能很容易地找到其二进制代码安装包。
Wireless Extension (WE)是一组通用的API,能在用户空间对通用Wireless LANs进行配置和统计。它的好处在于仅通过一组单一的工具就能对各种各样的Wireless LANs进行管理,不过它们是什么类型,只要其驱动支持Wireless Extension就行;另一个好处就是不用重启驱动或Linux就能改变这些参数。
Wireless Tools (WT)就是用来操作Wireless Extensions的工具集,它们使用字符界面,虽然粗糙,但支持所有Wireless Extension。虽然还有很多其他管理Wireless Extensions的工具,但Wireless Tools是参考实现,它包括以下工具:
iwconfig:设置基本无线参数
iwlist:扫描、列出频率,比特率,密钥等
iwspy:获取每个节点链接的质量
iwpriv:操作Wireless Extensions 特定驱动
ifrename: 基于各种静态标准命名接口
大多数 Linux 发行版本都在其网络初始化脚本中集成Wireless Extension,以便启动时配置无线接口。他们还将Wireless Tools作为其标准封装包。
无线配置也可以使用hotplug或uDev脚本来完成,需要发行版特定的支持,这样能支持任何可移动的无线接口(Pcmcia,CardBus,USB接口...)。
Wireless Tools(从版本19)开始完全支持IEEE 802.11标准参数和设备,支持旧风格的设备和最专有协议,并准备处理HiperLan。较新版本增加了更多802.11支持。但不幸的是,并非所有的驱动程序支持所有这些功能。
最新的稳定版本的Wireless Tools是版本29,大多数愚蠢的错误已被删除,并支持所有的Wireless Extension(从版本v11至v21)。可以从http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.29.tar.gz下载最新的Wireless Tools。
我们经常会用到的主要是iwlist、iwconfig、 iwpriv:
iwlist的使用
命令行:(ap不需要验证密码)
iwlist mlan0 scan //搜索ap
iwconfig mlan0 essid “linksys” //连接ap
udhcpc –i mlan0 //获得动态IP
命令行:(ap需要验证密码)
iwlist mlan0 scan //搜索ap
iwconfig mlan0 key xxxxxxxxxx // 输入验证密码
iwconfig mlan0 key open //密码验证功能打开
iwconfig mlan0 essid “linksys” //连接ap
udhcpc –i mlan0 //获得动态IP
链接完成后需要设置一下 自动获取IP地址
DHCP或者udhcpc 关于这两个动态获取IP地址
关于上面两种动态获取IP安装客户端,自动链接: http://www.rainfly.cn/?post=190
查看IP:
ifconfig wlan0
设置IP:
ifconfig wlan0 10.3.1.74
把IP: 129.158.215.204 , netmask: 255.255.255.0分配给rh0,
# ifconfig rh0 129.158.215.204 netmask 255.255.255.0
获取IP;
ifconfig wlan0 dhcp start (从wlan0走,不需要ip即可dhcp)
udhcpc -i wlan0
udhcpc --help



本文地址:http://www.rainfly.cn/?post=185
版权声明:若无注明,本文皆为“雨夜轩”原创,转载请保留文章出处。

已有3条吐槽