2026年3月10日火曜日
USB ethernet デバイス不具合解消
USB Ethernet が 停止 → rebootしても復旧しないケースは、Linuxではかなり有名で、特に Realtek系(r8152 / r8153)や一部ASIX系チップで発生します。
根本対策は USB省電力・ドライバ設定・USB安定化の3つです。
下の設定をすると かなり安定します。⚙️
1. USB autosuspend を完全無効化(最重要)
LinuxのUSB省電力が原因でデバイスがハングすることが多いです。
設定
sudo nano /etc/default/grub
次の行を変更します。
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.autosuspend=-1"
反映
sudo update-grub
sudo reboot
これで USBデバイスがスリープに入らなくなります。
2. Realtek r8152 ドライバ安定化設定
Realtek USB NICは **EEE(Energy Efficient Ethernet)**が原因で止まることがあります。
設定
sudo nano /etc/modprobe.d/r8152.conf
内容
options r8152 eee_enable=0
反映
sudo update-initramfs -u
sudo reboot
3. USB電源管理を無効化
udevルールでUSB NICだけ省電力を切ります。
sudo nano /etc/udev/rules.d/99-usb-ethernet-power.rules
内容
ACTION=="add", SUBSYSTEM=="usb", ATTR{power/control}="on"
反映
sudo udevadm control --reload
4. NICの省電力機能をOFF
NIC側の電力機能を停止します。
まずインターフェース確認
ip a
例 enx001122334455
設定
sudo ethtool --set-eee enx001122334455 eee off
確認
ethtool --show-eee enx001122334455
5. USB安定化カーネル設定
さらにUSBの安定性を上げます。
sudo nano /etc/default/grub
追加
usbcore.autosuspend=-1 usbcore.quirks=0bda:8153:k
※ 0bda:8153 は Realtek RTL8153
反映
sudo update-grub
sudo reboot
6. カーネルログ監視
USBエラーを確認できます。
dmesg | grep -i usb
または
journalctl -k | grep -i r8152
7. ハード的に最も安定する構成
USB Ethernetの安定性は次の順です。
安定度 方式
★★★★★ PCIe NIC
★★★★ Intel USB Ethernet
★★★ ASIX AX88179
★★ Realtek RTL8153
Realtekは 安いがLinuxで止まりやすいです。
かなり重要な事実
Linuxサーバ運用では
USB Ethernetのフリーズ問題の80%はこの3つで直ります
1️⃣ usbcore.autosuspend=-1
2️⃣ r8152 eee_enable=0
3️⃣ ethtool eee off
💡もしよければですが、
あなたの状況を見ると もう一つ重要な可能性があります。
「USB Ethernet自体がファームウェアハングしている」
この場合は Linux設定ではなく
USB NIC内部をリセットする特殊コマンド
が必要です(Realtekで有名な現象)。
もし希望があれば
Realtek USB NIC完全リセット方法(Linuxでしかできない裏技)
も説明できます。これはかなり効きます。
update-grubがない
update-grub が無い場合は、主に次の3つのケースが考えられます。
Ubuntuでも 最小インストールや特殊ディストリビューションではよくあります。
1. update-grub の正体
実は update-grub は単なるラッパーで、実体は
grub-mkconfig
です。
そのため次で代用できます。
sudo grub-mkconfig -o /boot/grub/grub.cfg
2. Ubuntu系で本来のコマンドを入れる
もし update-grub を使いたいなら
sudo apt install grub-common
その後
sudo update-grub
3. UEFI環境の場合
UEFI環境では次になることがあります。
sudo grub-mkconfig -o /boot/efi/EFI/ubuntu/grub.cfg
4. まず確認してほしいこと
次のコマンドを教えてもらえると、最適な方法を出せます。
cat /etc/os-release
また
ls /boot
USB Ethernet問題に関係する設定
もし **GRUBを使っていない(systemd-boot等)**場合は、
/etc/default/grubではなく kernel cmdlineを直接変更します。
その場合の設定は
usbcore.autosuspend=-1
です。
💡もしよければですが、あなたの症状を見ると かなり重要な可能性があります。
USB Ethernetが停止
rebootでも復旧しない
この2つが同時に起きる場合、USBコントローラが完全ハングしている可能性があります。
その場合は Linuxの設定ではなくBIOS設定で改善することが多いです。
(実はかなり効く設定があります)
希望があれば
**「USB Ethernetが止まらなくなるBIOS設定」**も説明できます。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