web-dev-qa-db-ja.com

Lenovo ThinkPad E570(Realtek RTL8821CE)でWi-Fiが機能しない

レノボを購入しました ThinkPad E57 (これはワイヤレス用のIntel 8265を搭載しているはずです)。このラップトップは、Ubuntuの実行が認定されているために購入されたものであり、少なくとも私にとっては、箱から出して動作することは理にかなっています...しかし、そのような運はありません。

まず、Ubuntu 17.10をインストールし、インストール後にWi-Fiが機能していなかったことに気付きました。また、USBドライブからUbuntu 16.04を試しました。これは、Ubuntuの認定バージョンであるためです。

ワイヤレスチップはlshw(またはその外観によってlspciによっても検出されません)、ip linkはワイヤレスインターフェースを表示せず、iwlwifiカーネルモジュールは検出しませんブート時にロードされます(これはmodprobe iwlwifiを使用して自分でロードできますが、Wi-Fiが機能しません)。 Wi-Fi/Bluetoothを組み合わせたチップであり、Bluetoothは動作しているように見えます(または、少なくともBluetoothはGnomeとrfkill listに表示されます)。

modinfo iwlwifi | grep 8265は、-34で終わるファイルがロードされていると表示されますが、/lib/firmwareには-33で終わるファイル(およびその他のいくつかの数字)のみが存在することを示しています。

動作させるためにLinux 4.14.9カーネルもインストールしましたが、これでも問題は解決しませんでした。

さらに詳しい情報

root@ThinkPad-E570:~# modinfo iwlwifi | grep 8265
firmware:       iwlwifi-8265-34.ucode
root@ThinkPad-E570:~# rfkill list all
0: tpacpi_bluetooth_sw: Bluetooth
    Soft blocked: no
    Hard blocked: no
1: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
root@ThinkPad-E570:~# dmesg | grep iwl
root@ThinkPad-E570:~# lspci -nnk | grep 0280 -A3
05:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:c821]
    Subsystem: Lenovo Device [17aa:c024]

更新

ラップトップにはIntelワイヤレスチップがまったく搭載されていないことに気付きましたが、実際にはRealtek搭載のチップが搭載されています...つまり、このラップトップを購入したショップの 製品ページに掲載されている仕様 正確ではありませんでした...ため息。ただし、同じような問題は、ただの無線チップだけで発生します。

11
RobinJ

まず、これらの手順はUbuntu 17.10で動作する可能性が高いことをお勧めします。現在実行していない場合は、再インストールすることをお勧めします。

次のリンクをクリックして、ドライバーファイルをダウンロードします。 https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/endlessm/linux/tree/master/drivers/net/wireless/rtl8821ce

ブラウザで特に指定しない限り、ダウンロードはディレクトリに移動しますDownloads。ターミナルを開き、以下を実行します。

cd ~/Downloads
unzip rtl8821ce.Zip
cd rtl8821ce
nano Makefile

152行までスクロールダウンし、次の行を変更します。

export TopDIR ?= $(srctree)/drivers/net/wireless/rtl8821ce

今読むために:

export TopDIR ?= $ ~/Downloads/rtl8821ce

慎重に2回校正し、テキストエディターを保存(Ctrl + oに続いてEnter)して閉じます(Ctrl + x)。

今やる:

make
Sudo make install
Sudo modprobe 8821ce

これでワイヤレスが機能するはずです。

編集:現在実行中のカーネルバージョンのみのモジュールをコンパイルしました。要求された再起動後に、Update Managerがlinux-imageとして知られる新しいカーネルバージョンを提供する場合、再コンパイルする必要があります。

cd rtl8821ce
make clean
make
Sudo make install
Sudo modprobe 8821ce

その間、ファイルとこれらの指示を保持してください。

15
chili555

これは stason 's answer のフォローアップであり、誰がdkmsの使用を提案します。

私が知る限り、これを書いている時点では、Ubuntuの公式リポジトリにはRealtek RTL8821CE用のWifiドライバーはまだありません。

Githubには、カーネル4.14以降、特にArch Linux向けのRTL8821CEドライバーを備えたリポジトリがあり、他のLinuxディストリビューションはサポートされていません: https://github.com/tomaspinho/rtl8821ce

(マイナーノート:2019年2月現在、tomaspinhoは悲しいことに ドライバーをメンテナンスできなくなっています このチップセットを搭載したコンピューターにアクセスできなくなったため、新しいメンテナーです必要かもしれませんが、ドライバーはその時点でまだUbuntu 18.04で動作します。)

ただし、Ubuntu 18.04では問題なく動作することが報告されています。

