内容提要:嵌入式linux软件开发人员调试软件,是一定要进入设备的shell的。进入shell无非就是通过串口、ssh方式,而ssh方式需要网卡。一般嵌入式linux产品上市后,串口和网卡是没有的,但是usb接口是大部分产品都需要预留。有些嵌入式产品或许会有网卡,但是要想进入shell,还要借助路由器、网线进入shell。现场维护的时候,不方便连线。
用usb无线网卡的好处是,一般我们的电脑都带有wifi,我们可以把电脑变成wifi信号发射器(360wifi),安卓手机也看设置wlan共享模式。嵌入式linux设备插上usb无线网卡,连接电脑发射的wifi信号,通过wifi就可以进入shell进行调试。
本文在x35平台上,移植了usb 无线网卡,实现了热插拔,一插上无线网卡,便自动连接wifi、打开telnetd和sshd服务,pc端通过secureCRT或者putty进行远程登录,winscp进行文件传输。而且安卓机wlan共享之后,嵌入式设备和电脑都可以访问外网,这极大方便了在几千公里外的你调试设备。
本实验有两个包,已上传。
驱动源码包下载地址:http://download.csdn.net/detail/u014106791/9635006
.ko和加载脚本下载地址:
http://download.csdn.net/detail/u014106791/9635079
一 驱动移植
驱动软件包:WI-PI.tar.bz2
在linux解压之后,得到WI-PI文件夹,进入WI-PI文件夹,找到makefile。打开makefile,找到:

ifeq ($(PLATFORM),PC)
# Linux 2.6
#LINUX_SRC = /lib/modules/$(shell uname -r)/build
# Linux 2.4 Change to your local setting
LINUX_SRC =  /home/tanhui/source/linux-3.2.0-psp04.06.00.08.sdk
#LINUX_SRC_MODULE = /lib/modules/$(shell uname -r)/kernel/drivers/net/wireless/
CROSS_COMPILE = arm-none-linux-gnueabi-
Endif

将上述代码改成:

ifeq ($(PLATFORM),PC)
# Linux 2.6
#LINUX_SRC = /lib/modules/$(shell uname -r)/build
# Linux 2.4 Change to your local setting
LINUX_SRC =  ../linux-2.6.39-at91-exp-board
#LINUX_SRC_MODULE = /lib/modules/$(shell uname -r)/kernel/drivers/net/wireless/
CROSS_COMPILE = arm-linux-
endif

LINUX_SRC要改成设备要用到的内核所在的路径。
CROSS_COMPILE是指定编译器,也就是编译内核所用的编译器。
保存并执行make命令编译。编译成功之后,会在在当前目录下生成rt5370sta.ko文件。这个就是我们需要的内核模块。另外注意当前目录下的RT2870STA.dat文件。这两个文件将是我们后面需要用到的。

二 使用方法
为了方便安装,将rt5370sta.ko、RT2870STA.dat、usb_wifi.sh、rm_usbwifi.sh文件做成一个wifi目录。如图所示为wifi目录中的文件。

使用方法:
1. 将wifi目录拷贝到嵌入式设备的“/”根目录。
2. 运行 /wifi/usb_wifi.sh ins 安装相关配置文件。(可以不运行,以后文件系统中都安装好了。)
3. 将路由器SSID配置为sctarm,密码配置为88888888.路由器可以是传统路由器、手机wlan热点、和电脑发射的wifi信号。
3.1 路由器配置:路由器需要将密码加密算法配置为AES方式,无线安全选用WPA2PSK。如图:

3.2 手机wlan共享热点和电脑发射的wifi信号,无线加密方式和密码加密算法采用默认的就可以。
4. 将usb无线网卡插入到设备,等10s左右,设备就连上了wifi信号。
5. 查看设备获取的ip。电脑装个360wifi就可以发射wifi信号。例如我电脑分给设备的ip。

6. Pc准备登陆板子。
6.1 若板子连接安卓手机,则pc也需要连接安卓手机。
6.2 若板子连接路由器,pc可以通过网线或者wifi连接路由器。
6.3 若板子连接pc发射的wifi,则不要做任何步骤。(推荐使用pc机发射wifi信号)
7. 登陆板子shell。
7.1 以ssh方式登陆。打开putty或者secureCRT,然后以ssh方式登陆设备。Hostname填写板子ip,username填写用户名。以ssh方式登陆板子,板子当中的用户名一定要有密码。例如我设置的密码是root。

