如何在 20.04 中恢复我的网络(和设置)?

如何在 20.04 中恢复我的网络(和设置)?

我在 Ubuntu 20.04 上丢失了网络连接(以太网、WiFi 和蓝牙)。我不知道我做了什么导致它们丢失,但重启后它们就消失了。系统托盘中没有网络图标,在设置中,没有 WiFi 设置,网络子菜单中也没有连接。

我可以从 Live USB 映像启动,并且一切运行良好。

因此,根据我找到的另一个答案,我备份了 netplanner 和 NetworkManager 文件和目录,然后从 Live USB 复制到我的计算机。重新启动进入“正常”的 Ubuntu 环境,仍然没有任何反应。

我运行了sudo lshw -C network,输出是:

*-network UNCLAIMED       
       description: Network controller
       product: AR9485 Wireless Network Adapter
       vendor: Qualcomm Atheros
       physical id: 0
       bus info: pci@0000:02:00.0
       version: 01
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress cap_list
       configuration: latency=0
       resources: memory:f7100000-f717ffff memory:f7180000-f718ffff
  *-network UNCLAIMED
       description: Ethernet controller
       product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:03:00.0
       version: 07
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix vpd bus_master cap_list
       configuration: latency=0
       resources: ioport:d000(size=256) memory:f2104000-f2104fff memory:f2100000-f2103fff

注意:输出中没有“逻辑名称”引用。

我的 NetworkManager.conf 文件是:

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

[device]
wifi.scan-rand-mac-address=no

我的 01-network-manager-all.yaml 文件是:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

使用sudo nmcli可得:

lo: unmanaged
        "lo"
        loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536

Use "nmcli device show" to get complete information about known devices and
"nmcli connection show" to get an overview on active connection profiles.

Consult nmcli(1) and nmcli-examples(7) manual pages for complete usage details.

我没有安装 ifconfig (net-tools)。

运行nm-applet会出现一个灰色的系统托盘图标,但是当我单击该图标时,打开的窗口(显示连接)是空的。

任何帮助是极大的赞赏。

更新 20200724:我可以登录旧内核 5.4.0-41 和 5.4.0-40,一切正常。但 5.4.0-42 有问题。

其他尝试:

输出uname -a

Linux marks-linux-box 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

输出dpkg -l linux-* | grep ii

ii  linux-base                                 4.5ubuntu3.1         all          Linux image base package
ii  linux-firmware                             1.187.2              all          Firmware for Linux kernel drivers
ii  linux-headers-5.4.0-40                     5.4.0-40.44          all          Header files related to Linux kernel version 5.4.0
ii  linux-headers-5.4.0-40-generic             5.4.0-40.44          amd64        Linux kernel headers for version 5.4.0 on 64 bit x86 SMP
ii  linux-headers-5.4.0-41                     5.4.0-41.45          all          Header files related to Linux kernel version 5.4.0
ii  linux-headers-5.4.0-41-generic             5.4.0-41.45          amd64        Linux kernel headers for version 5.4.0 on 64 bit x86 SMP
ii  linux-headers-5.4.0-42                     5.4.0-42.46          all          Header files related to Linux kernel version 5.4.0
ii  linux-headers-5.4.0-42-generic             5.4.0-42.46          amd64        Linux kernel headers for version 5.4.0 on 64 bit x86 SMP
ii  linux-image-5.4.0-40-generic               5.4.0-40.44          amd64        Signed kernel image generic
ii  linux-image-5.4.0-41-generic               5.4.0-41.45          amd64        Signed kernel image generic
ii  linux-image-unsigned-5.4.0-42-generic      5.4.0-42.46          amd64        Linux kernel image for version 5.4.0 on 64 bit x86 SMP
ii  linux-libc-dev:amd64                       5.4.0-42.46          amd64        Linux Kernel Headers for development
ii  linux-modules-5.4.0-40-generic             5.4.0-40.44          amd64        Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
ii  linux-modules-5.4.0-41-generic             5.4.0-41.45          amd64        Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
ii  linux-modules-5.4.0-42-generic             5.4.0-42.46          amd64        Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
ii  linux-modules-extra-5.4.0-40-generic       5.4.0-40.44          amd64        Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
ii  linux-modules-extra-5.4.0-41-generic       5.4.0-41.45          amd64        Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
ii  linux-modules-nvidia-390-5.4.0-40-generic  5.4.0-40.44          amd64        Linux kernel nvidia modules for version 5.4.0-40
ii  linux-modules-nvidia-390-5.4.0-41-generic  5.4.0-41.45          amd64        Linux kernel nvidia modules for version 5.4.0-41
ii  linux-modules-nvidia-390-5.4.0-42-generic  5.4.0-42.46          amd64        Linux kernel nvidia modules for version 5.4.0-42
ii  linux-modules-nvidia-390-generic-hwe-20.04 5.4.0-42.46          amd64        Extra drivers for nvidia-390 for generic-hwe-20.04
ii  linux-sound-base                           1.0.25+dfsg-0ubuntu5 all          base package for ALSA and OSS sound systems

我注意到命名约定在 5.4.0-42 中发生了怎样的变化:

linux-image-5.4.0-40-generic               5.4.0-40.44
linux-image-5.4.0-41-generic               5.4.0-41.45
linux-image-unsigned-5.4.0-42-generic      5.4.0-42.46 

为何未签名?

当它是针对 41 和 40 时,我似乎没有linux-modules-extra安装 42。

答案1

对我来说,我必须安装 r1866 驱动程序,还必须安装 DKMS。为了降低风险,我将 DKMS deb 包和驱动程序从 USB 闪存复制到我的主目录中,这样终端就可以将它们放在当前路径中。

sudo apt install ./dkms_2.8.1-5ubuntu1_all.deb
sudo apt install ./r8168-dkms_8.048.00-1_all.deb

是否重新启动,并且网络、BT 和安装的共享(升级之前)全部正常工作。

注意:DKMS 在官方 dist ISO 中被发现,但在发行版升级期间并未默认安装。驱动程序在 RealTech 官方驱动程序页面中被发现。注意:发行版 (LTS) 未安装“未签名”软件包。

似乎 Ubuntu 20 LTS 没有安装运行它找到的硬件所需的软件包;并且没有自动配备几乎每个基于华硕 AMD 的主板上都存在的极为常见的关键硬件的适当驱动程序。

为你的研究喝彩!帮助很大,为我指明了正确的方向。注意,我本来会投票赞成,但 AskUbuntu 还没有给我任何评价。

答案2

因此,我冒险一试(因为我的知识太少),并且确实让它工作了:

sudo apt remove linux-image-unsigned-5.4.0-42-generic && sudo apt autoremove

然后我接着说:

sudo apt install linux-image-5.4.0-42-generic && sudo apt install linux-modules-extra-5.4.0-42-generic

现在一切都正常了!

答案3

注意 -每次 Ubuntu 升级 Linux 映像时,我都必须手动安装linux-modules-extra并用“签名”版本替换。linux-image-unsigned-5.4.0-xx-generic

我想我找到了答案这里...

我认为如果您安装 linux-generic,您最终会得到适用于您的内核版本的 linux-image-extra(它是一个依赖项),并且它会随着未来的内核更新而自动更新。

sudo apt install -y linux-generic

相关内容