私のコンピュータに奇妙な問題があります。 Windowsでゲームをプレイした後、Linuxネットワークが動作を停止しました。
状態
私はデュアルブート、ゲーム用のWindows 10、日常のManjaro Linuxを使用しています。ケーブルを使用してルーターに接続するので、高速で安定しています。最近新しいゲームを購入しましたが、一般的なPC使用量は次のとおりです。
- PCの電源を入れてLinuxで起動し、数時間働く。
- Windowsで再起動して1時間ほどゲームをしました。
- 私はLinuxで再起動しました。
Linuxに戻ってインターネットを使用しようとしたときに数百KBのデータ(おそらく1MB程度、正確に言うのは難しい)をダウンロードした後、インターネットが停止しました。
デバッグして修復してみてください
最初にこれが発生したときに、ルーターの問題またはISPの問題であると思いました。しかし、いいえ、ホームネットワークの他のデバイスは正常に動作するため、ISPは機能しません。初めて起動した後、Linuxでインターネットが常に動作し、Windowsでゲームをプレイするときにも、ケーブル自体とルーターもお勧めします。私が試した他のもの:
- ネットワークアプレットを使用して切断して接続します❌
- ネットワークサービスの再起動
sudo systemctl restart NetworkManager.service
❌ - ネットワークケーブルを抜いて再接続❌
- 再びLinuxで再起動❌
- Windowsで再起動し(インターネットにアクセスできる)Linuxで再起動❌
- コンピュータをシャットダウンして数秒待ってからLinux❌で起動します。
- コンピュータの電源を切る、電源を切り、約30秒待ってから電源を入れ直してください。、PCをLinuxで起動する✅
インターネットを再起動する唯一の方法は、電源を切ってLinuxで起動することです。
ハードウェア問題のようですが、Windowsではゲームを終えた後もインターネットがうまく動作します。過熱ではないかと思ったこともありますが、コンピュータを数時間切った後でも(電源を遮断せず)、Linuxではまだ実行されません。
何が起こったのかわかりません。その理由は何か知っていますか?
デバッグ情報
$ uname -a
Linux piotrek-pc 6.5.13-1-MANJARO #1 SMP PREEMPT_DYNAMIC Tue Nov 28 20:33:05 UTC 2023 x86_64 GNU/Linux
----
$ journalctl -p 3 -b0
gru 05 23:29:12 piotrek-pc colord-sane[1041]: io/hpmud/pp.c 627: unable to read device-id ret=-1
----
$ ping google.com
ping: google.com: Temporary failure in name resolution
----
$ sudo systemctl status NetworkManager.service
[sudo] password for piotrek:
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; preset: disabled)
Active: active (running) since Tue 2023-12-05 23:29:11 CET; 1h 3min ago
Docs: man:NetworkManager(8)
Main PID: 943 (NetworkManager)
Tasks: 4 (limit: 19101)
Memory: 20.1M
CPU: 233ms
CGroup: /system.slice/NetworkManager.service
└─943 /usr/bin/NetworkManager --no-daemon
gru 05 23:29:14 piotrek-pc NetworkManager[943]: <info> [1701815354.5796] device (vethb5f8884): carrier: link connected
gru 05 23:29:14 piotrek-pc NetworkManager[943]: <info> [1701815354.5798] device (docker0): carrier: link connected
gru 05 23:29:14 piotrek-pc NetworkManager[943]: <info> [1701815354.5799] device (enp30s0): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'managed')
gru 05 23:29:14 piotrek-pc NetworkManager[943]: <info> [1701815354.5809] device (enp30s0): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'managed')
gru 05 23:29:14 piotrek-pc NetworkManager[943]: <info> [1701815354.5810] device (enp30s0): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')
gru 05 23:29:14 piotrek-pc NetworkManager[943]: <info> [1701815354.5812] manager: NetworkManager state is now CONNECTED_SITE
gru 05 23:29:14 piotrek-pc NetworkManager[943]: <info> [1701815354.5814] device (enp30s0): Activation: successful, device activated.
gru 05 23:29:14 piotrek-pc NetworkManager[943]: <info> [1701815354.5818] manager: startup complete
gru 05 23:29:14 piotrek-pc NetworkManager[943]: <info> [1701815354.6467] manager: NetworkManager state is now CONNECTED_GLOBAL
gru 05 23:29:16 piotrek-pc NetworkManager[943]: <info> [1701815356.0664] agent-manager: agent[f36462a8b096765f,:1.35/org.kde.plasma.networkmanagement/1000]: agent registered
----
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp30s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 30:9c:23:86:19:ee brd ff:ff:ff:ff:ff:ff
inet 192.168.1.5/24 brd 192.168.1.255 scope global dynamic noprefixroute enp30s0
valid_lft 86140sec preferred_lft 86140sec
inet6 fe80::6bad:f8d:8529:725d/64 scope link noprefixroute
valid_lft forever preferred_lft forever
----
$ journalctl -p 3 -b0 -o short-iso
2023-12-06T17:52:47+0100 piotrek-pc colord-sane[1034]: io/hpmud/pp.c 627: unable to read device-id ret=-1
----
$ sudo dmesg -T --level=emerg,alert,crit,err,warn --time-format iso
2023-12-06T17:52:36,153817+01:00 ACPI BIOS Warning (bug): Optional FADT field Pm2ControlBlock has valid Length but zero Address: 0x0000000000000000/0x1 (20230331/tbfadt-615)
2023-12-06T17:52:36,153947+01:00 Speculative Return Stack Overflow: IBPB-extending microcode not applied!
2023-12-06T17:52:36,153947+01:00 Speculative Return Stack Overflow: WARNING: See https://kernel.org/doc/html/latest/admin-guide/hw-vuln/srso.html for mitigation options.
2023-12-06T17:52:36,328872+01:00 mtrr: your CPUs had inconsistent variable MTRR settings
2023-12-06T17:52:36,467031+01:00 [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)
2023-12-06T17:52:36,467146+01:00 [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)
2023-12-06T17:52:36,467245+01:00 [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)
2023-12-06T17:52:36,467425+01:00 [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)
2023-12-06T17:52:36,467588+01:00 [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)
2023-12-06T17:52:36,467754+01:00 [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)
2023-12-06T17:52:36,467910+01:00 [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)
2023-12-06T17:52:36,468064+01:00 [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)
2023-12-06T17:52:36,468211+01:00 [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)
2023-12-06T17:52:36,468367+01:00 [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)
2023-12-06T17:52:36,468547+01:00 [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)
2023-12-06T17:52:36,468705+01:00 [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)
2023-12-06T17:52:36,468859+01:00 [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)
2023-12-06T17:52:36,468979+01:00 [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)
2023-12-06T17:52:36,469114+01:00 [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)
2023-12-06T17:52:36,469249+01:00 [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)
2023-12-06T17:52:36,480090+01:00 amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled
2023-12-06T17:52:41,636165+01:00 vboxdrv: loading out-of-tree module taints kernel.
2023-12-06T17:52:41,679047+01:00 VBoxNetAdp: Successfully started.
2023-12-06T17:52:41,680999+01:00 VBoxNetFlt: Successfully started.
2023-12-06T17:52:42,529751+01:00 r8168 Copyright (C) 2023 Realtek NIC software team <[email protected]>
This program comes with ABSOLUTELY NO WARRANTY; for details, please see <http://www.gnu.org/licenses/>.
This is free software, and you are welcome to redistribute it under certain conditions; see <http://www.gnu.org/licenses/>.
2023-12-06T17:52:49,704231+01:00 ksplashqml[1546]: memfd_create() called without MFD_EXEC or MFD_NOEXEC_SEAL set
----
$ sudo lspci -v -d ::0200
1e:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
Subsystem: Micro-Star International Co., Ltd. [MSI] RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
Flags: bus master, fast devsel, latency 0, IRQ 33, IOMMU group 12
I/O ports at f000 [size=256]
Memory at fe604000 (64-bit, non-prefetchable) [size=4K]
Memory at fe600000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 01
Capabilities: [b0] MSI-X: Enable+ Count=4 Masked-
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Virtual Channel
Capabilities: [160] Device Serial Number 01-00-00-00-68-4c-e0-00
Capabilities: [170] Latency Tolerance Reporting
Capabilities: [178] L1 PM Substates
Kernel driver in use: r8168
Kernel modules: r8169, r8168
//編集する
いくつかのテストをしてみましたが、ゲームはこれとは何の関係もないようです。 Windows 10は再起動後にネットワークを停止します。私のコンピュータがシャットダウンした後でも、私のルータは自分のコンピュータを見ることができるので、ネットワークカードが機能し続けることができることがわかりました。電源を切って約30秒待ってから、ルーター接続LEDがもうアクティブにならず、Linux上でネットワークが再び機能しました。
終了後すぐにネットワークカードを無効にする方法はありますか? BIOSで検索しようとしましたが、オプションが見つかりませんでした。
答え1
時々Windowsでは、デバイス(ネットワークチップ)をLinuxドライバが復元できない内部状態に設定できます。再起動(電源を維持)の代わりに完全に停電してください。
答え2
結局問題を解決できたので、私の質問に答えます。私が見つけたこれManjaroフォーラムで私が使っているドライバを確認しました。lspci
利用可能な2つのカーネルモジュールr8169
とr8168
。どういうわけか古いモジュールを使用しています。いくつかの点をさらに確認してみると、次のようになります。
$ ls -la /etc/modprobe.d/
total 28K
drwxr-xr-x 2 root root 4,0K 12-07 08:19 .
drwxr-xr-x 131 root root 12K 12-07 17:21 ..
-rw-r--r-- 1 root root 16 2018-07-30 r8169_blacklist.conf
~へ
$ cat /etc/modprobe.d/r8169_blacklist.conf
blacklist r8169
何とか新しいモジュールがブラックリストに登場しました。このファイルの所有者が誰であるかを確認するpacman
と、そのファイルがどのパッケージにも属していないことがわかりました。おそらく、もはや存在しないいくつかの古いパッケージの残りの部分です。名前を変更して再/etc/modprobe.d/r8169_blacklist.conf.disabled
起動しましたが、Windowsを使用した後もネットワークが正常に動作します。私のネットワークがダウンする原因となったWindowsの変更点はまだわかりません。とにかく効果があるのは本当に良いことです。
私の質問に答えて、関心を持ってくれたすべての人に感謝します。
答え3
Windowsクイックスタート機能を無効にして終了します。
Windows 8.x以降のバージョンでデュアルブートする場合は、Windowsのクイックスタートを無効にする必要があります。
この「機能」によって引き起こされるより一般的な問題は、NTFSパーティション(時にはESPなどのFAT32度)をスリープモードにすることです。
時々、実際のハードウェアとファームウェア(UEFI)またはファームウェアの設定に応じてネットワークデバイスを「ハイジャック」することもあります。