7.2 以telent方式登陆。打开secureCRT,以telnet方式登陆
Protocol设置为telnet,hostname填写板子ip地址。然后点击确认,输入用户名和密码,用户必须为非root用户。

8. 拔掉usb wifi之前,请先运行/wifi/rm_usbwifi.sh。

三 应用移植及相关配置。
我们的usb 无线网卡需要实现热插拔,热插拔的准备工作请参考:
http://blog.csdn.net/u014106791/article/details/52596640
实现了热插拔之后,插入usb无线网卡,在/dev/目录下面会生成一个1-1的设备文件。在/etc/mdev.conf文件中添加如下两行:
1-1 root:root 666 @ /wifi/usb_wifi.sh
1-1 root:root 666 $ */wifi/rm_usbwifi.sh
当usb 无线网卡插入板子,就会执行/wifi/usb_wifi.sh程序。按理说,当拔出时,会执行/wifi/rm_usbwifi.sh脚本,但是实际情况却不执行。这里不解。

使用telnet和ssh需要移植openssh和telnetd,移植方法:
在buildroot中配置openssh。进入buildroot根目录,make menuconfig。
Package Selection for the target —>
Networking applications —>
[*] openssh

在buildroot中配置telnetd。进入buildroot根目录,make busybox-menuconfig,选择:
Networking Utilities —>
[*] telnetd

重新make一下,得到的ubifs烧写到板子即可。在首次开机过程中,板子自动会生成openssh的密钥和私钥。

四 脚本分析

#!/bin/sh
if [ "$1" == "ins" ]; thenecho $1mkdir -p /etc/Wireless/RT2870STA/cp -f ./rt5370sta.ko  /etc/cp -f ./RT2870STA.dat /etc/Wireless/RT2870STA/
elseinsmod /etc/rt5370sta.kosleep 8;ifconfig -a > tmp.logresult=$(cat tmp.log | grep -c ra0)if [ $result -ge "1" ]; thenecho 2ifconfig ra0 upiwpriv ra0 set NetworkType=Infraiwpriv ra0 set AuthMode=WPA2PSKiwpriv ra0 set EncrypType=AESiwpriv ra0 set SSID="sctarm"iwpriv ra0 set WPAPSK="88888888"sleep 1udhcpc -i ra0echo "udhcpc ip is:"ifconfig ra0/usr/sbin/sshd -D &telnetd &elseexitfi
fi

/wifi/usb_wifi.sh ins 命令是用于装wifi相关配置文件,首先建一个/etc/Wireless/RT2870STA/目录,这个目录是wifi需要用的绝对目录,不能随便更改。然后把RT2870STA.dat拷贝到/etc/Wireless/RT2870STA/,运行ifconfig ra0 up时,会从/etc/Wireless/RT2870STA/目录下读取配置文件RT2870STA.dat。然后传递给驱动。
/wifi/usb_wifi.sh 命令用于配置wifi,在有usb网卡的情况下,加载rt5370sta.ko之后,会生成ra0网卡,假如没有生成ra0网卡,我们就直接退出。如果发现有ra0网卡,就进行相关配置。
ifconfig ra0 up 开启ra0,不开启的情况下,ifconfig是看不到ra0的,需要ifconfig –a才能看到。
iwpriv ra0 set AuthMode=WPA2PSK 设置要连接路由器的无线安全模式。
iwpriv ra0 set EncrypType=AES 设置要连接路由器的加密算法。
AuthMode EncrypType这两者要和路由器相匹配,要不然连接不上。
iwpriv ra0 set SSID=”sctarm” 设置要连接的wifi ssid.
iwpriv ra0 set WPAPSK=”88888888” 输入wifi密码。

udhcpc -i ra0 获取动态ip
然后开启sshd 和telnetd服务,方便远程登录板子。

下图是ssh登录板子shell情况:

