Subtelnie zepsuty jest gorszy niż szczerze zepsuty ...
Tło:
Już wyłączyłem zawieszenie w Ustawieniach systemu -> Zasilanie.
Opcja „Zawieś” nadal pojawia się w menu koła zębatego (nie spodziewałem się, że zniknie), a przycisk uśpienia (księżyca) na mojej klawiaturze nadal powoduje zawieszenie.
Opcje w punkcie 1 są, jak zauważyli inni, zbyt łatwe do przypadkowego trafienia raz w miesiącu.
Wygląda na to, że 1% platform zostaje poprawnie zawieszonych, ponieważ jakiś inżynier sterowników gdzieś zapomniał sprawdzić, czy rejestr kosmiczny PCIe lub IO X zostaje przywrócony po obudzeniu. Jest więc gorzej niż zepsuty: po przebudzeniu wszystko zwykle wygląda dobrze, tyle że nie. I miejmy nadzieję, że żaden z tych uszkodzonych rejestrów nie wpływa na niezawodność w pełzający sposób, taki jak konfiguracja ECC lub głębokość pamięci FIFO. Ale zwykle robią to, w takiej czy innej formie, co jest jednym z powodów, dla których errata przeciwko sterownikom graficznym trwa nieskończenie wiele lat po debiucie na rynku („układ graficzny X zawiesza się godzinę po wznowieniu pracy od zawieszenia bla bla bla”) ).
Powinien istnieć automatyczny test, aby zobaczyć, jakie rejestry zmieniają się w cyklu uśpienia, ale niewielu dostawców ma taki test. Test jest nieco skomplikowany przez fakt, że niektóre rejestry powinny się zmienić, na przykład timery. Co gorsza, czasami trzeba odczytywać rejestry w określonej kolejności lub o określonej szczegółowości, lub najpierw pisząc indeks odczytu gdzie indziej. Tak więc proces ten nie może być scentralizowany w dogodnym miejscu w branży, takim jak biura Canonical. To naprawdę i naprawdę beznadziejne, chyba że PCIe zostanie przedefiniowane w taki sposób, aby ułatwić porównywanie, co nie będzie.
Magiczny zestaw testowy w # 5 nigdy nie zostanie napisany z powodu chaotycznego stanu rozwoju sterowników. Dlatego przy braku tego moje pytanie.
Jestem tak zdesperowany, że nie mam nic przeciwko hakowaniu pliku / etc / cokolwiek_suspend_plik, ale byłoby miło, gdyby istniał „grzeczny” sposób, taki jak nieistniejące pole wyboru w Ustawieniach systemu -> Moc z napisem „Trwale wyłącz zawiesić, ponieważ od pierwszego dnia był źle pomyślany ”.
NB: Nie mówię tu o hibernacji, która nie powinna cierpieć z powodu powyższych problemów, ponieważ wiąże się to z cyklem zasilania. Chociaż w zasadzie przywracanie rejestrów z trwałego przechowywania może mieć podobne problemy.