내 컴퓨터에 이상한 문제가 있습니다. Windows에서 게임을 한 후 Linux 네트워크가 작동을 멈췄습니다.
상태
저는 듀얼 부팅, 게임용 Windows 10, 일상용 Manjaro Linux를 사용하고 있습니다. 케이블을 사용하여 라우터에 연결하므로 빠르고 안정적입니다. 최근에 새 게임을 구입했는데 일반적인 PC 사용량은 다음과 같습니다.
- PC를 켜고 리눅스로 부팅해 몇 시간 동안 일을 한다.
- 윈도우로 재부팅하고 한시간 정도 게임을 했어요
- 다시 리눅스로 재부팅했어요
Linux로 다시 전환하여 인터넷을 사용하려고 했을 때 수백 KB의 데이터(아마도 1MB 정도, 정확히 말하기는 어려움)를 다운로드한 후 인터넷이 중지되었습니다.
디버깅하고 복구해 보세요
처음 이런 일이 발생했을 때 라우터 문제나 ISP 문제인 줄 알았습니다. 하지만 아니요, 홈 네트워크의 다른 장치는 제대로 작동하므로 ISP는 작동하지 않습니다. 처음 부팅한 후 Linux에서 인터넷이 항상 작동하고 Windows에서 게임을 할 때도 케이블 자체와 라우터도 좋습니다. 내가 시도한 다른 것들:
- 네트워크 애플릿을 사용하여 연결을 끊고 연결하세요❌
- 네트워크 서비스 다시 시작
sudo systemctl restart NetworkManager.service
❌ - 네트워크 케이블을 뽑았다가 다시 연결하세요❌
- 다시 리눅스로 재부팅 ❌
- 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
사용 가능한 두 개의 커널 모듈 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) 또는 펌웨어 설정에 따라 네트워크 장치를 "하이재킹"할 수도 있습니다.