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設定」**も説明できます。

0 件のコメント:

コメントを投稿