4

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

我按照Gumstix Overo WifiOvero 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 项目

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

4

1 回答 1

2

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

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

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

安装自定义 systemd 服务

要在启动时调出无线接口,您需要在 microSD 卡上创建并安装自定义 systemd 服务。

  • 在 rootfs 分区中,创建一个新的服务脚本:

    $sudoedit /media/rootfs/etc/systemd/system/network-wireless@.service

  • 将以下内容复制并粘贴到文件中:

    Description=Wireless network connectivity (%i)
    Wants=network.target
    Before=network.target
    BindsTo=sys-subsystem-net-devices-%i.device
    After=sys-subsystem-net-devices-%i.device


    [Service]
    Type=oneshot
    RemainAfterExit=yes


    ExecStart=/sbin/ifconfig %i up
    ExecStart=/usr/sbin/wpa_supplicant -B -i %i -c /etc/wpa_supplicant.conf
    ExecStart=/sbin/dhclient %i
    RestartSec=1min
    Restart=on-failure


    ExecStop=/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/

    ~ 创建一个符号链接来启用服务:

    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

于 2013-12-13T13:55:19.450 回答