如何让我的 pci wifi 卡 rtl8822 在 ubuntu 上运行

如何让我的 pci wifi 卡 rtl8822 在 ubuntu 上运行

我在 HP OMEN 15(2017) 笔记本电脑上安装了 Ubuntu 17.04,发现 wifi 卡无法正常工作。我遵循了我的 WiFi 适配器完全不工作,如何排除故障?| 询问 Ubuntu 我发现wifi卡id是Realtek 10ec:b822。

我在这些网站上找到了一些信息:
产品信息网站:RTL8822BE | Realtek.com
适用于 Windows 的驱动程序:适用于 Windows 10(64 位)的 Realtek RTL8822BE 无线局域网驱动程序 | support.lenovo.com

########## wireless info START ##########

Report from: 17 Jun 2017 15:09 CST +0800

Booted last: 17 Jun 2017 00:00 CST +0800

Script from: 25 Mar 2017 07:04 UTC +0000

##### release ###########################

Distributor ID: Ubuntu
Description:    Ubuntu 17.04
Release:    17.04
Codename:   zesty

##### kernel ############################

Linux 4.10.0-19-generic #21-Ubuntu SMP Thu Apr 6 17:04:57 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Parameters: ro, quiet, splash, vt.handoff=7

##### desktop ###########################

GNOME

##### lspci #############################

03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 16)
    Subsystem: Hewlett-Packard Company RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [103c:838f]
    Kernel driver in use: r8169

04:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:b822]
    Subsystem: Hewlett-Packard Company Device [103c:831b]

05:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS522A PCI Express Card Reader [10ec:522a] (rev 01)

##### lsusb #############################

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0bda:b00b Realtek Semiconductor Corp. 
Bus 001 Device 002: ID 04f2:b5d6 Chicony Electronics Co., Ltd 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

##### PCMCIA card info ##################

##### rfkill ############################

0: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no

##### lsmod #############################

hp_wmi                 16384  0
sparse_keymap          16384  1 hp_wmi
mxm_wmi                16384  1 nouveau
wmi                    16384  3 mxm_wmi,nouveau,hp_wmi

##### interfaces ########################

auto lo
iface lo inet loopback

##### ifconfig ##########################

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback <MAC address> brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether <MAC 'enp3s0' [IF1]> brd <MAC address>
    inet 192.168.50.5/24 brd 192.168.50.255 scope global dynamic enp3s0
       valid_lft 83146sec preferred_lft 83146sec
    inet6 fe80::ef4:dc54:7aa3:546/64 scope link 
       valid_lft forever preferred_lft forever

##### iwconfig ##########################

enp3s0    no wireless extensions.

lo        no wireless extensions.

##### route #############################

default via 192.168.50.1 dev enp3s0 proto static metric 100 
169.254.0.0/16 dev enp3s0 scope link metric 1000 
192.168.50.0/24 dev enp3s0 proto kernel scope link src 192.168.50.5 metric 100 

##### resolv.conf #######################

nameserver 127.0.0.53

##### network managers ##################

Installed:

    NetworkManager

Running:

root       829     1  0 14:15 ?        00:00:00 /usr/sbin/NetworkManager --no-daemon

##### NetworkManager info ###############