Rt5370 USB无线网卡移植记录相关推荐

  1. 转载 tiny6410 使用rt5370 usb无线网卡

    今天记录我在I.MX6Q平台移植RT5370无线网卡驱动程序的过程,加qq1126137994 微信:liu1126137994 共同学习更多技术!!! 两种移植方法:1.移植官方下载的RT5370驱 ...

  2. 嵌入式Linux/Android MT7601U USB无线网卡移植

    目录 前言 USB无线网卡选择 MT7601驱动移植 1. 资源下载 2. 驱动源码修改 3. 编译及加载 测试 1. 源码下载 2. 编译 3. 测试 1. STA模式测试: 2. AP模式测试: ...

  3. 树莓派做便携式wifi热点 无线AP,用Ralink RT5370古董级芯片usb无线网卡的实施记录

    由于我的树莓派一直是放在家里挂机,7x24小时不间断运行,插网线的连接,所以为了自用或外出游玩方便,可以用树莓派做一个热点,专门供给自己笔记本和pad手机等终端: 大体意思就是,树莓派带无线网卡先配置 ...

  4. USB转WIFI无线网卡驱动程序(RT5370驱动程序)的移植记录之一

    学习交流加 个人qq: 1126137994 个人微信: liu1126137994 学习交流资源分享qq群: 962535112 今天记录我在I.MX6Q平台移植RT5370无线网卡驱动程序的过程, ...

  5. USB无线网卡-----MT7601 无线wifi网卡驱动移植

    备注:次博客为转载,原作者地址请点击此处 注意:本博客来源于朱老师项目积木-usb wifi移植部分,本博客仅供学习和交流 一.准备工作 1.MT7601驱动下载 点击下载 2.插入usb WiFi ...

  6. 用USB无线网卡在新平台全新移植并构建Linux无线网络

    一,构建环境 硬件:Ralink USB无线网卡, 软件:Linux4.12.7,wpa_supplicant , dhcp 在Linux中执行lsusb查看无线网卡vendorId及productI ...

  7. FAST FW 150UW USB 无线网卡Linux (CentOS 5.6)安装记录

    FAST FW 150UW USB 无线网卡Linux (CentOS 5.6)安装记录 1. 网卡的芯片是 RTL8188eu. 下载 rtl8188eu_USB_linux.tar.gz 2. 解 ...

  8. 移植USB无线网卡到 mini2440

    开发板:mini244 内核版本:2.6.32.2 交叉编译器:arm-linux-gcc-4.4.3 无线网卡:TL-wn721N 无线网卡芯片:rtl8192cu TL-wn721N 驱动源码包: ...

  9. Tiny6410学习移植usb无线网卡(一)

    今天找来了一个上一年在TB上买来的水星无线网卡(MW150UH),之前用在台式电脑上,现在想试下能否在tiny6410开发板上使用呢.把无线网卡接入开发板上,SecureCRT就出现下面几行字: 之前 ...

最新文章

  1. 前端笔记之NodeJS(四)MongoDB数据库Mongoose自制接口MVC架构思想|实战
  2. Android模拟器Genymotion安装apk
  3. linux内核合并dtb文件,c – 如何修改内核DTB文件
  4. DCMTK:测试程序中定义的功能和类 ofmem.h(OF shared_ptr)
  5. 工具资源系列之给mac装个虚拟机
  6. 我是学渣,但是我零基础自学web前端成功了
  7. Java抽象类、接口和内部类
  8. python处理excel的优势-SAS、R、SPSS、python、excel五大软件的比较优势分析
  9. js基础知识汇总12
  10. 赵本山 政治敏锐_每天5分钟保持敏锐的7种方法
  11. 常见耳机品牌简介及鉴赏
  12. 【Excel 操作】二维表转一维表的两种方法
  13. pycharm生成exe文件及关联ico图标
  14. matlab虚拟示波器,虚拟示波器是什么_虚拟示波器详解
  15. 经典的10句人生箴言
  16. 光功率 博科交换机_FAQ-交换机是否支持查看光模块型号及收发光功率
  17. JS下载喜马拉雅非付费音频
  18. 互联网企业使用云计算,有什么优势?
  19. Android Studio 实现跑马灯微项目实例
  20. Java 8 String类API 手册 翻译 中英文对照

热门文章

  1. “鹰识”与“军民智链合创”:中国自主品牌燃焕力 | ETDZx产业链+
  2. 动态规划之背包问题---01背包---完全背包---多重背包
  3. Android调整屏幕亮度和改变屏幕亮度调整模式的代码
  4. 4.17团队合作(欢乐场)英文题
  5. 在Yaf中使用Yar
  6. 在3D建模中,ZBrush中的道具雕刻【案列教程】
  7. HTML5与CSS3网页制作
  8. Cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet
  9. iphone android 朋友圈,最近很火的微信空白朋友圈发布教程!安卓、苹果通用!
  10. HTML标签大全(很全哦).