sudo service network-manager restart
重复此问题,并尝试再次选择另一个或相同的网络。
Wi-Fi 仅在重启后才可用。有线连接工作正常。我使用的是 Ubuntu 18.04.2 LTS。
sudo lshw -C network
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 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