GENERAL.DEVICE:                         enp3s0
GENERAL.TYPE:                           ethernet
GENERAL.NM-TYPE:                        NMDeviceEthernet
GENERAL.VENDOR:                         Realtek Semiconductor Co., Ltd.
GENERAL.PRODUCT:                        RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
GENERAL.DRIVER:                         r8169
GENERAL.DRIVER-VERSION:                 2.3LK-NAPI
GENERAL.FIRMWARE-VERSION:               
GENERAL.HWADDR:                         <MAC 'enp3s0' [IF1]>
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.REASON:                         0 (No reason given)
GENERAL.UDI:                            /sys/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/enp3s0
GENERAL.IP-IFACE:                       enp3s0
GENERAL.IS-SOFTWARE:                    no
GENERAL.NM-MANAGED:                     yes
GENERAL.AUTOCONNECT:                    yes
GENERAL.FIRMWARE-MISSING:               no
GENERAL.NM-PLUGIN-MISSING:              no
GENERAL.PHYS-PORT-ID:                   --
GENERAL.CONNECTION:                     Wired connection 1
GENERAL.CON-UUID:                       d0a6c4d6-510a-325c-8465-361e2f13261b
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/0
GENERAL.METERED:                        no (guessed)
CAPABILITIES.CARRIER-DETECT:            yes
CAPABILITIES.SPEED:                     100 Mb/s
CAPABILITIES.IS-SOFTWARE:               no
WIRED-PROPERTIES.CARRIER:               on
CONNECTIONS.AVAILABLE-CONNECTION-PATHS: /org/freedesktop/NetworkManager/Settings/{0}
CONNECTIONS.AVAILABLE-CONNECTIONS[1]:   d0a6c4d6-510a-325c-8465-361e2f13261b | Wired connection 1
IP4.ADDRESS[1]:                         192.168.50.5/24
IP4.GATEWAY:                            192.168.50.1
IP4.ROUTE[1]:                           dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000
IP4.DNS[1]:                             192.168.50.1
DHCP4.OPTION[1]:                        requested_subnet_mask = 1
DHCP4.OPTION[2]:                        requested_rfc3442_classless_static_routes = 1
DHCP4.OPTION[3]:                        subnet_mask = 255.255.255.0
DHCP4.OPTION[4]:                        domain_name_servers = 192.168.50.1
DHCP4.OPTION[5]:                        ip_address = 192.168.50.5
DHCP4.OPTION[6]:                        requested_static_routes = 1
DHCP4.OPTION[7]:                        dhcp_server_identifier = 192.168.50.1
DHCP4.OPTION[8]:                        requested_time_offset = 1
DHCP4.OPTION[9]:                        broadcast_address = 192.168.50.255
DHCP4.OPTION[10]:                       requested_interface_mtu = 1
DHCP4.OPTION[11]:                       dhcp_rebinding_time = 75600
DHCP4.OPTION[12]:                       requested_domain_name_servers = 1
DHCP4.OPTION[13]:                       dhcp_message_type = 5
DHCP4.OPTION[14]:                       requested_broadcast_address = 1
DHCP4.OPTION[15]:                       routers = 192.168.50.1
DHCP4.OPTION[16]:                       wpad = a
DHCP4.OPTION[17]:                       dhcp_renewal_time = 43200
DHCP4.OPTION[18]:                       requested_domain_name = 1
DHCP4.OPTION[19]:                       requested_routers = 1
DHCP4.OPTION[20]:                       expiry = 1497766543
DHCP4.OPTION[21]:                       requested_wpad = 1
DHCP4.OPTION[22]:                       host_name = OMEN15
DHCP4.OPTION[23]:                       requested_netbios_scope = 1
DHCP4.OPTION[24]:                       requested_ms_classless_static_routes = 1
DHCP4.OPTION[25]:                       requested_netbios_name_servers = 1
DHCP4.OPTION[26]:                       network_number = 192.168.50.0
DHCP4.OPTION[27]:                       requested_domain_search = 1
DHCP4.OPTION[28]:                       requested_ntp_servers = 1
DHCP4.OPTION[29]:                       next_server = 192.168.50.1
DHCP4.OPTION[30]:                       requested_host_name = 1
DHCP4.OPTION[31]:                       dhcp_lease_time = 86400
IP6.ADDRESS[1]:                         fe80::ef4:dc54:7aa3:546/64
IP6.GATEWAY:                            

##### NetworkManager.state ##############

[main]
NetworkingEnabled=true
WirelessEnabled=true
WWANEnabled=true

##### NetworkManager.conf ###############

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

##### NetworkManager profiles ###########

