AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1529737
Accepted
IndexOutOfBoundsException
IndexOutOfBoundsException
Asked: 2024-10-12 22:55:42 +0800 CST2024-10-12 22:55:42 +0800 CST 2024-10-12 22:55:42 +0800 CST

O sistema ocasionalmente não suspende

  • 772

De vez em quando, meu sistema não está suspendendo corretamente. Fechar a tampa, escolher suspender na interface gráfica ou executar um comando está desligando a tela, mas o sistema voltará a funcionar após alguns segundos. Executar a solução de problemas mostra que alguns dispositivos estão bloqueando a suspensão do sistema. O que pode ser feito para permitir que meu sistema suspenda?

suspend
  • 1 1 respostas
  • 28 Views

1 respostas

  • Voted
  1. Best Answer
    IndexOutOfBoundsException
    2024-10-12T22:55:42+08:002024-10-12T22:55:42+08:00

    Pode ser que um dispositivo específico esteja bloqueando a suspensão do seu sistema, então ele aparece novamente após alguns segundos. Para evitar esse comportamento, tente desabilitar alguns dispositivos que podem causar um despertar para que seu sistema possa suspender corretamente.

    Aqui está o que funcionou no meu caso:

    1. Tente suspender (também executando o comando echo mem | sudo tee /sys/power/statecomo root)
    2. Execute journalctl -bcomo root.
    3. Identifique entradas sinalizando que um dispositivo está bloqueando o desligamento do sistema. No meu caso, a saída problemática foi esta:
    Oct 12 16:01:40 Machine kernel: sof-audio-pci-intel-mtl 0000:00:1f.3: ------------[ DSP dump start ]------------
    Oct 12 16:01:40 Machine kernel: sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware boot failure due to timeout
    Oct 12 16:01:40 Machine kernel: sof-audio-pci-intel-mtl 0000:00:1f.3: fw_state: SOF_FW_BOOT_IN_PROGRESS (3)
    Oct 12 16:01:40 Machine kernel: sof-audio-pci-intel-mtl 0000:00:1f.3: ROM status: 0x5, ROM error: 0x0
    Oct 12 16:01:40 Machine kernel: sof-audio-pci-intel-mtl 0000:00:1f.3: ROM debug status: 0x50000005, ROM debug error: 0x0
    Oct 12 16:01:40 Machine kernel: sof-audio-pci-intel-mtl 0000:00:1f.3: ROM feature bit enabled
    Oct 12 16:01:40 Machine kernel: sof-audio-pci-intel-mtl 0000:00:1f.3: ------------[ DSP dump end ]------------
    Oct 12 16:01:40 Machine kernel: sof-audio-pci-intel-mtl 0000:00:1f.3: error: failed to boot DSP firmware after resume -5
    Oct 12 16:01:40 Machine kernel: e1000e 0000:00:1f.6: PM: pci_pm_suspend(): e1000e_pm_suspend+0x0/0xa0 [e1000e] returns -2
    Oct 12 16:01:40 Machine kernel: e1000e 0000:00:1f.6: PM: dpm_run_callback(): pci_pm_suspend+0x0/0x1b0 returns -2
    Oct 12 16:01:40 Machine kernel: e1000e 0000:00:1f.6: PM: failed to suspend async: error -2
    Oct 12 16:01:40 Machine kernel: PM: Some devices failed to suspend, or early wake event detected
    
    1. Procure os dispositivos que podem acordar seu dispositivo ou, como pode ser o caso por causa desse bug, impedir que ele suspenda. Para fazer isso, olhe para o conteúdo de /proc/acpi/wakeup(por exemplo, com cat /proc/acpi/wakeup). Você deve obter uma lista de dispositivos, alguns deles estão disabledsinalizando que não podem acordar sua máquina, outros estão enabled. Meu arquivo se parece com isso:
    Device  S-state   Status   Sysfs node
    AWAC      S4    *enabled   platform:ACPI000E:00
    XDCI      S4    *disabled
    GLAN      S4    *disabled  pci:0000:00:1f.6
    XHCI      S3    *enabled   pci:0000:00:14.0
    HDAS      S4    *enabled  pci:0000:00:1f.3
    I3C0      S4    *disabled
    CNVW      S4    *disabled  pci:0000:00:14.3
    RP01      S4    *enabled   pci:0000:00:1c.0
    PXSX      S4    *disabled
    RP02      S4    *disabled
    PXSX      S4    *disabled
    RP03      S4    *disabled
    PXSX      S4    *disabled
    RP04      S4    *disabled
    PXSX      S4    *disabled
    RP05      S4    *disabled
    PXSX      S4    *disabled
    RP06      S4    *disabled
    PXSX      S4    *disabled
    RP07      S4    *disabled
    PXSX      S4    *disabled
    PXSX      S4    *disabled
    RP09      S4    *enabled   pci:0000:00:06.0
    PXSX      S4    *disabled
    RP10      S4    *enabled   pci:0000:00:06.1
    PXSX      S4    *disabled  pci:0000:04:00.0
    RP11      S4    *disabled
    PXSX      S4    *disabled
    RP12      S4    *disabled
    PXSX      S4    *disabled
    TXHC      S4    *enabled   pci:0000:00:0d.0
    TDM0      S4    *enabled   pci:0000:00:0d.2
    TDM1      S4    *enabled   pci:0000:00:0d.3
    TRP0      S4    *enabled   pci:0000:00:07.0
    PXSX      S4    *disabled
    TRP1      S4    *disabled
    PXSX      S4    *disabled
    TRP2      S4    *enabled   pci:0000:00:07.2
    PXSX      S4    *disabled
    TRP3      S4    *disabled
    PXSX      S4    *disabled
    SLPB      S3    *enabled   platform:PNP0C0E:00
    LID   S4    *enabled   platform:PNP0C0D:00
    
    1. Compare a saída de dispositivos que bloquearam a suspensão com a lista de dispositivos. Se houver algum identificador que se refira a um dispositivo que seja enable, considere disabling-os. Para fazer isso, edite o arquivo de texto como raiz e substitua para este dispositivo específico disabledpor enabled. (Eu fiz isso para HDAS).
    2. Tente suspender sua máquina.

    Bônus: Para ter uma ideia do dispositivo que estava bloqueando a suspensão, execute lspcicomo root.

    No meu caso, recebo:

    00:00.0 Host bridge: Intel Corporation Device 7d02 (rev 04)
    00:02.0 VGA compatible controller: Intel Corporation Meteor Lake-P [Intel Graphics] (rev 08)
    00:04.0 Signal processing controller: Intel Corporation Device 7d03 (rev 04)
    00:06.0 PCI bridge: Intel Corporation Device 7e4d (rev 20)
    00:06.1 PCI bridge: Intel Corporation Device 7eca (rev 10)
    00:07.0 PCI bridge: Intel Corporation Meteor Lake-P Thunderbolt 4 PCI Express Root Port #0 (rev 02)
    00:07.2 PCI bridge: Intel Corporation Meteor Lake-P Thunderbolt 4 PCI Express Root Port #2 (rev 02)
    00:0a.0 Signal processing controller: Intel Corporation Device 7d0d (rev 01)
    00:0b.0 Processing accelerators: Intel Corporation Meteor Lake NPU (rev 04)
    00:0d.0 USB controller: Intel Corporation Meteor Lake-P Thunderbolt 4 USB Controller (rev 02)
    00:0d.2 USB controller: Intel Corporation Meteor Lake-P Thunderbolt 4 NHI #0 (rev 02)
    00:0d.3 USB controller: Intel Corporation Meteor Lake-P Thunderbolt 4 NHI #1 (rev 02)
    00:14.0 USB controller: Intel Corporation Meteor Lake-P USB 3.2 Gen 2x1 xHCI Host Controller (rev 20)
    00:14.2 RAM memory: Intel Corporation Device 7e7f (rev 20)
    00:14.3 Network controller: Intel Corporation Meteor Lake PCH CNVi WiFi (rev 20)
    00:15.0 Serial bus controller: Intel Corporation Meteor Lake-P Serial IO I2C Controller #0 (rev 20)
    00:16.0 Communication controller: Intel Corporation Device 7e70 (rev 20)
    00:1c.0 PCI bridge: Intel Corporation Device 7e38 (rev 20)
    00:1f.0 ISA bridge: Intel Corporation Device 7e03 (rev 20)
    00:1f.3 Audio device: Intel Corporation Meteor Lake-P HD Audio Controller (rev 20)
    00:1f.4 SMBus: Intel Corporation Meteor Lake-P SMBus Controller (rev 20)
    00:1f.5 Serial bus controller: Intel Corporation Meteor Lake-P SPI Controller (rev 20)
    00:1f.6 Ethernet controller: Intel Corporation Device 550b (rev 20)
    04:00.0 Non-Volatile memory controller: Sandisk Corp WD Black SN770 / PC SN740 256GB / PC SN560 (DRAM-less) NVMe SSD (rev 01)
    

    O dispositivo problemático é que 00:1f.6estou concluindo que o controlador Ethernet bloqueou a suspensão do sistema.

    Nota: Há, é claro, outros problemas que tornam impossível suspender um sistema. Esta é apenas uma contribuição projetada para ser complementar às explicações já existentes.

    • 1

relate perguntas

  • Como posso suspender/hibernar a partir da linha de comando?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve