Приостановить / возобновить работу ровно один раз
Проблема:
Suspend/Resume работает ровно один раз. Попытка приостановить во второй раз приводит к зависанию машины.
Монитор выключается в режим ожидания, как и должен, но вентилятор системного блока все еще работает, и время от времени наблюдается активность диска. Индикатор питания горит постоянно.
Машина не реагирует на мой обычный сигнал пробуждения (пробел на клавиатуре); кнопка питания ничего не делает, если я не удерживаюсь в течение 5 секунд и не выключаю машину. Машина не доступна через ssh с другой машины. Чтобы восстановить работоспособность, мне нужно сделать полный сброс или выключить и снова включить питание; это, конечно, дает мне заново загруженную систему, которая останавливается ровно один раз, а затем останавливается.
Информация о машине и диагностике:
От uname -a:
Linux machine-a 4.15.0-46-generic #49~16.04.1-Ubuntu SMP Tue Feb 12 17:45:24 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Из lspci:
00:00.0 RAM memory: NVIDIA Corporation MCP55 Memory Controller (rev a1)
00:01.0 ISA bridge: NVIDIA Corporation MCP55 LPC Bridge (rev a2)
00:01.1 SMBus: NVIDIA Corporation MCP55 SMBus Controller (rev a2)
00:01.2 RAM memory: NVIDIA Corporation MCP55 Memory Controller (rev a2)
00:02.0 USB controller: NVIDIA Corporation MCP55 USB Controller (rev a1)
00:02.1 USB controller: NVIDIA Corporation MCP55 USB Controller (rev a2)
00:04.0 IDE interface: NVIDIA Corporation MCP55 IDE (rev a1)
00:05.0 IDE interface: NVIDIA Corporation MCP55 SATA Controller (rev a2)
00:05.1 IDE interface: NVIDIA Corporation MCP55 SATA Controller (rev a2)
00:05.2 IDE interface: NVIDIA Corporation MCP55 SATA Controller (rev a2)
00:06.0 PCI bridge: NVIDIA Corporation MCP55 PCI bridge (rev a2)
00:06.1 Audio device: NVIDIA Corporation MCP55 High Definition Audio (rev a2)
00:08.0 Bridge: NVIDIA Corporation MCP55 Ethernet (rev a2)
00:0a.0 PCI bridge: NVIDIA Corporation MCP55 PCI Express bridge (rev a2)
00:0b.0 PCI bridge: NVIDIA Corporation MCP55 PCI Express bridge (rev a2)
00:0c.0 PCI bridge: NVIDIA Corporation MCP55 PCI Express bridge (rev a2)
00:0d.0 PCI bridge: NVIDIA Corporation MCP55 PCI Express bridge (rev a2)
**00:0e.0 PCI bridge: NVIDIA Corporation MCP55 PCI Express bridge (rev a2)**
00:0f.0 PCI bridge: NVIDIA Corporation MCP55 PCI Express bridge (rev a2)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:07.0 Communication controller: LSI Corporation Lucent V.92 Data/Fax Modem
07:00.0 VGA compatible controller: NVIDIA Corporation GP108 [GeForce GT 1030] (rev a1)
07:00.1 Audio device: NVIDIA Corporation GP108 High Definition Audio Controller (rev a1)
Из "lshw -c video":
*-display
description: VGA compatible controller
product: GP108 [GeForce GT 1030]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:07:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: **driver=nvidia** latency=0
resources: irq:25 memory:fb000000-fbffffff memory:d0000000-dfffffff memory:ee000000-efffffff ioport:9c00(size=128) memory:c0000-dffff
Я следовал инструкциям в вики Ubuntu здесь.
и из вывода dmesg:
[ 1.493699] ima: No TPM chip found, activating TPM-bypass! (rc=-19)
[ 1.493705] ima: Allocated hash algorithm: sha1
[ 1.493728] evm: HMAC attrs: 0x1
[ 1.494027] **Magic number: 0:607:178**
[ 1.494030] hash matches /build/linux-hwe-6Ul5JQ/linux-hwe-4.15.0/drivers/base/power/main.c:1209
[ 1.494098] **acpi device:0e: hash matches**
[ 1.494110] platform: hash matches
[ 1.494166] rtc_cmos 00:02: setting system clock to 2068-04-23 12:10:18 UTC (3102408618)
[ 1.494409] powernow_k8: fid 0x12 (2600 MHz), vid 0x8
[ 1.494410] powernow_k8: fid 0x10 (2400 MHz), vid 0xa
Если я правильно истолковываю вики, "преступник" - это первое появление "совпадений хешей" после "Магического числа". Итак, рассматриваемое устройство - "0e" (?). Который, согласно выводу lspci, является одним из нескольких мостов PCI Express.
Из ls -l /sys/devices/pci0000:00/0000:00:0e.0:
total 0
drwxr-xr-x 3 root root 0 Mar 28 15:15 0000:00:0e.0:pcie008
-rw-r--r-- 1 root root 4096 Mar 28 15:15 broken_parity_status
-r--r--r-- 1 root root 4096 Mar 28 15:15 class
-rw-r--r-- 1 root root 4096 Mar 28 15:15 config
-r--r--r-- 1 root root 4096 Mar 28 15:15 consistent_dma_mask_bits
-r--r--r-- 1 root root 4096 Mar 28 15:15 current_link_speed
-r--r--r-- 1 root root 4096 Mar 28 15:15 current_link_width
-rw-r--r-- 1 root root 4096 Mar 28 15:15 d3cold_allowed
-r--r--r-- 1 root root 4096 Mar 28 15:15 device
-r--r--r-- 1 root root 4096 Mar 28 15:15 dma_mask_bits
lrwxrwxrwx 1 root root 0 Mar 28 15:15 driver -> ../../../bus/pci/drivers/pcieport
-rw-r--r-- 1 root root 4096 Mar 28 15:15 driver_override
-rw-r--r-- 1 root root 4096 Mar 28 15:15 enable
lrwxrwxrwx 1 root root 0 Mar 28 15:15 firmware_node -> ../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:24
-r--r--r-- 1 root root 4096 Mar 28 15:15 irq
-r--r--r-- 1 root root 4096 Mar 28 15:15 local_cpulist
-r--r--r-- 1 root root 4096 Mar 28 15:15 local_cpus
-r--r--r-- 1 root root 4096 Mar 28 15:15 max_link_speed
-r--r--r-- 1 root root 4096 Mar 28 15:15 max_link_width
-r--r--r-- 1 root root 4096 Mar 28 15:15 modalias
-rw-r--r-- 1 root root 4096 Mar 28 15:15 msi_bus
-rw-r--r-- 1 root root 4096 Mar 28 15:15 numa_node
drwxr-xr-x 3 root root 0 Mar 28 15:15 pci_bus
drwxr-xr-x 2 root root 0 Mar 28 15:15 power
--w--w---- 1 root root 4096 Mar 28 15:15 remove
--w--w---- 1 root root 4096 Mar 28 15:15 rescan
--w------- 1 root root 4096 Mar 28 15:15 reset
-r--r--r-- 1 root root 4096 Mar 28 15:15 resource
-r--r--r-- 1 root root 4096 Mar 28 15:15 revision
-r--r--r-- 1 root root 4096 Mar 28 15:15 secondary_bus_number
-r--r--r-- 1 root root 4096 Mar 28 15:15 subordinate_bus_number
lrwxrwxrwx 1 root root 0 Mar 28 15:15 subsystem -> ../../../bus/pci
-r--r--r-- 1 root root 4096 Mar 28 15:15 subsystem_device
-r--r--r-- 1 root root 4096 Mar 28 15:15 subsystem_vendor
-rw-r--r-- 1 root root 4096 Mar 28 15:15 uevent
-r--r--r-- 1 root root 4096 Mar 28 15:15 vendor
Вопрос: Итак, куда мне идти отсюда?
Причина в том, что что-то связано с машиной-собой. У меня есть другая машина с очень похожей конфигурацией - назовем ее машиной-b - которая приостанавливается и возобновляется без каких-либо проблем. машина-а, однако, нет. Неважно, какую команду / метод я использую (pm-suspend, systemctl suspend, s2ram), результат один и тот же: работает один раз, затем блокирует окно. Различия между двумя машинами:
- машина-а является проводной Ethernet, машина-б является беспроводной Ethernet
- На машине a установлена видеокарта GT 1030 Nvidia, на машине b установлена видеокарта GT 730 Nvidia.
- machine-a использует драйвер nvidia 415.27 (обновлен с 384.130 в попытке решить эту проблему); машина-б использует 384.
- Оба работают на том же ядре и 16.04 LTS
Может кто-нибудь подсказать, как приступить к решению этого? Я в тупике.
PS Одна дополнительная странность... это фрагмент системного журнала от одного из замораживающих приостановок. Похоже, что система работает и возобновляется одновременно (??). См. Индексы 134.641788 и 134.641873, которые происходят за одну и ту же метку секунды:
Mar 26 11:40:16 machine-a kernel: [ 134.191571] Freezing user space processes ... (elapsed 0.012 seconds) done.
Mar 26 11:40:16 machine-a kernel: [ 134.204236] OOM killer disabled.
Mar 26 11:40:16 machine-a kernel: [ 134.204237] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Mar 26 11:40:16 machine-a kernel: [ 134.205834] Suspending console(s) (use no_console_suspend to debug)
Mar 26 11:40:16 machine-a kernel: [ 134.227518] au0828: Suspend
Mar 26 11:40:16 machine-a kernel: [ 134.227520] au0828: stopping V4L2
Mar 26 11:40:16 machine-a kernel: [ 134.228520] parport_pc 00:04: disabled
Mar 26 11:40:16 machine-a kernel: [ 134.228983] serial 00:03: disabled
Mar 26 11:40:16 machine-a kernel: [ 134.250210] sd 0:0:0:0: [sda] Synchronizing SCSI cache
Mar 26 11:40:16 machine-a kernel: [ 134.250295] sd 1:0:0:0: [sdb] Synchronizing SCSI cache
Mar 26 11:40:16 machine-a kernel: [ 134.250392] sd 0:0:0:0: [sda] Stopping disk
Mar 26 11:40:16 machine-a kernel: [ 134.250471] sd 1:0:0:0: [sdb] Stopping disk
Mar 26 11:40:16 machine-a kernel: [ 134.252727] au0828: au0828_dvb_suspend(): Suspending DVB fe 0
Mar 26 11:40:16 machine-a kernel: [ 134.520351] ACPI: Preparing to enter system sleep state S3
Mar 26 11:40:16 machine-a kernel: [ 134.627675] PM: Saving platform NVS memory
Mar 26 11:40:16 machine-a kernel: [ 134.627730] Disabling non-boot CPUs ...
Mar 26 11:40:16 machine-a kernel: [ 134.640737] IRQ 21: no longer affine to CPU1
Mar 26 11:40:16 machine-a kernel: [ 134.640749] IRQ 22: no longer affine to CPU1
Mar 26 11:40:16 machine-a kernel: [ 134.640759] IRQ 23: no longer affine to CPU1
Mar 26 11:40:16 machine-a kernel: [ 134.640766] IRQ 25: no longer affine to CPU1
**Mar 26 11:40:16 machine-a kernel: [ 134.641788] smpboot: CPU 1 is now offline
Mar 26 11:40:16 machine-a kernel: [ 134.641873] ACPI: Low-level resume complete**
Mar 26 11:40:16 machine-a kernel: [ 134.641873] PM: Restoring platform NVS memory
Mar 26 11:40:16 machine-a kernel: [ 134.641873] PCI-DMA: Resuming GART IOMMU
Mar 26 11:40:16 machine-a kernel: [ 134.641873] PCI-DMA: Restoring GART aperture settings
Mar 26 11:40:16 machine-a kernel: [ 134.641873] Enabling non-boot CPUs ...
Mar 26 11:40:16 machine-a kernel: [ 134.641873] x86: Booting SMP configuration:
Mar 26 11:40:16 machine-a kernel: [ 134.641873] smpboot: Booting Node 0 Processor 1 APIC 0x1
Mar 26 11:40:16 machine-a kernel: [ 134.642916] cache: parent cpu1 should not be sleeping
Mar 26 11:40:16 machine-a kernel: [ 134.643519] CPU1 is up
Mar 26 11:40:16 machine-a kernel: [ 134.643957] ACPI: Waking up from system sleep state S3
Mar 26 11:40:16 machine-a kernel: [ 134.644738] pcieport 0000:00:0a.0: Enabling HT MSI Mapping
Mar 26 11:40:16 machine-a kernel: [ 134.644738] pcieport 0000:00:0b.0: Enabling HT MSI Mapping
Mar 26 11:40:16 machine-a kernel: [ 134.644738] pcieport 0000:00:0c.0: Enabling HT MSI Mapping
Mar 26 11:40:16 machine-a kernel: [ 134.644738] pcieport 0000:00:0d.0: Enabling HT MSI Mapping
Mar 26 11:40:16 machine-a kernel: [ 134.644738] pcieport 0000:00:0e.0: Enabling HT MSI Mapping
Mar 26 11:40:16 machine-a kernel: [ 134.644738] pcieport 0000:00:0f.0: Enabling HT MSI Mapping
Mar 26 11:40:16 machine-a kernel: [ 134.660321] snd_hda_intel 0000:00:06.1: Enabling HT MSI Mapping
Mar 26 11:40:16 machine-a kernel: [ 134.660385] forcedeth 0000:00:08.0: Enabling HT MSI Mapping
Mar 26 11:40:16 machine-a kernel: [ 134.660514] sata_nv 0000:00:05.2: Enabling HT MSI Mapping
1 ответ
Хорошо. машина-а живет еще раз. С новым блоком питания, батареей CMOS и... новым микросхемой BIOS, эта вещь теперь ПОСТАВЛЯЕТСЯ и загружается правильно.
Дополнительный бонус: приостановить / возобновить теперь работает правильно!
Учитывая, что приостановка / возобновление работало один раз, и не удавалось при последующих попытках, я обесцениваю отслаивающийся блок питания как отягчающую красную сельдь. Оригинальный BIOS должен был глючить, и я объясню причину.
Итак, вкратце, решение этой проблемы: обновить BIOS.