pcduino上移植rt5370 softAP驱动

pc朵拉 发布于 2013/08/06 16:01
阅读 695
收藏 0
先做一些说明:
1,现在新版的pcduino上面已经自带了rt5370驱动,但是那个是rt5370sta;只支持ad-hoc(点对点);
2,雷凌公司官网上并不提供开源的rt5370驱动,但是在Linux3.0以后的内核中已经集成了rt5xxx的驱动;
通过以上说明知道,这里需要配置内核让内核支持rt5370 softAP驱动,然后设置系统不让系统自动加载rt5370sta驱动。
内核配置过程如下:
/home/pillar/WORK/kernel/build/sun4i_defconfig-linux
在这个目录下执行:
make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm menuconfig
在菜单选项中选择
Device Drivers  --->
  • Network device support  --->
  •    Wireless LAN  --->
  • <M>   Ralink driver support  --->

    这里可以看到rt53xx系列了,选上就行了。
    退出之后按照我前一博客所写的步骤实现,内核的烧写。
    然后把/lib/modules/3.4.29+/里面的内容换一下,换成现在最新的。成功之后,修改
    vim /etc/modules里面的内容,用#注释掉rt5370sta。完成之后重启reboot.
    重启之后。
    root @ubuntu :/home/ubuntu# lsmod
    Module Size Used by
    rt5370sta 617141 0
    8192cu 537048 0
    rt2800usb 11321 0
    rt2800lib 40721 1 rt2800usb
    crc_ccitt 1094 1 rt2800lib
    rt2x00usb 7245 1 rt2800usb
    rt2x00lib 31040 3 rt2800usb,rt2800lib,rt2x00usb
    mali_drm 2087 1
    drm 157060 2 mali_drm
    mac80211 257514 3 rt2800lib,rt2x00usb,rt2x00lib
    cfg80211 150671 2 rt2x00lib,mac80211
    mali 91258 0
    disp_ump 823 0
    ump 44002 4 mali,disp_ump
    可以用lsmod查看内核加载驱动信息。
    由于我们在内核选择的是一个系列,因此在我们使用的时候需要进行一些设置。
    sudo modprobe rt2800usb
    sudo -s
    echo 148F 5370 > /sys/bus/usb/drivers/rt2800usb/new_id
    通过以上命令就可以了,这时候执行ifconfig wlan3 up ,它会提示错误。说什么phy0错误。
    这里是因为我们没有把USB wifi的固件放到指定地方。通过命令modinfo rt2800usb
    root @ubuntu :/home/ubuntu# modinfo rt2800usb
    filename: /lib/modules/3.4.29+/kernel/drivers/net/wireless/rt2x00/rt2800usb.ko
    license: GPL
    firmware: rt2870.bin
    description: Ralink RT2800 USB Wireless LAN driver.
    version: 2.3.0
    author:  http://rt2x00.serialmonkey.com
    srcversion: 86EB9107CC5610BFA893CE6
    我们可以知道固件的名字是rt2870.bin。
    这个固件我们需要到网上去搜,可以在腾达的官网上找到,因为腾达有一款USB WIFI的里面用到的芯片就是RT5370,下载他们公司提供的驱动,在common文件夹里面可以看到。
    下载到固件之后,我们需要把固件放到指定位置,这个位置/lib/firmware/ ;
    操作执行完之后再执行ifconfig wlan0 up就可以看到pcduino上搜索到的wifi信号。看到有些玩家已经介绍了怎么在pcduino上连接wifi.这里我就不在多说了。
    这里介绍一些查看调试无线驱动的命令。
    1,iwconfig

    root@ubuntu :/home/ubuntu# iwconfig
    mon.wlan3 IEEE 802.11bgn Mode:Monitor Frequency:2.462 GHz Tx-Power=20 dBm
    Retry long limit:7 RTS thrff Fragment thrff
    Power Managementn
    lo no wireless extensions.
    tunl0 no wireless extensions.
    sit0 no wireless extensions.
    eth0 no wireless extensions.
    wlan3 IEEE 802.11bgn Mode:Master Frequency:2.462 GHz Tx-Power=20 dBm
    Retry long limit:7 RTS thrff Fragment thrff
    Power Managementn

    这个命令用来专门查看当前的无线网络状态,可以看到mode已经是Master模式,而且出现mon.wlan3,这说明当前是主动模式,而且正在向外发送wifi.
    2,iw
    这个命令需要安装sudo apt -get install iw
    执行iw list
    root @ubuntu :/home/ubuntu# iw list
    Wiphy phy3
    Band 1:
    Capabilities: 0x172
    HT20/HT40
    Static SM Power Save
    RX Greenfield
    RX HT20 SGI
    RX HT40 SGI
    RX STBC 1-stream
    Max AMSDU length: 3839 bytes
    No DSSS/CCK HT40
    Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
    Minimum RX AMPDU time spacing: 2 usec (0x04)
    HT RX MCS rate indexes supported: 0-7, 32
    TX unequal modulation not supported
    HT TX Max spatial streams: 1
    HT TX MCS rate indexes supported may differ
    Frequencies:
    * 2412 MHz [1] (20.0 dBm)
    * 2417 MHz [2] (20.0 dBm)
    * 2422 MHz [3] (20.0 dBm)
    * 2427 MHz [4] (20.0 dBm)
    * 2432 MHz [5] (20.0 dBm)
    * 2437 MHz [6] (20.0 dBm)
    * 2442 MHz [7] (20.0 dBm)
    * 2447 MHz [8] (20.0 dBm)
    * 2452 MHz [9] (20.0 dBm)
    * 2457 MHz [10] (20.0 dBm)
    * 2462 MHz [11] (20.0 dBm)
    * 2467 MHz [12] (20.0 dBm) (passive scanning, no IBSS)
    * 2472 MHz [13] (20.0 dBm)
    * 2484 MHz [14] (20.0 dBm) (passive scanning, no IBSS)
    Bitrates (non-HT):
    * 1.0 Mbps
    * 2.0 Mbps (short preamble supported)
    * 5.5 Mbps (short preamble supported)
    * 11.0 Mbps (short preamble supported)
    * 6.0 Mbps
    * 9.0 Mbps
    * 12.0 Mbps
    * 18.0 Mbps
    * 24.0 Mbps
    * 36.0 Mbps
    * 48.0 Mbps
    * 54.0 Mbps
    max # scan SSIDs: 4
    max scan IEs length: 2257 bytes
    Coverage class: 0 (up to 0m)
    Supported Ciphers:
    * WEP40 (00-0f-ac:1)
    * WEP104 (00-0f-ac:5)
    * TKIP (00-0f-ac:2)
    * CCMP (00-0f-ac:4)
    Available Antennas: TX 0 RX 0
    Supported interface modes:
    * IBSS
    * managed
    * AP
    * AP/VLAN
    * WDS
    * monitor
    * mesh point
    software interface modes (can always be added):
    * AP/VLAN
    * monitor
    interface combinations are not supported
    Supported commands:
    * new_interface
    * set_interface
    * new_key
    * new_beacon
    * new_station
    * new_mpath
    * set_mesh_params
    * set_bss
    * authenticate
    * associate
    * deauthenticate
    * disassociate
    * join_ibss
    * join_mesh
    * remain_on_channel
    * set_tx_bitrate_mask
    * action
    * frame_wait_cancel
    * set_wiphy_netns
    * set_channel
    * set_wds_peer
    * Unknown command (84)
    * Unknown command (87)
    * Unknown command (85)
    * testmode
    * connect
    * disconnect
    ..........
    可以看到rt5370的一些信息。从中可以看到RT5370是支持AP的。
    最后分享一下在pcDuino上可以看到搜索到的无线信号图片。

    加载中
    返回顶部
    顶部