embedded-linux - Gumstix Overo wifi 不断掉线

标签 embedded-linux wifi bitbake gumstix

我正在使用 Gumstix overo,从过去的很多天开始,我无法让我的 Wifi 正常工作。

我按照 Gumstix Overo Wifi 的说明进行操作和 Overo Wifi在/etc/network/interfaces 和/etc/wpa_supplicant.conf 中设置正确的参数。

/etc/network/interfaces 文件:

# Wireless interfaces
auto wlan0
iface wlan0 inet dhcp
      pre-up wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf -B
      down killall -q wpa_supplicant

wpa_supplicant.conf:
ctrl_interface=/var/run/wpa_supplicant
    ctrl_interface_group=0
    update_config=1
    eapol_version=1
    ap_scan=1
    fast_reauth=1

    network={
            ssid="xxxxxx"
            proto=WPA
            key_mgmt=WPA-PSK
            pairwise=CCMP TKIP
            group=CCMP TKIP
            scan_ssid=1
            psk="xxxxx"
            priority=10
    }

设置并运行后ifdown wlan0 && ifup wlan0我不断收到此消息:

[1176.528778] cfg80211:调用 CRDA 更新世界监管域
[2155.687255] cfg80211:调用 CRDA 更新世界监管域
[1175.293609] cfg80211:调用 CRDA 更新世界监管域

我的 iwconfig :
lo        no wireless extensions.

wlan0     IEEE 802.11bg  ESSID:off/any  
          Mode:Managed  Frequency:2.412 GHz  Access Point: Not-Associated   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on

我的 lsmod 看起来像这样:

root@overo:~# lsmod
Module                  Size  Used by
libertas_sdio          16484  0 
libertas               99993  1 libertas_sdio
firmware_class          6920  2 libertas_sdio,libertas
ipv6                  252525  22 
cfg80211              172644  1 libertas
rfkill                 17524  3 cfg80211
lib80211                5138  1 libertas
mt9v032                 7169  1 
omap3_isp             132270  0 
v4l2_common             8681  2 omap3_isp,mt9v032
ads7846                10528  0 
videodev               98880  3 omap3_isp,mt9v032,v4l2_common
media                  12853  3 omap3_isp,mt9v032,videodev

我正在使用从 https://github.com/gumstix/Gumstix-YoctoProject-Repo 克隆的 gumstix 的 yocto 项目

如果我能在我做错的地方得到任何输入,那将是很大的帮助。

最佳答案

wifi 掉线的原因是网络管理器。通过禁用它,我们可以运行 ifconfig , iwconfig不受 NetworkManager 的任何干扰。

或另一种解决方法是非常成功的:

创建具有正确镜像的 SD 卡后,不要卸载分区。

安装自定义 systemd 服务

要在启动时打开无线接口(interface),您需要在 microSD 卡上创建并安装自定义 systemd 服务。

  • 在 rootfs 分区中,创建一个新的服务脚本:
    $sudoedit /media/rootfs/etc/systemd/system/network-wireless@.service
  • 将以下内容复制并粘贴到文件中:
    Description=Wireless network connectivity (%i)Wants=network.targetBefore=network.targetBindsTo=sys-subsystem-net-devices-%i.deviceAfter=sys-subsystem-net-devices-%i.device[Service]Type=oneshotRemainAfterExit=yesExecStart=/sbin/ifconfig %i upExecStart=/usr/sbin/wpa_supplicant -B -i %i -c /etc/wpa_supplicant.confExecStart=/sbin/dhclient %iRestartSec=1minRestart=on-failureExecStop=/sbin/ifconfig %i down[Install]WantedBy=multi-user.target

  • 保存此文件。
  • 因为我们在开发机器上编辑这些文件,所以启用服务的正常 systemd 方法 (systemctl) 将不起作用。要启用我们的新服务:

    ~ 进入根文件系统的 multi-user.target.wants 目录:
    $cd /media/rootfs/etc/systemd/system/multi-user.target.wants/
    ~ 创建一个符号链接(symbolic link)来启用服务:

    Overo 系列 COM
    $sudo ln -s ../network-wireless@.service network-wireless@wlan0.service

  • 最后,编辑wpa_supplicant配置文件:
    $sudoedit /media/rootfs/etc/wpa_supplicant.conf
    

    将其更改为如下所示:
    network={
        ssid="Your Network's SSID"
        psk="Your WPA2 Passkey"
    }
    

    保存文件。

    卸载 microSD 卡上的分区。

    SSH 进入您的系统

    1) 如果你不知道ip $ssh root@overo.local 2)如果你知道IP地址$ssh root@192.xx.xx.xx.local

    关于embedded-linux - Gumstix Overo wifi 不断掉线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20421033/

    相关文章:

    c++ - 用于移动开发和机顶盒应用的嵌入式 Linux

    linux - 自定义扩展文件属性

    c - 串行端口卡在 read() 数据

    objective-c - iOS调出WiFi认证表

    yocto - 如何更改基于 autotools 的 Bitbake 配方的安装路径?

    yocto - 如何清理、释放空间?

    python - 在 Raspbian 上自动启动程序 - Raspberry Pi 3

    java - 使用wifi连接两个android设备

    c - 使用 iwinfo 库没有扫描结果

    bitbake - 谁能告诉我 RRCOMMENDS 和 RDEPENDS 的区别