[[/etc/NetworkManager/system-connections/mac's MacBook Pro]] (600 root)
[connection] id=mac's MacBook Pro | type=wifi | permissions=
[wifi] mac-address=<MAC address> | mac-address-blacklist= | ssid=mac's MacBook Pro
[ipv4] method=auto
[ipv6] method=auto

[[/etc/NetworkManager/system-connections/9527]] (600 root)
[connection] id=9527 | type=wifi | permissions=
[wifi] mac-address=<MAC address> | mac-address-blacklist= | ssid=9527
[ipv4] method=auto
[ipv6] method=auto

[[/etc/NetworkManager/system-connections/Connectify-9999]] (600 root)
[connection] id=Connectify-9999 | type=wifi | permissions=
[wifi] mac-address=<MAC address> | mac-address-blacklist= | ssid=Connectify-9999
[ipv4] method=auto
[ipv6] method=auto

##### iw reg get ########################

Region: Asia/Shanghai (based on set time zone)

global
country 00: DFS-UNSET
    (2402 - 2472 @ 40), (6, 20), (N/A)
    (2457 - 2482 @ 20), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
    (2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN
    (5170 - 5250 @ 80), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
    (5250 - 5330 @ 80), (6, 20), (0 ms), DFS, AUTO-BW, PASSIVE-SCAN
    (5490 - 5730 @ 160), (6, 20), (0 ms), DFS, PASSIVE-SCAN
    (5735 - 5835 @ 80), (6, 20), (N/A), PASSIVE-SCAN
    (57240 - 63720 @ 2160), (N/A, 0), (N/A)

##### iwlist channels ###################

enp3s0    no frequency information.

lo        no frequency information.

##### iwlist scan #######################

enp3s0    Interface doesn't support scanning.

lo        Interface doesn't support scanning.

##### module infos ######################

##### module parameters #################

##### /etc/modules ######################

##### modprobe options ##################

[/etc/modprobe.d/blacklist-ath_pci.conf]
blacklist ath_pci

[/etc/modprobe.d/blacklist.conf]
blacklist evbug
blacklist usbmouse
blacklist usbkbd
blacklist eepro100
blacklist de4x5
blacklist eth1394
blacklist snd_intel8x0m
blacklist snd_aw2
blacklist i2c_i801
blacklist prism54
blacklist bcm43xx
blacklist garmin_gps
blacklist asus_acpi
blacklist snd_pcsp
blacklist pcspkr
blacklist amd76x_edac

[/etc/modprobe.d/blacklist-rare-network.conf]
alias net-pf-3 off
alias net-pf-6 off
alias net-pf-9 off
alias net-pf-11 off
alias net-pf-12 off
alias net-pf-19 off
alias net-pf-21 off
alias net-pf-36 off

[/etc/modprobe.d/intel-microcode-blacklist.conf]
blacklist microcode

[/etc/modprobe.d/iwlwifi.conf]
remove iwlwifi \
(/sbin/lsmod | grep -o -e ^iwlmvm -e ^iwldvm -e ^iwlwifi | xargs /sbin/rmmod) \
&& /sbin/modprobe -r mac80211

[/etc/modprobe.d/mlx4.conf]
softdep mlx4_core post: mlx4_en

##### rc.local ##########################

grep: /etc/rc.local: No such file or directory

##### pm-utils ##########################

##### udev rules ########################

##### dmesg #############################

[    5.520481] Bluetooth: hci0: rtl: examining hci_ver=07 hci_rev=000b lmp_ver=07 lmp_subver=8822
[    5.520482] Bluetooth: hci0: rtl: loading rtl_bt/rtl8822b_config.bin
[    5.543562] Bluetooth: hci0: rtl: loading rtl_bt/rtl8822b_fw.bin
[    7.556142] IPv6: ADDRCONF(NETDEV_UP): enp3s0: link is not ready
[    7.576972] r8169 0000:03:00.0 enp3s0: link down
[    7.577052] IPv6: ADDRCONF(NETDEV_UP): enp3s0: link is not ready
[    7.585025] r8169 0000:03:00.0 enp3s0: link down
[   15.054434] r8169 0000:03:00.0 enp3s0: link up
[   15.054442] IPv6: ADDRCONF(NETDEV_CHANGE): enp3s0: link becomes ready

########## wireless info END ############

答案1

18.04 版更新答案

此处接受的解决方案对于 Ubuntu 18.04 来说已经过时了 -rtl8822be应该是开箱即用的。

  • 在安装过程中,Ubuntu 应该会检测你拥有的 Wifi 卡并为其安装正确的驱动程序,但要在 Ubuntu 18.04 上搜索任何其他可用的驱动程序,请转到软件与更新程序并点击附加驱动程序标签。

(点击“活动' 在桌面左上角。输入's' 在搜索框中输入应该足以显示可用的相关程序)

  • 另一个偶尔发生的“怪癖”是安全启动驱动程序签名存在问题并阻止其加载。

您可以通过检查机器的BIOS设置(通常通过按制造商选择的特定键来访问,例如f2esc当您打开计算机时,但Grub 菜单还允许您选择“系统设置' 来查看您的选项)。

  • 在某些情况下,软件或硬件阻止可能会阻止 Wifi 连接。您可以通过rfkill list在终端中输入来检查这一点。

如果您仍然遇到问题,这里有一个很好的故障排除指南:https://help.ubuntu.com/stable/ubuntu-help/net-wireless-troubleshooting.html.en

答案2

我刚刚开始工作,一切都相当容易(经过谷歌搜索等)

  1. 安装最新的 4.14 内核和驱动程序代码(来自说明这里

    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.14/linux-headers-4.14.0-041400_4.14.0-041400.201711122031_all.deb
    
    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.14/linux-headers-4.14.0-041400-generic_4.14.0-041400.201711122031_amd64.deb
    
    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.14/linux-image-4.14.0-041400-generic_4.14.0-041400.201711122031_amd64.deb
    
    sudo dpkg -i linux*.deb
    
  2. rtl8822befw.bin从以下位置下载固件文件这里

  3. 将其保存在 中/lib/firmware/rtlwifi。请注意,较新的发行版可能已经有此文件。

  4. 重启。

享受

请注意,此驱动程序目前仍处于测试阶段,因此使用时请自行承担风险!

答案3

我可以确认@user776895 的答案修复了我的机器上的问题。非常感谢!!

不过,手动升级内核是否会导致 Ubuntu 启动菜单中出现新条目?根据这一页

wget linux-headers.deb ....
wget linxu-image.deb

然后,可以通过在终端中执行以下操作来同时安装所有软件包:

sudo dpkg -i *.deb

此过程完成后,您的启动菜单上应该会出现一个代表上游内核的新条目(如果启动菜单未显示,请在启动时按 Shift)。这将显示为如下条目:

Ubuntu Trusty,内核 xxx.xxxx-generic

我使用过ukuu 并确认我的 grub2 菜单没有问题(没有看到新条目)

还值得一提的是,它
linux-firmware 1.161 不包含所需的固件,所以不要费心尝试

答案4

Chili555 的解决方案来自主题无线网络没有显示?对我来说很好用。运行以下命令:

sudo apt-get update
sudo apt-get install b43-fwcutter

然后重新启动笔记本电脑,wifi 网络就会显示出来。

相关内容