0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

wifiモジュールmt7902でwifi接続できなかった話(Linux)

Posted at

はじめに

Ubuntu 22.04 LTSをインストールしたところ、Wi-Fiが認識されない問題に遭遇しました。調査の結果、MediaTek MT7902チップのファームウェアがUbuntu 22.04に含まれていないことが原因でした。本記事では、トラブルシューティングの過程と、現時点での結論を共有します。
この記事で紹介されているPCの兄弟です。
(wifi モジュールだけ違いましたが...)
https://taisy0.com/2024/09/08/203515.html

環境

  • OS: Ubuntu 22.04.5 LTS
  • Wi-Fiチップ: MediaTek MT7902
  • カーネル: 6.8系(Ubuntu 22.04.5 LTSでは最新)

症状

  • Ubuntu 22.04 LTSインストール後、Wi-Fiの設定項目が表示されない
  • 設定画面にWi-Fiオプションが見当たらない
  • sudo apt updateやsudo apt upgrade行っても改善無し

調査手順

1. Wi-Fiチップの確認

lspci | grep -i network

結果:

MEDIATEK Corp. Device 7902

これで、使っているPCにはMT7902チップが搭載されていることを確認。

2. ドライバモジュールの確認

MT7902はLinuxカーネルのmt7921eドライバで対応しています(MT7921/MT7922/MT7902は同じドライバファミリーを使用)。

modinfo mt7921e

ライセンス情報などが表示され、ドライバモジュール自体は存在していることを確認。

3. ドライバのロード状態確認

lsmod | grep mt7921

何も表示されない → ドライバがロードされていない。

4. 手動でドライバをロード

sudo modprobe mt7921e

5. ロード後の確認

lsmod | grep mt7921

結果:

mt7921e                20480  0
mt7921_common          81920  1 mt7921e
mt792x_lib             69632  2 mt7921e,mt7921_common
mt76_connac_lib       102400  3 mt792x_lib,mt7921e,mt7921_common
mt76                  131072  4 mt792x_lib,mt7921e,mt7921_common,mt76_connac_lib
mac80211             1724416  4 mt792x_lib,mt76,mt7921_common,mt76_connac_lib
cfg80211             1327104  4 mt76,mac80211,mt7921_common,mt76_connac_lib

ドライバモジュールはロードされた。
しかし、wifi使えない...。

6. Wi-Fiインターフェースの確認

ip link

結果:

1: lo: <LOOPBACK,UP,LOWER_UP> ...
2: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> ...

wlan0wlp~などのWi-Fiインターフェースが存在しない

7. ファームウェアの確認

ls /lib/firmware/mediatek/ | grep -i 7902

結果:何も表示されない。

MT7902用のファームウェアが存在しないことが判明。

8. ファームウェアの取得を試みる

linux-firmwareリポジトリをクローン:

git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
ls linux-firmware/mediatek/ | grep -i 7902

結果:MT7902用のファームウェアは含まれていなかった。

GitLabやその他のソースからも取得を試みたが、404エラーなどで入手できず。

9.分解して確かめる

足のゴムを外し、ネジを全部取る。
IMG_3998.jpg
結果載っているのが、mt7902だと確実に。

結論

Ubuntu 22.04 LTSでMediaTek MT7902チップのWi-Fiは現時点では使用できない。

原因

  • ドライバ(mt7921e)は存在する
  • しかし、ファームウェアがlinux-firmwareパッケージに含まれていない
  • ファームウェアなしではドライバがデバイスを認識できない

ドライバとファームウェアの違い

項目 ドライバ ファームウェア
役割 OSとハードウェアの仲介 ハードウェア内部で動作するソフトウェア
配布 Linuxカーネルに含まれる linux-firmwareパッケージで別途配布
確認方法 modinfo <ドライバ名> ls /lib/firmware/

確認コマンドまとめ

目的 コマンド
Wi-Fiチップの型番確認 lspci | grep -i network
ドライバの存在確認 modinfo mt7921e
ドライバのロード状態 lsmod | grep mt7921
Wi-Fiインターフェース確認 ip link
ファームウェア確認 ls /lib/firmware/mediatek/
ドライバの手動ロード sudo modprobe mt7921e
カーネルログ確認 sudo dmesg | grep -i mt7921

代替案

  1. 有線LANを使用する - 最も確実
  2. USBテザリング - スマートフォン経由でインターネット接続
  3. USB Wi-Fiアダプタ - Linux対応のものを別途購入

参考情報

  • MT7902はWi-Fi 6Eに対応した比較的新しいチップ
  • Linux kernel 6.1以降でドライバが正式対応
  • Ubuntu 22.04はkernel 5.15がベースのため、対応が不十分

最後に

新しいハードウェアをLinuxで使う際は、事前にドライバとファームウェアの対応状況を確認することをお勧めします。特にノートPCを購入する際は、搭載されているWi-Fiチップのモデルを確認し、Linuxでの動作実績を調べておくと良いでしょう。
基本的にはsudo apt updateとsudo apt upgradeを行えば使えるようになります。

以下の記事で、「解決」になってますが、結局wifiモジュール付け替えることが最善みたいな結果になってました。
https://bbs.archlinux.org/viewtopic.php?id=299471

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?