首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >systemd-networkd - wifi有时无法连接

systemd-networkd - wifi有时无法连接
EN

Unix & Linux用户
提问于 2019-04-25 13:11:42
回答 1查看 1.5K关注 0票数 1

问题陈述

我有一个嵌入式Linux系统,它使用systemd-networkd进行网络管理。大约有一半的时间,设备可以连接到Wifi,并通过DHCP在30秒内获得一个IPv4地址。在其他情况下,系统日志显示身份验证和关联,但设备没有获得IPv4地址。我已经等了5分钟或更长时间还没拿到IP。

配置

1)这是/etc/systemd/network/wlan0.network配置文件:

代码语言:javascript
复制
[Match]
Name=wlan0
[Network]
DHCP=ipv4
IPv6AcceptRA=no
LinkLocalAddressing=no

我还安装了.network文件,只有DHCP=yes,下面没有任何东西。结果似乎是一样的。

2)下面是/etc/wpa_supplicant.conf文件:

代码语言:javascript
复制
ctrl_interface=/var/run/wpa_supplicant
ap_scan=1

country=US

network={
        ssid=<my SSID>
        psk=<my key>
}

3)我没有为wpa_supplicant@wlan0.service配置自己的wpa_supplicant文件,因为我是在需要接口时手动启动它的。没有安装其他网络管理器(NetworkManager、connman等)。我不会启动任何DHCP工具(dhclient,dhcpcd);我依赖于系统-网络内部。

调试

1)下面是显示关联的dmesg | tail的输出,无论获得IP地址都会发生这种情况:

代码语言:javascript
复制
[  846.988274] ieee80211 phy1: WMM Turbo=1
[  847.312843] wlan0: authenticate with <AP MAC addr>
[  847.329052] wlan0: send auth to <AP MAC addr> (try 1/3)
[  847.334566] wlan0: authenticated
[  847.352271] wlan0: associate with <AP MAC addr> (try 1/3)
[  847.362762] wlan0: RX AssocResp from <AP MAC addr> (capab=0x1011 status=0 aid=1)
[  847.373968] wlan0: associated
[  847.391864] wlan0: Limiting TX power to 24 (24 - 0) dBm as advertised by <AP MAC addr>

这个输出来自驱动程序,所以在一般意义上,除了说“它关联”之外,可能没有太大的意义。

2)一些博客/帖子建议使用像systemctl restart systemd-networkdifconfig wlan0 down && ifconfig wlan0 up这样的命令来触发DHCP的重新协商。有时,我无法判断后一个命令works...although,仅仅等待几秒钟是否会产生一些影响。

3)当一切正常时,我看到这样的日志:

代码语言:javascript
复制
Apr 25 12:41:43 host systemd-networkd[511]: [[0;1;39m[[0;1;31m[[0;1;39mwlan0: found matching network '/etc/systemd/network/wlan0.network', based on potentially unpredictable ifname[[0m
Apr 25 12:41:43 host systemd-networkd[511]: wlan0: IPv6 successfully disabled
Apr 25 12:41:48 host systemd-networkd[511]: wlan0: Gained carrier
Apr 25 12:41:48 host systemd-networkd[511]: wlan0: DHCPv4 address 10.217.244.165/8 via 10.128.128.128
Apr 25 12:41:48 host systemd-networkd[511]: wlan0: Configured

当问题发生时,我只看到"wlan0:.“消息。

4)与dmesg类似,iw wlan0 link总是显示与AP的连接,即使没有获得IP:

代码语言:javascript
复制
$ iw wlan0 link
Connected to <AP MAC addr> (on wlan0)
    SSID: <AP name>
    freq: 5200
    RX: 87243 bytes (416 packets)
    TX: 3038 bytes (11 packets)
    signal: -60 dBm
    tx bitrate: 6.0 MBit/s

    bss flags:  short-slot-time
    dtim period:    1
    beacon int: 100

编辑:驱动程序有一个已知的错误,其中“命令iw wlan0链接的输出总是将比特率显示为连接频带的最低数据速率。”所以6.0 MBit/s是假的。然而,信号水平应该是正确的。

问题

有人对调试或配置有进一步的建议,以使这一工作可靠吗?我不清楚这是驱动程序问题、系统问题还是网络问题。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-04-25 14:32:25

从您的信号和主要的TX速率在6 6Mbps,有明显的问题,在第二层,必须改进。信号不足以保证可靠的服务。

一旦信号强度提高,DHCP问题就会消失。

TLDR问题并不在事物本身的Unix方面。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/515460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档