精华内容
下载资源
问答
  • rt2870.bin

    2016-08-07 23:09:29
    rt2870.bin,linux内核在使用RT5370无线网卡时需要的固件文件。
  • 无线网卡驱动固件rt2870.rar.
  • RT3070Wifi驱动

    热门讨论 2013-05-22 18:43:41
    RT3070 RT2870 RT3370 RT5370 RT5372驱动源码,需要在linux下编译使用,可以移植到嵌入式系统
  • 华为 HG232 的LEDE r4101 (2017-05-10最新源码编译)接近完美 USB、wifi均正常,U盘自动加载,已包含后台及中文界面 路由默认IP为192.168.1.1 默认账号:root 默认密码:admin
  • openwrt-19.07.1-ramips-rt305x-rt-n13u 最新固件 支持很多新功能 验证码7a678f95a06bb043f5890d8370ea1a57d9202b7043149bb96a5c3373ab74db68
  • rtac5300cfe.bin

    2021-02-02 14:47:35
    华硕路由器 AC5300 CFE文件
  • 充电宝路由器 ,华美A2 稳定openwrt-19.07.7-ramips-rt305x-mpr-a2-squashfs-sysupgrade
  • ubuntu10.04 安装ralink rt2870

    千次阅读 2015-06-15 10:32:25
    用的笔记本是msi ex465 ,查无线驱动是rt2870(虽然标着是ms-3870,但看win的inf知道是rt2870)第一部分:驱动能安装却不能上网1、下载驱动 http://www.ralinktech.com/support.php?s=2 下载:RT2870USB(RT2870/RT...
    用的笔记本是msi ex465 ,查无线驱动是rt2870(虽然标着是ms-3870,但看win的inf知道是rt2870)

    第一部分:驱动能安装却不能上网
    1、下载驱动
            http://www.ralinktech.com/support.php?s=2    下载:RT2870USB(RT2870/RT2770)

    2、安装
         1、安装编译环境: sudo apt-get install build-essential linux-headers-generic
         2、配置文件修改:
                    tar -xvf 2010_0709_RT2870_Linux_STA_v2.4.0.1.tar.bz2
                    cd  2010_0709_RT2870_Linux_STA_v2.4.0.1
                    lsusb   
                          #显示:Bus 001 Device 003: ID 0db0:3870 MICRO STAR INTERNATIONAL
                          #记下代码号:0db0:3870
                    gedit common/rtusb_dev_id.c
                         {USB_DEVICE(0x0DB0,0x3870)},    
                          #添加在 #ifdef RT2870下面,就是有很多行{USB_DEVIC 的地方
                    gedit os/linux/config.mk
                          HAS_WPA_SUPPLICANT=y
                          HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
            3、编译、安装
                   sudo su
                   make
                   make install
                   modprobe  rt2870sta
                   exit

             4、查看
                   iwconfig

                   ra0       Ralink STA  ESSID:"11n-AP"  Nickname:"RT2870STA"
                               Mode:Auto  Frequency=2.412 GHz  Access Point: Not-Associated  
                               Bit Rate:1 Mb/s  
                               RTS thr:off   Fragment thr:off
                               Link Quality=10/100  Signal level:0 dBm  Noise level:0 dBm
                               Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
                               Tx excessive retries:0  Invalid misc:0   Missed beacon:0


          5、每次启动都开启无线
                   sudo sh -c 'echo rt2870sta >> /etc/modules'
          
    以上安装好后,驱动已经安装了,但是连不了网,经过我一天的努力,终于找到好东西,分享以下 哈哈~~~

    第二部分:终极解决方法:
    1、在这个页面下下载软件: compat-wireless
    2、安装
    sudo apt-get install build-essential linux-headers-generic
    tar -xvf compat-wireless-2.6.tar.bz2
    cd compat-wireless-2011-03-20                    #2011-03-20是会变的
    sudo su
    make
    make install 
    make unload
    reboot

    重启后,无线网卡即可工作,自动搜索无线信号 

    总结:虽然现在能用无线了,可最终目的还是要解决第一部分遗留的问题,这样才能学到东西

    哈哈,开心~~~

    ---------------------------------------------------------------------------------------------------------------------------------------------
    终极解决方法参考:
    展开全文
  • 嵌入式Linux——WIFI网卡

    千次阅读 2019-05-08 09:08:03
    ieee80211 phy0: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin' rt2800usb 2-2.2:1.0: Direct firmware load for rt2870.bin failed with error -2 ieee80211 phy0: rt2x00lib_request_...

    CSDN仅用于增加百度收录权重,排版未优化,日常不维护。请访问:www.hceng.cn 查看、评论。
    本博文对应地址: https://hceng.cn/2018/06/21/嵌入式Linux——WIFI网卡/#more

    如何在嵌入式Linux中,使用WIFI无线网卡。

    嵌入式中设备想要联网,无非就 有线和无线 两种方式。
    有线就插上网线,没什么好说的;无线的话一种是将WIFI模块集成焊接在板子上,另一种是WIFI模块以USB的方式接到板子上。
    本次使用的就是USB接口的WIFI无线网卡,实现开发板使用WIFI无线网卡访问互联网和作为个人热点。

    1.准备工作

    1.2 WIFI基础知识

    WIFI网卡有两种工作模式,
    一种是无线终端模式(STA),也就是手机日常使用的模式,通过该模式连接网络上网;
    一种是无线热点模式(AP),也就是手机的个人热点模式,通过该模式提供热点供其它设备上网;

    无线网络的安全性由两部分组成:认证加密
    ** 认证:**使得只有允许的设备才能连接到无线网络;
    ** 加密:**确保数据的保密性和完整性,即数据在传输过程中不会被篡改;

    • 常用的认证算法有:开放认证、共享秘钥认证、802.11x认证、PSK认证
      其中802.11x认证和PSK认证安全性较高,分别应用于企业和个人的环境;

    • 常用的加密算法有:WEB加密、TKIP加密、CCMP加密算法
      其中WEB加密和TKIP加密都是RC4的加密算法,安全性较低;CCMP加密采用AES对称加密算法,安全性较高。

    安全策略认证方式加密方式备注
    Openopenopen开放WiFi,无任何加密
    openWEP开放WiFi,仅数据加密
    WEPWEPWEP共享密钥认证,容易破解
    WPA802.11XTKIP/WEP比较安全,用于企业
    PSKTKIP/WEP比较安全,用于个人
    WPA2802.11XCCMP/TKIP/WEP目前最安全,用于个人
    PSKCCMP/TKIP/WEP目前最安全,用于个人

    连入超市、商场等公共WIFI的时候,不需要输入密码,但要通过网页输入手机号,使用验证码验证,也就是采用802.11X进行的验证,通过服务器完成的验证。
    使用手机开个人热点的时候,可以选择安全性OPEN、WEP、WPA、WPA2,也就对应不同的安全等级。

    我手里的MIX2S,MIUI10个人热点里面就仅OPEN和WPA2两个选项,感觉这是个趋势,要么最简单的OPEN,要么就最安全的WPA2(WPA2是向下兼容的),逐渐扔掉历史的包袱。

    1.2 选择无线网卡

    首先是选择合适的无线网卡,选取的原则是根据WIFI无线网卡的VIDPID判断内核是否支持该无线网卡。

    • 1.获取无线网卡ID
      将无线网卡插入Windows电脑,打开设备管理器,选中无线网卡,右键“属性”,切换到“详细信”息选项卡,在“属性”下拉栏中选择"硬件ld",即可得到无线网卡的ID:
    我的无线网卡`VID`是`0x148F`,`PID`是`0x3070`;
    • 2.查询内核是否支持
      可以从wireless.kernel.org得到支持的设备列表
      可以从列表中搜到前面的VIDPID,因此说明内核是支持现在使用的无线网卡。此外,还可以得知对应的驱动应该为rt2800usbrt2870sta
      ## 1.3 移植WIFI驱动 ## - 前面根据ID得到了对应的网卡驱动名字,但还不是很靠谱,建议直接在驱动中搜索ID,更靠谱: ``` grep "0x3070" drivers/net/wireless/ -nr ``` 得到:`drivers/net/wireless/ralink/rt2x00/rt2800usb.c:1091: { USB_DEVICE(0x148f, 0x3070) },`,知道了对应的驱动文件是`rt2800usb.c`;   - 再查看对应路径的Makfeile: ``` cat drivers/net/wireless/ralink/rt2x00/Makefile ``` 得到:`obj-$(CONFIG_RT2800USB) += rt2800usb.o`,知道了对应的宏是`CONFIG_RT2800USB`;   - 进入内核目录,执行: ``` make menuconfig ``` 搜索`CONFIG_RT2800USB`,得知其依赖:`Depends on: NETDEVICES [=y] && WLAN [=y] && WLAN_VENDOR_RALINK [=y] && RT2X00 [=n] && USB [=y]`,可以知道`RT2X00 [=n]`没有打开,再搜索它,如此循环,直到`RT2800USB [=y]`。

    这里有个注意的就是,当开启的上层的某个依赖,下层的某个选项可能会多出来许多选项,而这些选项原来是没有的,不要固化思维。

    最后重新编译内核即可。

    1.4 使用buildroot移植应用

    想要使用无线网卡,需要用到四个软件:

    • iw:可用于OPEN、WEP这两种"认证/加密",以及扫描WIFI热点等;
    • wpa_supplicant:可用于前面4种"认证/加密";
    • hostapd:能够使得无线网卡切换为AP模式;
    • dhcp:STA模式使WIFI网卡动态获取IP,AP模式分配IP;

    也就是需要移植这四个软件,目前的方法有:
    1.逐个下载源码,交叉编译,配置,可以还需要相关依赖库,缺点是费时费力;
    2.使用Yocto等工具,制作发行版的根文件系统,例如Ubuntu16.04,里面有apt-get,可以自动下载安装,缺点是制作发行版根文件系统比较麻烦,且体积较大;
    3.使用buildroot制作根文件系统,选择需要的软件,自动生成根文件系统,相对简单,体积也较小;

    本次就以buildroot为例,制作含需要应用程序的根文件系统。

    • 首先从GitHub下载针对Tiny4412修改后的buidroot
    git clone -b board_tiny4412 https://github.com/hceng/buildroot.git
    
    • 查看支持的board
    cd buildroot/
    make list-defconfigs
    

    得知tiny4412对应的配置文件:tiny4412_defconfig - Build for tiny4412

    • 配置提供的配置文件
    make tiny4412_defconfig
    
    • 添加自己所需软件
      执行:
    make menuconfig
    

    对应勾选所需软件:

    Target packages  --->
        Networking applications  --->
            [*] dhcp (ISC)                                                
                [*]   dhcp server                                      
                    [*]     Enable delayed ACK feature                     
                [*]   dhcp relay                                       
                [*]   dhcp client 
            ……
            [*] hostapd                                                     
                [*]   Enable ACS (NEW)                                      
                [*]   Enable EAP                                            
                [*]   Enable WPS 
            ……
            [*] iw
            ……
            [*] wpa_supplicant                                               
                [*]   Enable nl80211 support                                  
                [*]   Enable AP mode                                           
                [ ]   Enable EAP                                                  
                [ ]   Enable HS20                                                 
                [ ]   Enable syslog support                                       
                [ ]   Enable WPS                                                  
                [*]   Install wpa_cli binary                                      
                [*]   Install wpa_client shared library                           
                [*]   Install wpa_passphrase binary     
            
    
    • 修改主机名、欢迎语、root密码等
    System configuration  --->
        (tiny_4412) System hostname  
        (Welcome to hceng's board.) System banner  
        ……
        [*] Enable root login with password
        (123456) Root password 
    
    • 生成根文件系统
      执行:
    make
    

    buildroot会自动下载相关源码包,整个过程时间比较久,最后生成buildroot/output/images/rootfs.tar,解压到SD卡rootfs分区即可。

    1.5 添加firmware

    此时开发板启动Linux后,使用ifconfig wlan0 up启动无线网卡,提示:

    ieee80211 phy0: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
    rt2800usb 2-2.2:1.0: Direct firmware load for rt2870.bin failed with error -2
    ieee80211 phy0: rt2x00lib_request_firmware: Error - Failed to request Firmware
    ifconfig: SIOCSIFFLAGS: No such file or directory
    

    提示需要firmware文件rt2870.bin

    继续通过网站wireless.wiki.kernel.org去下载该固件

    得到rt2870.bin后,拷贝到单板/lib/firmware/下即可。

    1.6 启动WIFI网卡

    注意:
    双网卡的单板的两个网卡IP不能设置为同一网段,原因参考这里

    也就是先把有线网卡IP设置为其它网段,比如:

    ifconfig eth0 192.168.2.220
    

    然后启动WIFI网卡,并设置IP(路由器IP为192.168.1.1):

    ifconfig wlan0 up
    ifconfig wlan0 192.168.1.220
    

    此时效果如下:

    2.无线终端模式——STA

    完成前面的准备工作后,就可以通过软件使用无线网卡了。

    2.1 iw的使用

    • 列出WIFI网卡的性能:
    iw list 
    
    • 扫描WIFI热点
    iw dev wlan0 scan 
    iw dev wlan0 scan | grep SSID:
    
    • 连接到开放AP
    iw wlan0 connect hceng
    
    • 查看连接状态
    iw dev wlan0 link
    
    • 断开WIFI连接
     iw wlan0 disconnect
    

    还可以连接加密的WEP,这里就不研究了。

    注意:
    1.如果连接的不是路由器(IP为192.168.1.1),而是Android手机热点(IP一般为192.168.43.1),那么要将WIFI网卡IP设置为43网段,如:192.168.43.10,才能ping通192.168.43.1
     
    2.此时只能ping路由器和局域网设备,如果要联外网,还需要如下操作:
    ①修改/etc/resolv.conf,添加DNS:nameserver 192.168.1.1,如果是手机热点为nameserver 192.168.43.1
    ②设置网关,输入命令:route add default gw 192.168.1.1,如果是手机热点为route add default gw 192.168.43.1

    2.2 wpa_supplicant的使用

    wpa_supplicant本是开源项目,被谷歌修改后加入android移动平台,它主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的。
    wpa_supplicant是一个连接、配置WIFI的工具,它主要包含wpa_supplicant(命令行模式)与wpa_cli(交互模式)两个程序。
    通常情况下,可以通过wpa_cli来进行WIFI的配置与连接,如果有特殊的需要,可以编写应用程序直接调用wpa_supplicant的接口直接开发。

    记得以前想查看Android手机连接过的WIFI热点密码时,就直接使用RE文件管理器查看/data/misc/wifi/wpa_supplicant.conf即可(需ROOT),里面有所有连接过的WIFI名字和密码。
    从这里可以看出,最后WIFI名字和密码,都会被保存到一个配置文件里,在Linux中,路径就是/etc/wpa_supplicant.conf

    • 连接开放网络
      /etc/wpa_supplicant.conf加入:
    network={
        ssid="hceng"
        key_mgmt=NONE
    }
    

    初始化wpa_supplicant,执行:

    wpa_supplicant -B -d -i wlan0 -c /etc/wpa_supplicant.conf  
    

    查看连接状态:

    wpa_cli -iwlan0 status  
    

    断开连接:

    wpa_cli -iwlan0 disconnect
    
    killall wpa_supplicant
    

    重新连接:

    wpa_cli -iwlan0 reconnect
    
    • 连接加密网络(WAP2)
      /etc/wpa_supplicant.conf加入:
    network={
        ssid="hceng_test"
        psk="12345678"
    }
    

    初始化wpa_supplicant,执行:

    wpa_supplicant -B -d -i wlan0 -c /etc/wpa_supplicant.conf  
    

    至于WEP和WAP方式,也就是配置文件的不同,这里就不去深究了,以后遇到了再说。

    2.3 dhclient的使用

    至此,已经可以连接WIFI了,但还有一些问题。
    就如前面,需要手动设置设备的IP,且要根据热点的网段设置,还可能与同网段的设备IP冲突。
    为了解决这个问题,引入了DHCP,自动分配IP地址。

    就像家里的设备连接到路由器一样,除了输入名字,密码,其它都不用操作,而且还不会出现IP冲突的情况。

    连接好WIFI后,输入:

    dhclient wlan0
    

    实现自动获取分配的IP,并设置。

    2.4 自动脚本

    现在已经从功能上实现了WIFI无线网卡的使用,但使用过程步骤比较多,相对麻烦。
    理想的效果无论何时插上WIFI无线网卡,都自动连接WIFI,且自动获取IP地址。

    这就要用到USB的热拔插机制,很久以前写过一篇U盘自动挂载的文章,用的就是这个机制。

    • 1.首先修改/etc/mdev.conf配置文件
      加入WIFI无线网卡的热拔插事件:
    # hceng add for wifi
    wlan0           root:root 660 * /sbin/auto_wifi.sh
    

    其中*表示插拔都执行后面的脚本。

    • 2.自动连接脚本/sbin/auto_wifi.sh
      但检测到USB网卡插拔后,就会执行该脚本:
      {% codeblock lang:bash [auto_wifi.sh] https://github.com/hceng/learn/blob/master/tiny4412/10_usb_wifi/rootfs/sbin/auto_wifi.sh %}
      #!/bin/sh
      if [ $ACTION = “add” ];
      then
      echo --------usb wifi connect--------- > /dev/console
      wpa_supplicant -B -d -i wlan0 -c /etc/wpa_supplicant.conf
      wpa_cli -B -i wlan0 -a/sbin/auto_dhcp.sh
      else
      echo --------usb wifi disconnect--------- > /dev/console
      killall wpa_supplicant
      killall wpa_cli
      killall dhclient
      fi
      {% endcodeblock %}

    如果是插入USB无线网卡,将执行wpa_supplicant -B -d -i wlan0 -c /etc/wpa_supplicant.conf连接wifi,再执行wpa_cli -B -i wlan0 -a/sbin/auto_dhcp.sh调用dhcp的脚本;

    如果是拔出USB无线网卡,将清除所有相关进程;

    • 3.自动dhcp脚本/sbin/auto_dhcp.sh
      {% codeblock lang:bash [auto_dhcp.sh] https://github.com/hceng/learn/blob/master/tiny4412/10_usb_wifi/rootfs/sbin/auto_dhcp.sh %}
      #!/bin/sh
      IFNAME=$1
      CMD= 2 i f [ " 2 if [ " 2if["CMD" = “CONNECTED” ]; then
      echo ==connect $IFNAME, dhclient for it= > /dev/console
      dhclient I F N A M E f i i f [ " IFNAME fi if [ " IFNAMEfiif["CMD" = “DISCONNECTED” ]; then
      echo ==disconnect $IFNAME, kill dhclient for it= > /dev/console
      killall dhclient
      fi
      {% endcodeblock %}

    如果是连接,将调用dhclient分配IP,反之清除dhclient进程。

    • 4.为脚本加上可执行权限
    chmod +x /sbin/auto_wifi.sh
    chmod +x /sbin/auto_dhcp.sh
    

    最后便可实现自动连接WIFI,且自动获取IP地址。

    3.无线热点模式——AP

    无线热点模式共需要两步操作,先使用hostapd将无线网卡切换成AP模式,再使用dhcpd分配IP。

    3.1 hostapd的使用

    先清除前面STA模式的所有操作,重新启动单板。

    • 创建/etc/hostapd.conf配置文件

    1.OPEN模式:

    ctrl_interface=/var/run/hostapd
    
    ssid=hceng
    channel=1
    interface=wlan0
    driver=nl80211
    

    2.WAP/WAP2模式:

    ctrl_interface=/var/run/hostapd
    
    ssid=hceng
    #hw_mode=g
    channel=1
    interface=wlan0
    #bridge=br0
    driver=nl80211
    macaddr_acl=0
    #accept_mac_file=/etc/hostapd.accept
    #deny_mac_file=/etc/hostapd.deny
    
    auth_algs=1
    wpa=3
    wpa_passphrase=12345678
    wpa_key_mgmt=WPA-PSK
    wpa_pairwise=TKIP
    rsn_pairwise=CCMP
    

    注释
    ctrl_interface:为了后面hostapd_cli链接上hostapd
    ssid:无线热点名字;
    hw_mode:指定802.11协议,其中a=IEEE 802.11ab=IEEE 802.11bg=IEEE 802.11g
    channel:设定无线信道
    interface:指定使用哪一个无线网卡;
    bridge:指定所处网桥,对于一个同时接入公网、提供内部网和无线接入的路由器来说,设定网桥很有必要;
    driver:指定无线驱动;
    macaddr_acl:指定MAC地址过滤规则:
           0表示允许除禁止列表外的设备;
           1表示只允许在允许列表的设备;
           2表示使用外部RADIUS服务器;
    accept_mac_file:指定允许MAC列表文件所在路径;
    deny_mac_file:指定禁止MAC列表文件所在路径;
    auth_algs:指定采用哪种认证算法,采用位域(bit fields)方式来制定;
          1表示使用WPA;
          2表示使用WEP;
          3表示使用WPA/WEP;
    wpa:指定WPA类型,采用位域(bit fields)方式来制定;
       1表示使用WPA;
       2表示使用WPA2;
       3表示使用WPA2/WPA;
    wpa_passphrase:WIFI的密钥;
    wpa_key_mgmt:PSK为个人AP,不使用服务器认证;
    wpa_pairwise:指定WPA的加密方式;
    rsn_pairwise:指定WPA2的加密方式;

    3.2 dhcpd的使用

    如果此时启动热点,实测手机一直卡在获取IP地址,无法连接到热点,因此热点还需自动分配IP地址。

    subnet 192.168.2.0 netmask 255.255.255.0 {
      range 192.168.2.10 192.168.2.100;
      option domain-name-servers 192.168.2.1;
      option routers 192.168.2.1;
    }
    

    指定了子网IP起始地址、子网掩码、动态分配的IP范围、DNS服务器、路由。

    3.3 启动热点

    • 1.启动无线网卡,并设置IP
    ifconfig wlan0 up
    ifconfig wlan0 192.168.2.1
    
    • 2.启动AP和DHCP
      启动命令:
    hostapd -B /etc/hostapd.conf
    dhcpd -cf /etc/dhcpcd.conf wlan0
    

    对应的停止命令:

    killall hostapd
    killall dhcpd
    
    • 3.其它操作
      查看热点状态:
    hostapd_cli all_sta
    

    查看热点配置:

    hostapd_cli get_config
    

    查看已连接的设备:

    iw dev wlan0 station dump
    

    3.4 自动脚本

    和前面的一样,假如希望实现USB无线网卡的热拔插,自动进入AP模式,只需如下操作:

    • 1.首先修改/etc/mdev.conf配置文件
      加入WIFI无线网卡的热拔插事件:
    # hceng add for wifi
    #wlan0           root:root 660 * /sbin/auto_wifi.sh
    wlan0           root:root 660 * /sbin/auto_wifi_ap.sh
    

    else
    echo --------usb wifi disconnect--------- > /dev/console
    killall hostapd
    killall dhcpd
    fi
    {% endcodeblock %}

    • 3.为脚本添加可执行权限
      执行:
    chmod +x /sbin/auto_wifi_ap.sh
    

    之后就插上无线网卡,就自动启动了热点;拔掉无线网卡,就自动关闭热点。

    展开全文
  • 路由器,型号 华硕rt-n10+ b1 , rt3050f的cpu , 直刷ddwrt文件,刷完后,可以设置中文,可以万能中继,
  • Dlink dir605 a2 版本路由器 Openwrt 15.05.1 固件 固件升级里上传 直接刷,刷坏不负责!
  • <*> Ralink rt27xx/rt28xx/rt30xx (USB) support [*] Ralink debug output 2、重新编译内核,并烧录到开发板,开机后插入wifi模块,串口打印如下消息 ~ >: usb 1-1.1: new full speed USB device number 3 ...

    背景:

    之前开发板fl2440与pc的SecureCRT连接的传统方式是用串口转usb线连接,但是之后要用开发板做3G模块的拨号上网等,自己用到无所谓带着usb转串口和开发板就行了,但是要这几个人一块使用这个开发板就成了问题,所以打算用wifi模块连到路由器然后ssh大家都可以连接到开发板进行开发,所以首先需要做的是安装dropbear使能ssh

    基本情况:

    宿主机系统:CentOS-6.7

    嵌入式linux系统:linux 3.0

    ssh程序:dropbear

    一、交叉编译dropbear使能ssh登录

    [wuyujun@wuyujunlocalhost ~]$ cd fl2440/3rdparty/

    下载并解压dropbear

    [wuyujun@wuyujunlocalhost 3rdparty]$ wget https://matt.ucc.asn.au/dropbear/releases/dropbear-2016.74.tar.bz2

    [wuyujun@wuyujunlocalhost 3rdparty]$ tar -xjf dropbear-2016.74.tar.bz2

    dropbear需要用到zlib库所以下载并解压zlib

    [wuyujun@wuyujunlocalhost 3rdparty]$ wget https://github.com/madler/zlib/archive/v1.2.10.tar.gz -O zlib-1.2.10.tar.gz

    [wuyujun@wuyujunlocalhost 3rdparty]$ tar -xzf zlib-1.2.10.tar.gz

    交叉编译zlib

    [wuyujun@wuyujunlocalhost 3rdparty]$ cd zlib-1.2.10

    [wuyujun@wuyujunlocalhost zlib-1.2.10]$ ./configure --prefix=`pwd`/../zlib/ --static

    [wuyujun@wuyujunlocalhost zlib-1.2.10]$ vim Makefile

    修改Makefile内容如下:(配置为对应的交叉编译工具)

    CC=/opt/xtools/arm920t/bin/arm-arm920t-linux-gnueabi-gcc

    LDSHARED=/opt/xtools/arm920t/bin/arm-arm920t-linux-gnueabi-gcc

    CPP=/opt/xtools/arm920t/bin/arm-arm920t-linux-gnueabi-gcc -E

    AR=/opt/xtools/arm920t/bin/arm-arm920t-linux-gnueabi-ar

    保存退出并编译

    [wuyujun@wuyujunlocalhost zlib-1.2.10]$ sudo make && make install

    [wuyujun@wuyujunlocalhost zlib-1.2.10]$ cd ../zlib/

    zlib将会编译安装到fl2440/3rdparty/zlib路径下。

    [wuyujun@wuyujunlocalhost zlib]$ ls

    include  lib  share

    交叉编译dropbear

    进入dropbear解压后的目录

    [wuyujun@wuyujunlocalhost zlib]$ cd ..

    [wuyujun@wuyujunlocalhost 3rdparty]$ mkdir dropbear

    [wuyujun@wuyujunlocalhost 3rdparty]$ cd dropbear-2016.74

    [wuyujun@wuyujunlocalhost dropbear-2016.74]$ ./configure --prefix=`pwd`/../dropbear  --with-zlib=`pwd`/../zlib/ CC=/opt/xtools/arm920t/bin/arm-arm920t-linux-gnueabi-gcc --host=arm

    参数--with-zlib=`pwd`/../zlib/ 指定zlib库的位置CC=/opt/xtools/arm920t/bin/arm-arm920t-linux-gnueabi-gcc --host=arm指定交叉编译器

    最后交叉编译dropbear

    [wuyujun@wuyujunlocalhost dropbear-2016.74]$ make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp"

    [wuyujun@wuyujunlocalhost dropbear-2016.74]$ make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" install

    将dropbear文件夹下的sbin和bin下的所有文件传到开发板的sbin路径下,开发板与主机用网线相连,开发板和主机需要在同一网段能互相通信,开发板使用tftp接收文件

    ~ >: tftp -gr dropbear 192.168.137.1

    dropbear             100% |*******************************|   297k  0:00:00 ETA

    ~ >: tftp -gr dbclient 192.168.137.1

    dbclient             100% |*******************************|   289k  0:00:00 ETA

    ~ >: tftp -gr dropbearconvert 192.168.137.1

    dropbearconvert      100% |*******************************|   146k  0:00:00 ETA

    ~ >: tftp -gr dropbearkey 192.168.137.1

    dropbearkey          100% |*******************************|   137k  0:00:00 ETA

    ~ >: tftp -gr scp 192.168.137.1

    scp                  100% |*******************************| 50777   0:00:00 ETA

    ~ >: mv dbclient dropbear dropbearconvert  dropbearkey  scp sbin

    ~ >: cd sbin/

    加上执行权限

    /sbin >: chmod a+x dbclient  dropbear dropbearconvert dropbearkey  scp

    生成密钥

    /sbin >: cd /etc/

    /etc >: mkdir dropbear

    /etc >: cd dropbear/

    /etc/dropbear >: dropbearkey -t rsa -f dropbear_rsa_host_key

    /etc/dropbear >: dropbearkey -t dss -f dropbear_dss_host_key

    /etc/dropbear >: ls

    dropbear_dss_host_key  dropbear_rsa_host_key

    添加启动脚本

    /etc/dropbear >: cd /etc/init.d/

    /etc/init.d >: vim S13_dropbear

    #!/bin/sh

    /sbin/dropbear

    保存退出,给脚本加上权限

    /etc/init.d >: chmod a+x S13_dropbear

    运行dropbear

    /etc/init.d >: dropbear

    可以看到22号端口被dropbear监听着

    /etc/init.d >: netstat -tlnp

    Active Internet connections (only servers)

    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    

    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      978/dropbear

    查看ip地址并使用ssh连接到开发板

    /etc/init.d >: ifconfig

    eth0      Link encap:Ethernet  HWaddr EE:34:30:AA:8D:1E  

              inet addr:192.168.137.9  Bcast:192.168.137.255  Mask:255.255.255.0

              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

              RX packets:2053 errors:0 dropped:0 overruns:0 frame:0

              TX packets:1869 errors:0 dropped:0 overruns:0 carrier:0

              collisions:0 txqueuelen:1000

              RX bytes:1081898 (1.0 MiB)  TX bytes:86278 (84.2 KiB)

              Interrupt:51 Base address:0x6300

    最后登录成功

    参考:https://blog.csdn.net/qq_43260665/article/details/89740503

     

    二、配置Linux内核支持wireless无线上网

    1、进入make menuconfig进行配置

    [wuyujun@wuyujunlocalhost linux-3.0]$ export TERM=vt100

    [wuyujun@wuyujunlocalhost linux-3.0]$ make menuconfig

    [*] Networking support  --->
    
        -*-   Wireless  --->
    
             <*>   cfg80211 - wireless configuration API
    
             [*]     enable powersave by default
    
             [*]     enable powersave by default
    
            [*]   Wireless extensions sysfs files
    
            [*]     cfg80211 wireless extensions compatibility
    
            <*>   Common routines for IEEE802.11 drivers
    
            [ ]   lib80211 debugging messages (NEW)
    
            <*>   Generic IEEE 802.11 Networking Stack (mac80211)
    
            [*]   Minstrel
    
            [*]   Minstrel 802.11n support
    
        Device Drivers  --->
    
             Generic Driver Options  --->
    
                (/sbin/hotplug) path to uevent helper
    
                [*]   Include in-kernel firmware blobs in kernel binary
    
            [*] Network device support  --->
    
                [*]   Wireless LAN  --->
    
                     <*>   Ralink driver support  --->
    
                        --- Ralink driver support  
    
                        <*>   Ralink rt27xx/rt28xx/rt30xx (USB) support
    
                        [*]   Ralink debug output

    2、重新编译内核,并烧录到开发板,开机后插入wifi模块,串口打印如下消息

    ~ >: usb 1-1.1: new full speed USB device number 3 using s3c2410-ohci

    phy0 -> rt2x00_set_chip: Info - Chipset detected - rt: 3070, rf: 0005, rev: 0201.

    ~ >: lsusb

    Bus 001 Device 001: ID 1d6b:0001

    Bus 001 Device 002: ID 05e3:0606

    Bus 001 Device 003: ID 148f:3070

    ~ >: ifconfig wlan0

    wlan0     Link encap:Ethernet  HWaddr 00:12:04:24:06:93  

              BROADCAST MULTICAST  MTU:1500  Metric:1

              RX packets:0 errors:0 dropped:0 overruns:0 frame:0

              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

              collisions:0 txqueuelen:1000

              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

    第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)

    第三行:MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节

    第四、五行:接收、发送数据包情况统计

    第七行:接收、发送数据字节数统计信息。

    三、无线网络配置工具Wireless tools和Wpa_supplicant以及Openssl移植

    目前可以使用wireless-tools或wpa_supplicant工具来配置无线网络。但要注意对无线网络的配置是全局性的,而非针对具体的接口。wpa_supplicant是一个较好的选择,但缺点是它不支持所有的驱动。另外,wpa_supplicant目前只能连接到那些你已经配置好ESSID的无线网络。而wireless-tools支持几乎所有的无线网卡和驱动,但它不能连接到那些只支持WPA的AP。

    (1)Wireless tools移植

    [wuyujun@wuyujunlocalhost ~]$ cd fl2440/3rdparty/

    [wuyujun@wuyujunlocalhost 3rdparty]$ wget https://hewlettpackard.github.io/wireless-tools/wireless_tools.29.tar.gz

    [wuyujun@wuyujunlocalhost 3rdparty]$ tar -xzvf wireless_tools.29.tar.gz

    [wuyujun@wuyujunlocalhost 3rdparty]$ mkdir wireless

    [wuyujun@wuyujunlocalhost 3rdparty]$ cd wireless_tools.29

    [wuyujun@wuyujunlocalhost wireless_tools.29]$ vim Makefile

    修改Makefile,主要是修改成相对应的交叉编译器

    PREFIX = /home/wuyujun/fl2440/3rdparty/wireless

    #因为交叉编译仅是给fl2440开发板用的不需要安装到/usr/local路径下面,安装到刚创建的目录下面

    ## Compiler to use (modify this for cross compile).

    CC = /opt/xtools/arm920t/bin/arm-linux-gcc

    ## Other tools you need to modify for cross compile (static lib only).

    AR = /opt/xtools/arm920t/bin/arm-linux-ar

    RANLIB = /opt/xtools/arm920t/bin/arm-linux-ranlib

    [wuyujun@wuyujunlocalhost wireless_tools.29]$ make

    [wuyujun@wuyujunlocalhost wireless_tools.29]$ make install

    在该目录下找到libiw.so.29,下载到开发板的/lib/目录下;再该目录下找到iwpriv、iwconfig、iwlist, iwevent, iwspy等这些绿色可执行的文件,下载到开发板的/bin目录下。这时就应该可以使用这些命令通过网卡搜索到环境中的无线网络。

    ~ >: tftp -gr libiw.so.29 192.168.137.1

    ~ >: chmod a+x libiw.so.29

    ~ >: mv libiw.so.29 /lib

    其他的也传到开发板下

    ~ >: chmod a+x iw*

    ~ >: chmod a+x ifrename

    ~ >: mv iw* /bin

    ~ >: mv ifrename /bin

    使用一个命令试试是否成功

    ~ >: iwconfig

    lo        no wireless extensions.

     

    eth0      no wireless extensions.

     

    wlan0     IEEE 802.11bgn  ESSID:off/any  

              Mode:Managed  Access Point: Not-Associated   Tx-Power=0 dBm   

              Retry  long limit:7   RTS thr:off   Fragment thr:off

              Encryption key:off

              Power Management:on

    (2)Openssl工具移植

    现在的wifi网络大多都是WPA加密,所以wpa_supplicant对我们来说除了配置无线网络的需求之外,它更主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的。而要加密就要使用到相关的加密算法,常用的密钥等,所以我们要先移植Openssl工具再移植wpa-supplicant。因为后面编译wpa_supplicant要依赖openssl中的lib和include

    [wuyujun@wuyujunlocalhost 3rdparty]$ wget https://coding.net/u/sfantree/p/self_use_OSS/git/raw/master/source/openssl-1.0.0s.tar.gz

    [wuyujun@wuyujunlocalhost 3rdparty]$ tar -xzf openssl-1.0.0s.tar.gz

    创建安装路径

    [wuyujun@wuyujunlocalhost openssl-1.0.0s]$ mkdir install

    修改Makefile

    [wuyujun@wuyujunlocalhost openssl-1.0.0s]$ vim Makefile   

    INSTALLTOP=/home/wuyujun/fl2440/3rdparty/openssl-1.0.0s/install                                                       

    OPENSSLDIR=/home/wuyujun/fl2440/3rdparty/openssl-1.0.0s/install

    CC= /opt/xtools/arm920t/bin/arm-linux-gcc

    AR= /opt/xtools/arm920t/bin/arm-linux-ar $(ARFLAGS) r

    RANLIB= /opt/xtools/arm920t/bin/arm-linux-ranlib

    [wuyujun@wuyujunlocalhost openssl-1.0.0s]$ make&&make install

    [wuyujun@wuyujunlocalhost openssl-1.0.0s]$ ls install/lib/

    engines  libcrypto.a  libssl.a  pkgconfig

    把 libcrypto.a  libssl.a放到开发板/lib下

    (3)wpa_supplicant驱动移植

    wpa_supplicant本是开源项目源码,被谷歌修改后加入Android移动平台,它主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_supplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,而用户可以通过socket发送命令给wpa_supplicant调动驱动来对WiFi芯片操作。 简单的说,wpa_supplicant就是WiFi驱动和用户的中转站外加对协议和加密认证的支持。

    [wuyujun@wuyujunlocalhost 3rdparty]$ wget https://coding.net/u/sfantree/p/self_use_OSS/git/raw/master/source/wpa_supplicant-0.7.3.tar.gz

    [wuyujun@wuyujunlocalhost 3rdparty]$ tar -xzvf wpa_supplicant-0.7.3.tar.gz

    [wuyujun@wuyujunlocalhost 3rdparty]$ cd wpa_supplicant-0.7.3

    [wuyujun@wuyujunlocalhost wpa_supplicant-0.7.3]$ cd wpa_supplicant/

    [wuyujun@wuyujunlocalhost wpa_supplicant]$ cp defconfig .config

    [wuyujun@wuyujunlocalhost wpa_supplicant]$ vim .config

    #### sveasoft (e.g., for Linksys WRT54G) ######################################

    #CC=mipsel-uclibc-gcc

    CC=/opt/xtools/arm920t/bin/arm-linux-gcc -L /home/wuyujun/fl2440/3rdparty/openssl-1.0.0s/install/lib

    #CFLAGS += -Os

    CFLAGS +=-I /home/wuyujun/fl2440/3rdparty/openssl-1.0.0s/install/include

    #CPPFLAGS += -I../src/include -I../../src/router/openssl/include

    LIBS +=-L /home/wuyujun/fl2440/3rdparty/openssl-1.0.0s/install/lib

    #LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9.19/lib -lssl

    ###############################################################################

    编译

    [wuyujun@wuyujunlocalhost wpa_supplicant]$ make

    然后将wpa_cliwpa_supplicantwpa_passphrase到开发板的/bin目录下并加上执行权限

    、使能rt3070无线网卡

    下载3070固件,放到开发板/lib/firmware下,通常情况下,load firmware的动作是通过用户空间的hotplug handler,也就是/proc/sys/kernel/hotplug里设定的执行档,来完成。root_qtopia默认会在/etc/init.d/rcS里将/proc/sys/kernel/hotplug设定为/sbin/mdev,即busybox的mdev模块。它在收到来自内核的请求加载rt3070.bin这个firmware消息后,会从/lib/firmware目录下去找rt3070.bin,如果能找到就加载

    下载rt2870.bin

    [wuyujun@wuyujunlocalhost 3rdparty]$ wget https://coding.net/u/sfantree/p/self_use_OSS/git/raw/master/source/rt2870.bin

    传到开发板上

    ~ >: tftp -gr rt2870.bin 192.168.137.1

    /lib/fireware >: mv ~/rt2870.bin rt2870.bin

    /lib/fireware >: ls

    rt2870.bin

    要给它加上权限,否则会报错Error - Failed to request Firmware.

    /lib/firmware >: chmod a+x rt2870.bin

    ~ >: ifconfig wlan0 up

    phy1 -> rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'.

    phy1 -> rt2x00lib_request_firmware: Info - Firmware detected - version: 0.29.

    phy1 -> rt2x00mac_conf_tx: Info - Configured TX queue 0 - CWmin: 3, CWmax: 4, Aifs: 2, TXop: 102.

    phy1 -> rt2x00mac_conf_tx: Info - Configured TX queue 1 - CWmin: 4, CWmax: 5, Aifs: 2, TXop: 188.

    phy1 -> rt2x00mac_conf_tx: Info - Configured TX queue 2 - CWmin: 5, CWmax: 10, Aifs: 3, TXop: 0.

    phy1 -> rt2x00mac_conf_tx: Info - Configured TX queue 3 - CWmin: 5, CWmax: 10, Aifs: 7, TXop: 0.

    使能成功

    五、rt3070无线模块连接路由器

    /lib/firmware >: cd

    ~ >: cd apps/

    /apps >: mkdir etc

    /apps >: cd etc/

    /apps/etc >: mkdir wireless

    /apps/etc >: cd wireless

    在开发板上输入命令:wpa_passphrase ssid psk>>wpa_supplicant.conf(ssid就是你wifi的名字 psk就是密码)

    /apps/etc/wireless >: wpa_passphrase LingYun_XiaoMi lingyun_emb >> wpa_supplicant.conf

    /apps/etc/wireless >: ls

    wpa_supplicant.conf

    /apps/etc/wireless >: cat wpa_supplicant.conf 

    network={

            ssid="LingYun_XiaoMi"

            #psk="lingyun_emb"

            psk=136a6b18bd0d21eb12d6bc591fa652d628cbb438e8f29fcfeb8d763c0bf15ec2

    }

    修改配置文件如下:

    /apps/etc/wireless >: vim wpa_supplicant.conf

    # WPA-PSK/TKIP

     

    # wpa_supplicant -Dwext -iwlan0 -c/apps/etc/wireless/wpa_supplicant.conf

    ctrl_interface=/var/run/wpa_supplicant

    network={

            ssid="LingYun_XiaoMi"

            key_mgmt=WPA-PSK

            proto=WPA2

            pairwise=TKIP CCMP

            group=TKIP CCMP

            #psk="lingyun_emb"

            psk=136a6b18bd0d21eb12d6bc591fa652d628cbb438e8f29fcfeb8d763c0bf15ec2

    }

    激活网卡

    /apps/etc/wireless >: ifconfig wlan0 up

    ~ >: wpa_supplicant -Dwext -iwlan0 -c/apps/etc/wireless/wpa_supplicant.conf &

    Trying to associate with 50:64:2b:31:11:9a (SSID='LingYun_XiaoMi' freq=2422 MHz)

    phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 2 - CWmin: 4, CWmax: 10, Aifs: 3, TXop: 0.

    phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 3 - CWmin: 4, CWmax: 10, Aifs: 7, TXop: 0.

    phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 1 - CWmin: 3, CWmax: 4, Aifs: 2, TXop: 94.

    phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 0 - CWmin: 2, CWmax: 3, Aifs: 2, TXop: 47.

    Associated with 50:64:2b:31:11:9a

    WPA: Key negotiation completed with 50:64:2b:31:11:9a [PTK=CCMP GTK=TKIP]

    CTRL-EVENT-CONNECTED - Connection to 50:64:2b:31:11:9a completed (auth) [id=0 id_str=]

    ~ >: iwconfig 

    lo        no wireless extensions.

     

    eth0      no wireless extensions.

     

    wlan0     IEEE 802.11bgn  ESSID:"LingYun_XiaoMi"  

              Mode:Managed  Frequency:2.422 GHz  Access Point: 50:64:2B:31:11:9A   

              Bit Rate=6.5 Mb/s   Tx-Power=20 dBm   

              Retry  long limit:7   RTS thr:off   Fragment thr:off

              Encryption key:off

              Power Management:on

              Link Quality=61/70  Signal level=-49 dBm  

              Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

              Tx excessive retries:0  Invalid misc:0   Missed beacon:0

    ~ >: ifconfig

    eth0      Link encap:Ethernet  HWaddr BA:25:AF:C3:89:FB  

              inet addr:192.168.137.9  Bcast:192.168.137.255  Mask:255.255.255.0

              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

              RX packets:143 errors:0 dropped:0 overruns:0 frame:0

              TX packets:32 errors:0 dropped:0 overruns:0 carrier:0

              collisions:0 txqueuelen:1000

              RX bytes:19609 (19.1 KiB)  TX bytes:5694 (5.5 KiB)

              Interrupt:51 Base address:0x6300

     

    wlan0     Link encap:Ethernet  HWaddr 00:12:04:23:B0:89  

              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

              RX packets:776 errors:0 dropped:0 overruns:0 frame:0

              TX packets:2 errors:0 dropped:0 overruns:0 carrier:0

              collisions:0 txqueuelen:1000

              RX bytes:34552 (33.7 KiB)  TX bytes:288 (288.0 B)

    网络设置:

    未开启DHCP,所以得手动分配:

    设置IP

    ~ >: ifconfig wlan0 192.168.0.198

    设置默认网关

    ~ >: route add default gw 192.168.0.1

    设置DNS

    ~ >: echo "nameserver 8.8.8.8" > /etc/resolv.conf

    用ping命令测试网络

    ~ >: ping baidu.com

    PING baidu.com (220.181.38.148): 56 data bytes

    64 bytes from 220.181.38.148: seq=0 ttl=53 time=25.000 ms

    64 bytes from 220.181.38.148: seq=1 ttl=53 time=70.000 ms

    64 bytes from 220.181.38.148: seq=7 ttl=53 time=65.000 ms

    64 bytes from 220.181.38.148: seq=8 ttl=53 time=65.000 ms

    ^C

    --- baidu.com ping statistics ---

    开启DHCP: 

    busybox已经集成了DHCP的客户端和服务端,make编译后,我们只要把Busybox的examples/udhcp/simple.script 拷贝到开发板/usr/share/udhcpc/下,并重命名为default.script,然后更改文件default.script的权限。

    [wuyujun@wuyujunlocalhost ~]$ cd fl2440/3rdparty/busybox-1.27.1/examples/udhcp/

    [wuyujun@wuyujunlocalhost udhcp]$ ls

    sample.bound  sample.deconfig  sample.nak  sample.renew  sample.script  simple.script  udhcpd.conf

    ~ >: mv simple.script default.script

    ~ >: chmod a+x default.script

    ~ >: cd /usr/

    /usr >: mkdir -p share/udhcpc/

    /usr >: cd share/udhcpc/

    /usr/share/udhcpc >: mv /default.script default.script

    /usr/share/udhcpc >: ls

    default.script

    /usr/share/udhcpc >: udhcpc -i wlan0

    udhcpc: started, v1.27.1

    Setting IP address 0.0.0.0 on wlan0

    udhcpc: sending discover

    udhcpc: sending select for 192.168.0.105

    udhcpc: lease of 192.168.0.105 obtained, lease time 43200

    Setting IP address 192.168.0.105 on wlan0

    Deleting routers

    route: SIOCDELRT: No such process

    Adding router 192.168.0.1

    Recreating /etc/resolv.conf

     Adding DNS server 192.168.0.1

    动态获取ip地址成功

    /usr/share/udhcpc >: ifconfig

    eth0      Link encap:Ethernet  HWaddr BA:25:AF:C3:89:FB  

              inet addr:192.168.137.9  Bcast:192.168.137.255  Mask:255.255.255.0

              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

              RX packets:78 errors:0 dropped:0 overruns:0 frame:0

              TX packets:41 errors:0 dropped:0 overruns:0 carrier:0

              collisions:0 txqueuelen:1000

              RX bytes:16532 (16.1 KiB)  TX bytes:4412 (4.3 KiB)

              Interrupt:51 Base address:0x6300

     

    wlan0     Link encap:Ethernet  HWaddr 00:12:04:23:B0:89  

              inet addr:192.168.0.105  Bcast:192.168.0.255  Mask:255.255.255.0

              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

              RX packets:4118 errors:0 dropped:253 overruns:0 frame:0

              TX packets:13 errors:0 dropped:0 overruns:0 carrier:0

              collisions:0 txqueuelen:1000

              RX bytes:195554 (190.9 KiB)  TX bytes:3970 (3.8 KiB)

    /usr/share/udhcpc >: ping baidu.com

    PING baidu.com (220.181.38.148): 56 data bytes

    64 bytes from 220.181.38.148: seq=0 ttl=53 time=25.000 ms

    64 bytes from 220.181.38.148: seq=1 ttl=53 time=75.000 ms

    64 bytes from 220.181.38.148: seq=2 ttl=53 time=65.000 ms

    64 bytes from 220.181.38.148: seq=3 ttl=53 time=65.000 ms

    ^C

    --- baidu.com ping statistics ---

    最后在同一个局域网内,就可以通过ssh远程连接到开发板上进行开发了

    下面是有关wifi无线网络的相关知识,转载至:https://blog.csdn.net/baweiyaoji/article/details/72229183

    1、计算机网络->无线网络的几种常见标准:

    IEEE802.11a:使用5GHz频段,传输速度54Mbps,与802.11b不兼容;

    IEEE 802.11b:使用2.4GHz频段,传输速度11Mbps;

    IEEE802.11g:使用2.4GHz频段,传输速度主要有54Mbps、108Mbps,可向下兼容802.11b;

    IEEE802.11n草案:使用2.4GHz频段,传输速度可达300Mbps,标准尚为草案,但产品已层出不穷;

    目前IEEE802.11b最常用,但IEEE802.11g更具下一代标准的实力,802.11n也在快速发展中。

    IEEE 802.11是如今无线局域网通用的标准。

    2、WiFi无线网络的几种认证与加密方式:

    Open System:完全不认证也不加密,任何人都可以连到无线基地台使用网络。

    WEP (Wired Equivalent Privacy) 有线等效加密:最基本的加密技术,手机用户、笔记型计算机与无线网络的Access Point拥有相同的网络密钥,才能解读互相传递的数据。密钥分为64bits及128bits两种,最多可设定四组不同的密钥。当用户端进入WLAN前必须输入正确的密钥才能进行连接。

    WPA (Wi-Fi Protected Access) 商务宝采用的加密方式:由Wi-Fi Alliance (http://www.wi-fi.com/)所提出的无线安全标准,有分成家用的WPA-PSK (Pre-Shared Key)与企业用的WPA-Enterprise版本。

    WPA2:WPA的加强版,也就是IEEE 802.11i无线网络标准。同样有家用的PSK版本与企业的IEEE 802.1x版本。WPA2与WPA的差别在于,它使用更安全的加密技术AES (Advanced Encryption Standard),因此比WPA更难被破解、更安全。

    MAC ACL (Access Control List):MAC ACL只能用于认证而不能用于加密。在无线基地台输入允许被连入的无线网卡MAC地址,不在此清单的无线网卡无法连入无线基地台。

    RT3070有两种工作模式:STA(station)模式和SoftAP(Access Point)模式。STA即客户端模式,即利用rt3070连接路由器进行上网。有了wifi模块和3G模块也可以用开发板来做个路由器提供wifi,这样就是SoftAP模式

    参考:https://blog.csdn.net/fml1997/article/details/72803222

    https://blog.csdn.net/baweiyaoji/article/details/72229183

     

    展开全文
  • arm-linux 移植无线网卡RT3070驱动

    千次阅读 2015-03-21 14:05:44
    环境: 编译环境:Ubuntukylin 14.04 ...无线模块:雷凌Ralink - rt3070 一、内核版本:Linux 3.0及以上 1、配置Linux内核 1.1 进入Linux内核目录:$ make menuconfig 1.2 勾选 Networking
    环境:
    
    编译环境:Ubuntukylin 14.04
    交叉编译器:arm-linux-gcc 4.4.1
    开发板内核:Linux2.6 & 3.0.1及以上
    无线模块:雷凌Ralink - rt3070

    一、内核版本:Linux 3.0及以上


    1、配置Linux内核
    1.1 进入Linux内核目录:$ make menuconfig
    1.2 勾选 Networking support --->Wireless --->cfg80211 - wireless configuration API / Generic IEEE 802.11 Networking Stack (mac80211)
    1.3 勾选 Device Drivers --->Network device support --->Wireless LAN ---> Ralink driver support ---> Ralink rt27xx/rt28xx/rt30xx (USB) support
    1.4 退出保存配置
    2、重新编译内核
    $ make clean
    $ make
    在目录下生成新内核zImage
    3、开发板重新烧录
    重新SD卡烧录内核zImage到开发板
    4、固件rt2870.bin的拷贝
    雷凌官网驱动包中的"/common/rt2870.bin"拷贝到开发板"/lib/firmware/"目录下
    5、无线和有线的连接调试
    有线连接:
    1.$ ifconfig eth0 192.168.20.203      (设置IP地址)
    2.$ ping 192.168.20.201                (测试与PC机的连通)
    无线连接:
    1.$ ifconfig wlan0 up                         (打开无线网卡)
    2.$ iwlist wlan0 scan                         (搜索无线网络)
    3.$ iwconfig wlan0 essid "linux" key s:11223  (设置无线essid和密码)
    4.$ iwconfig      (查看无线连接信息)
    5.$ ifconfig wlan0 192.168.20.209      (设置无线IP地址)
    6.$ route add default gw 192.168.20.1      (配置路由表,添加网管)
    7.$ ping 192.168.20.201      (测试与PC机的连通)
    (此种无线连接命令只适合 WEP加密方式 或 不加密)
    6、shell脚本命令
    #!/bin/sh
    ifconfig eth0 down
    #iwlist wlan0 scan
    iwconfig wlan0 essid "linux" key s:11223
    ifconfig wlan0 up

    ifconfig wlan0 192.168.20.209
    route add default gw 192.168.20.1
    udhcpc –i wlan0 #以上两行可以使用此命令代替,自动获取IP,分配路由表
    ifconfig eth0 up




    二、内核版本:Linux2.6


    1、驱动源码的交叉编译
    1.1 解压源码包,修改Makefile文件
    CHIPSET = 3070
    PLATFORM = SMDK

    ifeq ($(PLATFORM),SMDK)
    LINUX_SRC = /home/tango/code/linux-2.6.32.2
    CROSS_COMPILE = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-
    1.2 修改/os/linux/config.mk文件
    定义:
    CHIPSET = 3070
    CROSS_COMPILE =/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-
    修改:
    # Support Wpa_Supplicant
    HAS_WPA_SUPPLICANT=y
    # Support Native WpaSupplicant for Network Maganger
    HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
    1.3 $ make
    生成/os/linux/rt3070sta.ko文件
    $ arm-linux-strip -S rt3070sta.ko (如果太大,去掉调试信息)
    2、重新编译内核
    2.1 配置Linux内核,进入Linux内核目录
    $ make menuconfig
    2.2 勾选 Device Drivers --->Network device support --->Wireless LAN(non-hamradio) ---> Wireless LAN driver(non-hamradio)& Wireless Extensions
    2.3 双击键盘“Esc”键退出,保存配置
    2.4 编译内核
    $ make clean
    $ make
    在"./arch/arm/boot"目录下生成新内核zImage
    2.5、开发板重新烧写内核
    重新SD卡烧录内核zImage到开发板(具体步骤见开发板手册)
    3、移植无线驱动到开发板
    3.1 拷贝驱动到目标系统
    把./RT2870STA.dat拷贝到开发板(/etc/Wireless/RT2870STA)目录下
    把./os/linux/rt3070sta.ko拷贝到开发板(/xxx/)目录下,xxx自定
    把./common/rt2870.bin拷贝到开发板(lib/firmware)目录下
    3.2 加载驱动模块
    $ insmod /xxx/rt3070sta.ko
    4、无线模块配置
    $ ifconfig ra0 192.168.20.225 netmask 255.255.255.0
    $ iwlist ra0 scan
    4.1 无密码
    iwpriv ra0 set NetworkType=Infra
    iwpriv ra0 set AuthMode=OPEN
    iwpriv ra0 set EncrypType=NONE
    iwpriv ra0 set SSID="AP's SSID"
    4.2 WEP加密算法
    iwpriv ra0 set NetworkType=Infra
    iwpriv ra0 set AuthMode=SHARED
    iwpriv ra0 set EncrypType=WEP
    iwpriv ra0 set DefaultKeyID=1
    iwpriv ra0 set Key1="11223"
    iwpriv ra0 set SSID="linux"
    设置完一会,等网络连接好就可以了
    (如果没有iwpriv命令,把文件中的iwpriv拷贝到开发板/bin/目录下就可以了)


    展开全文
  • 包含: 1.软件:1102-0x20000_hg255d-squashfs-tftp.checksum2.bin 2.openwrt固件:0508-openwrt-ramips-rt305x-hg255d-squashfs-By_shcl.bin 3.教程连接。
  • 我们可以知道固件的名字是rt2870.bin。 这个固件我们需要到网上去搜,可以在腾达的官网上找到,因为腾达有一款USB WIFI的里面用到的芯片就是RT5370,下载他们公司提供的驱动,在common文件夹里面可以看到。 ...
  • 对jre包里的rt.jar精简

    2018-09-25 14:12:48
    注意这个jar有可能有些class文件没有加载进去(比如shutdown.calss等等),所以剩下的就是自己慢慢调了,你可以创建一个jre环境,执行命令jre\bin\java.exe -Dfile.encoding=utf-8 -jar mytest.jar 进行报错调试。...
  • RT5350F 酷翼A2_I6V3.bin

    2020-01-05 22:31:22
    酷翼A2_I6V3.bin 酷翼A2 i6V3编程器固件,RT5350F芯片,同HAME华美A5系列
  • 这个是HG 255D用的Uboot,是不死Uboot,可以随便刷固件,只要reset就会重新上传并刷新。
  • openwrt 华为hg255d固件0508-openwrt-ramips-rt305x-hg255d-squashfs-By_shcl.bin
  • 电信原版uboot使用
  • rtl_nic/rtl8105e-1.fw: ...rt2860.bin: ralink https://www.debian.org/ -> Debian Packages -> View the packages in the stable distribution -> Kernels -> firmware-misc-nonfree ...
  • 1019-DreamBox-ramips-rt305x-hg255d-squashfs-sysupgrade.bin
  • mt7620的打印服务器固件,最低配置要求为8m+64m,只包含打印机P910d
  • rt3290linux驱动 Ralink_RT3290_Linux_STA_v2600.bz2
  • ./include/os/rt_drv.h:#define EEPROM_BIN_FILE_NAME "/etc/Wireless/RT2870STA/e2p.bin" ./include/os/rt_linux.h:#define STA_PROFILE_PATH "/etc/Wireless/RT2870STA/RT2870STA.dat" ./include/os/rt_...
  • 在cubieboar2(A20)平台上进行hostapd+RT3070的softAP配置时,出现类似如下错误: [ 1043.640000] phy0 -> rt2x00lib_request_firmware: Error – Failed to request Firmware. SIOCSIFFLAGS: No such file or ...
  • AC58U 路由 OpenWrt 的最新固件,额外添加解锁网易云灰色歌曲
  • https://packages.debian.org/zh-cn/jessie/kernel/firmware-realtek

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 49,136
精华内容 19,654
热门标签
关键字:

rt2870.bin