Wifi不会留在BeagleBone上

时间:2012-07-06 14:40:30

标签: linux networking wifi beagleboard

我在BeagleBone上运行Ubuntu 11.10,并将Edimax EW-7711UAn wifi适配器插入USB端口。我已经配置了/ etc / network / interfaces和wifi工作,但是:

  1. 启动设备时,wlan0接口并不总是出现。它成功地进行了三次尝试。

  2. 界面有时会再次下降,尤其是暂时不使用时。

  3. / etc / network / interfaces文件包括:

    auto wlan0
        iface wlan0 inet dhcp
        wpa-driver wext
        wpa-ssid "Bodoni"
        wpa-psk "<mypassword>"
    

    为了尝试解决第1点),我在/etc/rc.local中添加了以下内容:

    nohup sh -c "ifdown wlan0 && ifup wlan0"
    

    但它似乎没什么帮助。我猜第二个问题可能与电源管理有关,所以我可能会尝试在/etc/rc.local中关闭它。

    但是有没有人想过如何让wifi在启动时可靠地出现?我正在运行没有以太网的BeagleBone无头(它在机器人上)所以重要的是我修复它!

    仅供参考,我正在使用默认驱动程序 - lsmod给出:

    Module                  Size  Used by
    aes_generic            27837  2 
    arc4                    1111  2 
    rt2800usb              12386  0 
    rt2800lib              45146  1 rt2800usb
    crc_ccitt               1457  1 rt2800lib
    rt2x00usb              10595  1 rt2800usb
    rt2x00lib              39077  3 rt2800usb,rt2800lib,rt2x00usb
    mac80211              228509  3 rt2800lib,rt2x00usb,rt2x00lib
    cfg80211              167722  2 rt2x00lib,mac80211
    rfkill                 16703  1 cfg80211
    binfmt_misc             6224  1 
    spidev                  4620  0 
    

    我希望不必编译新的驱动程序,因为我没有取得多大的成功!

5 个答案:

答案 0 :(得分:7)

我的BeagleBones使用rt2800usb驱动程序使用另一个wifi适配器时遇到了类似的问题。具体来说,我使用的是基于rt3070芯片的DLINK DWA-125(HW Rev A2)。

如果我将DWA-125直接插入BeagleBone上的USB端口,您报告的症状相同。

但如果我将适配器插入USB延长线,然后将延长线插入BeagleBone USB端口,一切正常。我使用这个设置完成了100个小时的Cloud9开发,并且没有任何Wifi问题。

我正在运行Angstrom发行版 - 我发现所有三个最后BB版本(4 / 22.5 /?和6/18)都存在同样的问题。

USB延长线的长度似乎并不重要(至少在1英尺到12英尺之间 - 没有尝试过低于1英尺的任何东西。)

我有6个BeagleBones(4个版本A5和2个版本A6) - 所有这些Beaglebones的行为都相同。

还有4个DWA-125 Rev A2 USB适配器 - 所有这些行为都是相同的。

我没有尝试使用相同或其他芯片/驱动程序的其他USB Wifi适配器。我没有花时间追查这种行为的根本原因 - 我有代码要编写!

但是,如果您的经历与我的相符,请试一试 - 这是一个快速简单的“修复”。

----附录:

我刚尝试了Belkin N150 Micro USB Wifi适配器的实验 - 基于rtl8192cu芯片和6/18 BeagleBone Angstrom发行版附带的标准驱动程序。

有非常相似的行为:当直接插入USB端口时,Wifi根本不起作用。但是当通过1英尺USB延长线插入时,一切正常。

答案 1 :(得分:2)

我遇到了同样的问题。我到目前为止找到的最佳解释是this one from Adafruit

主要想法是Wifi加密狗被HDMI适配器破坏,HDMI适配器位于USB插槽下方。在这种情况下,您有两种解决方法:

  1. 通过电缆
  2. 尽可能将Wifi-dongle从USB插槽中取出
  3. 如果您真的不需要,请禁用HDMI接口!
  4. 只有第二个选项帮助了我。

    以下是步骤:

    > mkdir /mnt/boot
    > mount /dev/mmcblk0p1 /mnt/boot
    > nano /mnt/boot/uEnv.txt
    
    Remove the # in front of the cape_disable command
    
    ##Disable HDMI
    cape_disable=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
    

    我希望它会帮助你们!

答案 2 :(得分:1)

我已经通过移除USB ESD尖峰保护IC(U10,TPD4S012)解决了这个问题。它应连接在USB连接器和CPU之间,但它放在我板上的USB连接器之后(转速A4)。我不知道这是否在以后的修订中得到修复。

更新:在某些情况下,这无济于事。检查this主题。

答案 3 :(得分:1)

我在一年中的大部分时间里遇到过类似的问题,直到我用Google搜索足够长的时间来找到

WICD

用wicd设置后,我的5个beaglebon在我的家庭网络上从后卧室到车库的wifi加密狗上坚如磐石。 / etc / network / interfaces不是要走的路。我必须尝试过数百种配置,有些配置似乎持续了一两天。我确实记得doc为接口提供了一个很好的默认值,非常准确。如果需要,wicd会运行你的请求者。

答案 4 :(得分:0)

我在BeagleBone上获得可靠的WiFi需要花费很多时间。最后,答案是使用Atheros加密狗,因为我的RealTek和RALink芯片组运气不佳。在Angstrom和Ubuntu中,NetGear WNA1100对我来说非常可靠。请参阅我的帖子here