Тонко сломанный - хуже, чем откровенно сломленный ...
Задний план:
Я уже отключил режим ожидания в Системных настройках -> Питание.
Параметр «Приостановить» по-прежнему отображается в меню передач (не то, чтобы я ожидал, что он исчезнет), а кнопка «Сон (луна)» на клавиатуре по-прежнему вызывает приостановку.
Варианты в # 1, как уже указывали другие, слишком просты, чтобы ошибиться один раз в месяц или около того.
Похоже, что 1% платформ правильно приостанавливается, потому что какой-то инженер-драйвер где-то забыл проверить, что регистр пространства PCIe или IO восстанавливается после пробуждения. Так что это хуже, чем сломано: после пробуждения все выглядит нормально, только это не так. И, надеюсь, ни один из этих поврежденных регистров не будет влиять на надежность в ползучем виде, например, конфигурация ECC или глубина FIFO хранилища. Но они обычно делают, в той или иной форме, что, например, является одной из причин, почему ошибки в драйверах графической подсистемы продолжаются бесконечно, спустя годы после того, как они дебютируют на рынке («графический чип X зависает через час после возобновления приостановки бла-бла-бла») ).
Должен быть автоматизированный тест, чтобы увидеть, какие регистры меняются в течение цикла ожидания, но лишь немногие поставщики имеют такой тест. Тест несколько усложняется тем фактом, что некоторые регистры должны измениться, например, таймеры. И что еще хуже, иногда вам приходится читать регистры в определенном порядке или с определенной степенью детализации, или сначала записывая индекс чтения в другом месте. Таким образом, этот процесс нельзя централизовать в таком удобном месте в отрасли, как офисы Canonical. Это действительно и действительно безнадежно, если PCIe не будет переопределен таким образом, чтобы упростить сравнение, чего не будет.
Магический набор тестов в # 5 никогда не будет написан из-за хаотичного состояния разработки драйверов. Отсюда и отсутствие этого, мой вопрос.
Я настолько отчаялся, что не возражаю против взлома / etc / what_suspend_file, но было бы неплохо, если бы существовал "вежливый" способ сделать это, например, этот несуществующий флажок в Системных настройках -> Питание, которое говорит "навсегда отключить" приостановить, потому что это было непродуманным с первого дня ".
NB: Я не говорю о гибернации здесь, которая не должна страдать от вышеуказанных проблем, потому что она включает цикл питания. Хотя в принципе восстановление регистров из постоянного хранилища может иметь аналогичные проблемы.