web-dev-qa-db-ja.com

rtl8822beWi-Fiが機能しないubuntu18.04(Bluetoothが機能する)

最近、ASUS vivobook s15を購入しました。 rtl8822be wifi/bluetooth NICが付属しています。私はデュアルブートウィンドウ10とubuntu 18.04です。私はwindows10のwifi/bluetoothに問題はありません。 Linuxでは、Bluetoothは機能しますが、wifiは機能しません。 「ip link list」を使用してインターフェイスを表示できますが、「DORMANT」モードです。ドライバとインターフェイスが表示されていますが、ドライバ(またはカーネル)内で何かが壊れています。他のフォーラム(以下にリスト)でrtl8822beが18.04でサポートされているのを見たので、これは非常に奇妙です...

私が試してみました:

  • aspm = 0の設定
  • bluetoothモジュールをブラックリストに登録する
  • lwfingerのgithubページからソースからドライバーをビルドする
  • 新規インストール
  • インターフェースを手動で制御
  • ネットワークマネージャー設定ファイルでpowersave = 2(オフ)を設定する
  • もっと...

コマンド出力は次のとおりです。

mobile3@mobile3-VivoBook:~$ lsmod | grep 8822
r8822be               688128  0
mac80211              815104  4 ath9k_htc,rtwpci,rtw88,r8822be
cfg80211              675840  6 ath9k_htc,ath9k_common,ath,mac80211,rtw88,r8822be

mobile3@mobile3-VivoBook:~$ lspci -nnk | grep 8822
01:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8822BE 802.11a/b/g/n/ac WiFi adapter [10ec:b822]
Kernel modules: rtwpci, r8822be

mobile3@mobile3-VivoBook:/opt$ uname -r
5.0.0-27-generic

mobile3@mobile3-VivoBook:/opt$ Sudo ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: wlp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000
link/ether dc:f5:05:c7:fd:8d brd ff:ff:ff:ff:ff:ff

ドライバーは機能しているようですが、何らかの理由でNICのwifi部分を起動できません。同様のスレッドがいくつかあります。 https://forums.linuxmint.com/ viewtopic.php?t = 266219https://askubuntu.com/questions/1067286/still-no-wifi-adapter-for-realtek-rtl8822be-found-in-18-04https://askubuntu.com/questions/926364/how-to-make-my-pci-wifi-card-rtl8822-working-on-ubunt

編集1:19.04 LiveUSBにwifiがあり、RTL8822BEチップが機能することを確認しましたが、インストールすると、wifiが機能しません。

EDIT2:以下に回答を掲載しました。基本的に、カーネルを5.0.0.13にロールバックしました。同様の問題が発生している人の場合、NetworkManagerがインターフェイスを設定するのに苦労していて、最終的にインターフェイスを切断することに気づきました。

ubuntu@ubuntu:/tmp/kern$ journalctl | grep wlp1s0
Sep 09 23:27:13 ubuntu kernel: rtw_pci 0000:01:00.0 wlp1s0: renamed from wlan0
Sep 09 23:27:13 ubuntu NetworkManager[1308]: <info>  [1568071633.5581] devices added (path: /sys/devices/pci0000:00/0000:00:02.4/0000:01:00.0/net/wlp1s0, iface: wlp1s0)
Sep 09 23:27:13 ubuntu NetworkManager[1308]: <info>  [1568071633.5581] device added (path: /sys/devices/pci0000:00/0000:00:02.4/0000:01:00.0/net/wlp1s0, iface: wlp1s0): no ifupdown configuration found.
Sep 09 23:27:13 ubuntu NetworkManager[1308]: <info>  [1568071633.5582] device (wlp1s0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Sep 09 23:27:14 ubuntu NetworkManager[1308]: <info>  [1568071634.1258] device (wlp1s0): supplicant interface state: starting -> ready
Sep 09 23:27:14 ubuntu NetworkManager[1308]: <info>  [1568071634.1258] device (wlp1s0): state change: unavailable -> disconnected (reason 'supplicant-available', sys-iface-state: 'managed')
Sep 09 23:27:25 ubuntu NetworkManager[1308]: <info>  [1568071645.9281] device changed (path: /sys/devices/pci0000:00/0000:00:02.4/0000:01:00.0/net/wlp1s0, iface: wlp1s0)
Sep 09 23:28:50 ubuntu wpa_supplicant[1310]: wlp1s0: CTRL-EVENT-REGDOM-CHANGE init=DRIVER type=CUSTOM_WORLD
Sep 09 23:28:50 ubuntu wpa_supplicant[1310]: wlp1s0: CTRL-EVENT-REGDOM-CHANGE init=DRIVER type=INTERSECTION
2
Tom Looby

最新のLinuxカーネル5.0.0.27が問題の原因であるようです。古いカーネル5.0.0.13を使用して起動すると、RTL8822beチップセットはwifiおよびBluetoothで正常に動作します。 My Disco(19.04)LiveUSBは5.0.0.13を使用します。次に、5.0.0.13カーネルを使用してUbuntu 19.04をインストールしましたが、機能しました。

同様の問題が発生している他のユーザーの場合:カーネルをロールバックするか、19.04に切り替えてみてください。 19.04の新規インストール後、カーネル5.0.0.13で起動し、apt-getupdateとapt-getupgradeを実行すると、再起動後にすべてが機能しました(5.0.0.13に戻ります)。カーネルには何らかのバグがあるはずですが、私はカーネルエンジニアではなく核科学者なので、その戦いは専門家に任せています...

編集/更新20191110この問題が発生している他の人には、最新バージョンのubuntu18が機能しているようです。最新のLinuxカーネルを入手してドライバーを再コンパイルする必要があるかもしれませんが、私はこのr8822beドライバーでubuntu 18 LTSを実行しており、カーネルドライバーを再構築した後に動作します。

2
Tom Looby

コマンドecho "options r8822be aspm = 0"を実行します|須藤ティー/etc/modprobe.d/r8822be.conf

コマンドSudormmodr8822beを実行します

コマンドSudomodprober8822beを実行します

0
impaled