【问题标题】:Wifi won't stay up on BeagleBoneWifi 不会在 BeagleBone 上熬夜
【发布时间】:2012-07-07 00:58:25
【问题描述】:

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

  1. 在启动设备时,wlan0 接口并不总是出现。大约三分之一的尝试成功。

  2. 界面有时会再次出现故障,尤其是在一段时间不使用时。

/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 

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

【问题讨论】:

    标签: linux networking wifi beagleboard


    【解决方案1】:

    我的 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 个 BeagleBone(4 个 A5 版和 2 个 A6 版)- 所有这些 Beaglebone 的行为都是相同的。

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

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

    但是,如果您的经验与我的相符,不妨试一试 - 它是一种快速简便的“修复”方法。

    ---- 附录:

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

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

    【讨论】:

    • 多么奇怪。目前我已经让它工作得更好了。我在 /etc/rc.local 中放了一堆命令。如果 eth0 没有 IP,我使用 ifdown eth0,假设我们运行的是无线而不是有线。然后我检查 wlan0 是否有 IP。如果没有,我执行 ifdown wlan0 然后 ifup --force wlan0。为了更好地衡量,我释放了任何 DHCP 租约并运行 dhclient 以获得新的租约。到目前为止,这已经导致无线网络相当可靠,甚至可以长时间使用。我可能会编写一个 cron 作业来进行定期检查并在未连接时强制无线启动。
    • 我的情况更糟 - 尝试使用 wifi 加密狗后 USB 端口会死机。只有重新启动才能将其恢复。一个 USB 集线器修复了它。
    【解决方案2】:

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

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

    1. 通过电缆将 Wifi-dongle 尽可能远离 USB 插槽
    2. 如果您真的不需要 HDMI 接口,请禁用它!

    只有第二个选项对我有帮助。

    步骤如下:

    > 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
    

    希望对大家有帮助!

    【讨论】:

      【解决方案3】:

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

      更新:在某些情况下这不会有太大帮助。检查this线程。

      【讨论】:

        【解决方案4】:

        我在一年的大部分时间里都遇到了类似的问题,直到我用谷歌搜索了足够长的时间才能找到

        wicd

        在使用 wicd 进行设置后,我的 5 个 beaglebone 在我的家庭网络上的 wifi 加密狗上从后卧室到车库一直坚如磐石。 /etc/network/interfaces 不是要走的路。我一定尝试了数百种配置,有些配置似乎可以持续一两天。我记得文档为接口提供了一个很好的默认值,非常准系统。如果需要,wicd 会运行您的请求者。

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            猜你喜欢
            • 2015-03-29
            • 1970-01-01
            • 2014-01-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-09-15
            • 1970-01-01
            相关资源
            最近更新 更多