暂停后无线网络连接失败

暂停后无线网络连接失败

sudo service network-manager restart重复此问题,并尝试再次选择另一个或相同的网络。

Wi-Fi 仅在重启后才可用。有线连接工作正常。我使用的是 Ubuntu 18.04.2 LTS。

sudo lshw -C networkWi-Fi 工作时的输出为:

  *-network
       description: Wireless interface
       product: Realtek Semiconductor Co., Ltd.
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlo1
       version: 00
       serial: 9c:30:5b:d2:fa:8b
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=rtl8723de ip=192.168.0.87 latency=0 multicast=yes wireless=IEEE 802.11bgn
       resources: irq:129 ioport:3000(size=256) memory:b1000000-b100ffff

当 Wi-Fi 无法使用时:

  *-network
       description: Wireless interface
       product: Realtek Semiconductor Co., Ltd.
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlo1
       version: 00
       serial: 9c:30:5b:d2:fa:8b
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=rtl8723de latency=0 multicast=yes wireless=unassociated
       resources: irq:129 ioport:3000(size=256) memory:b1000000-b100ffff

我尝试过但没有成功:

  • sudo systemctl restart network-manager.service

  • rtl8723de通过运行以下命令重新加载驱动程序:

    sudo modprobe -r rtl8723de && sudo modprobe rtl8723de
    

答案1

它在 Debian 10 中对我有用,但我不得不消除双重[[ ]]符号以支持[ ]。我把它留在这里以防有人遇到同样的问题。我还必须"在某些地方添加。

#!/bin/bash

PROGNAME=$(basename "$0")
state=$1
action=$2

function log {
    logger -i -t "$PROGNAME" "$*"
}

log "Running $action $state"

if [ "${1}" == "post" ]; then
    rmmod 8723de \
    && log "Removed rtl8723de" \
    && modprobe rtl8723de \
    && log "Inserted rtl8723de"
fi

答案2

我发现 并sudo modprobe -r rtl8723de没有真正卸载驱动程序。可以通过lsmod或进行检查lsmod | grep 8723de。如果驱动程序已加载,则会在输出中列出,如果没有,则表示驱动程序已卸载。

为了卸载,我必须使用命令rmmod,并且由于某种原因,为了卸载驱动程序,我必须通过 来调用它8723de

所以我做了:

sudo rmmod 8723de

然后重新加载驱动程序:

sudo modprobe rtl8723de

互联网连接随即开始正常工作。

我自动采用了该站点上接受的解决方案:

类型sudo nano /lib/systemd/system-sleep/rtl8723de-refresh.插入:

#!/bin/bash

PROGNAME=$(basename "$0")
state=$1
action=$2

function log {
    logger -i -t "$PROGNAME" "$*"
}

log "Running $action $state"

if [[ $state == post ]]; then
    rmmod 8723de \
    && log "Removed rtl8723de" \
    && modprobe rtl8723de \
    && log "Inserted rtl8723de"
fi

使用Strg+X和保存并退出C

使用以下命令使可执行文件:

chmod +x /lib/systemd/system-sleep/rtl8723de-refresh

需要说明的是,我从这个网站获得了驱动程序:https://github.com/smlinux/rtl8723de.git

相关内容