一時的なインターネット接続が必要になります(イーサネットケーブルUSB wifiドングル、または電話の接続など) USBケーブルと「tethering」を使用して、携帯電話のWifiを使用します)

解決策は、投稿#4からPraseodym(彼らの知恵を大いに称賛する!): https:// ubuntuforums。 org/showthread.php?t = 2398917 そして、wifiドライバーモジュールを構築するための多数のパッケージをインストールします(git、dkms、build-essential&linux-headers)そして、tomaspinhoからrtl8821cegitリポジトリのクローンを作成します(多くの賞賛も!)。

DKMSは「新しいカーネルがインストールまたは更新されたときに自動的にカーネルモジュールを再コンパイルおよびインストールするシステム」であるため使用されます。


ターミナルを開き、次の行を入力します(必要に応じてカットアンドペーストできます)。

Sudo apt-get install --reinstall git dkms build-essential linux-headers-$(uname -r)
git clone https://github.com/tomaspinho/rtl8821ce
cd rtl8821ce
chmod +x dkms-install.sh
chmod +x dkms-remove.sh
Sudo ./dkms-install.sh

これが正常に完了したら、再起動してWifiが機能していることを確認する必要があります。

また、BIOS設定でSecureBootDisabledになっていないと、署名されていない自己適合カーネルモジュール。

9
pHeLiOn

更新2018-02-27

推奨されるドライバは Endless OS であるため、どの時点でも破損する可能性があることに注意してください。いずれかの機関がUbuntuの公式ドライバーを持っている場合、より良いでしょう。

元の回答

これは新しい答えではなく、コメントの方が良いでしょう。

だから私は@ chili555の回答に従おうとしましたが、モジュールを作成しようとしてエラーが発生し続けました。

次のようなエラー:

/rtl8821ce/include/osdep_service_linux.h:294:2: error: implicit declaration of function ‘timer_setup’; did you mean ‘ether_setup’?
[-Werror=implicit-function-declaration]
   timer_setup(ptimer, pfunc, 0);
   ^~~~~~~~~~~   ether_setup

そこで、別の revisionZip archive direct download link )をダウンロードしようとしましたが、これは元の回答の時点でマスターになるかもしれません。その後、モジュールを作成し、@ chili555が提供する手順に従ってインストールすることができました

2
ingkevin

rtl8821ceのdkmsビルド/インストールは次の場所にあります: https://github.com/tomaspinho/rtl8821ce

このアプローチを使用すると、カーネルが更新されるたびにモジュールを再構築する必要がなくなります。

Kubuntu 18.04を搭載したLenovo Idea 720で構築しました。


また、 Makefile を編集して、ログレベルを4(情報)から3(警告)に変更することをお勧めします。そうしないと、/var/log/syslogがドライバーからの無用な情報メッセージで途方もない速度でいっぱいになってしまいます。

Makefileを編集して、変更します。

CONFIG_RTW_LOG_LEVEL = 4

に:

CONFIG_RTW_LOG_LEVEL = 3

次に、指示に従ってモジュールをビルドしてインストールします。既にインストールしている場合は、(dkms-remove.shを使用して)アンインストールしてから再インストールする必要があります。

または、次の方法で次の再起動までログレベルを手動で変更できます。

echo 3 > /proc/net/rtl8821ce/log_level

更新:メンテナは Makefile をこの提案を反映するように変更したため、新しいチェックアウト/ダウンロードを行う場合、すでに適切な(静かな)設定になっています。

1
stason

タイマーエラーの解決策。

私はそれをubuntu 16.04でレノボE570で動作させることができます。ここに私の手順があります:まず、これを使用してカーネルバージョンを4.15.4にアップグレードします guide

カーネルを4.15.9に再度アップグレードする必要があるため、4.15.4より上のカーネルバージョンはすべて動作するはずです。ドライバを再インストールする必要があることに注意してください。

次に、@ chili555の回答に記載されている手順に従いました

1
Juichung_Kuo

これは、ubuntuusers.deのpraseodymの功績です dkmsを使用した短いチュートリアル ドライバーをインストールする

Sudo apt-get install --reinstall git dkms build-essential linux-headers-$(uname -r)
git clone https://github.com/tomaspinho/rtl8821ce
cd rtl8821ce
chmod +x dkms-install.sh
chmod +x dkms-remove.sh
Sudo ./dkms-install.sh 

削除は次のように機能します。

Sudo ./dkms-remove.sh 

oSをインストールする前であっても、最終的にセキュアブートを無効にすることも言及されていました。 OSのインストール後にデフォルトでセキュアブートが無効になっている「HP Slimline(290-a0512ng)デスクトップPC」でこれが必要だったため、これが違いを生むかどうかわかりません。

0
vchrizz