LINUX.ORG.RU

Ноутбук не просыпается при перетыкании клавиатуры

 ,


0

2

У меня Thinkpad T14S. Сон работает хорошо, но есть одна проблема. У меня кроме него есть ещё системный блок. Монитор подключен и к ноутбуку и к системному блоку. Клавиатура с мышью также через простенький девайс-переключатель подключена одновременно туда и туда. Нажатием кнопки переключается.

Когда я переключаюсь с ноутбука на компьютер, я переключаю монитор и клавиатуру. Ноутбук через некоторое время от бездействия засыпает. Я переключаюсь назад, но вот уже уснувший ноутбук включенную клавиатуру не видит, даже питания на неё, судя по всему, не подаёт и не просыпается. Надо чуть-чуть приподнимать крышку, тогда просыпается.

Можно ли тут что-то придумать, чтобы не нужно было трогать крышку? Макбук у меня просыпался даже от блютус-клавиатуры.

Если отключить сон, то будет другая проблема. Гном не хочет выключать монитор, а просто подаёт чёрный экран. Ночью этот чёрный экран светит на всю комнату подсветкой, ну и вообще кажется неправильным не выключать монитор 24 часа в сутки.

★★★★

Последнее исправление: vbr (всего исправлений: 1)

Надо в биосе глянуть, не отключает ли он питание с юсб портов. У меня отключает, поэтому внешняя клава тупо перестаёт работать когда он засыпает и, следовательно, не сможет разбудить его.

u5er ★★
()
Ответ на: комментарий от t184256

Разумеется, ибо по дефолту там

TXHC	  S4	*enabled   pci:0000:00:0d.0
TDM0	  S4	*enabled   pci:0000:00:0d.2
TDM1	  S4	*enabled   pci:0000:00:0d.3

ТС: смотрите в /sys/bus/usb/devices/*/power/wakeup и в /proc/acpi/wakeup. Всякой арчедокументации на эту тему – масса.

i586 ★★★★★
()
Последнее исправление: i586 (всего исправлений: 1)

Возможно что прикол в том ноут совсем гасит сигнал по видеовыходу, что KVM-переключатель при отсутствии сидеосигнала считает что устройство выключено и не активирует ему USB. ИЛи сам ноут засыпает так, но это чуть менее вероятно

Предлагаю проверить что будет если перед засыпанием оставить клваиатуру напрямую в ноуте, проснятся он или нет. Чтоб отделить проблемы KVM от проблем ноута

GPFault ★★
()
Ответ на: комментарий от GPFault

Переключатель к видеосигналу не имеет отношения, он переключает только USB. Видеосигнал подключен напрямую к монитору и источники сигнала на мониторе я переключаю отдельной кнопкой.

Если перед (и после) засыпания клавиатуру не переключать (даже не напрямую), то проблем нет. Проблема именно если к спящему подключить.

vbr ★★★★
() автор топика

На caps lock/num lock клава реагирует? Если индикатор не загорается, то общения с хабом на плате нет. Ну и дальше 3 варианта

Либо usb вообще не запитаны, тогда как бы понятно

Либо они запитаны, но только на зарядку, и в этом режиме хаб по usb не общается

Либо, поскольку крышка закрыта, и сигнал lid_sw# в низком логическом уровне, он и не собирается включаться


Так, в целом, и должно быть, это абсолютно логичное поведение для ноутбука

Датчик Холла в этой модели, насколько я помню, находится на камере или рядом, можно всё это хозяйство несложно отцепить

shalom_ ★★
()
Ответ на: комментарий от shalom_

Клава ни на что не реагирует, в мышке светодиод не загорается.

Я передумал сном пользоваться, что-то гном при выходе из сна глючит, окна размер меняют, глючновато. Вопрос можно закрыть за ненадобностью, простите за потраченное время.

vbr ★★★★
() автор топика
Ответ на: комментарий от vbr

У меня сейчас в руках тоже t14s c rhel. Без проблем реализуется ваш сценарий, только вместо внешеней клавы – юбикей.

Послушайте, вам же выше с пролетарской прямотой написали, куда копать.

i586 ★★★★★
()
Ответ на: комментарий от vbr

да все ответили же. При засыпании отключается USB контроллер. На момент засыпания в нем ничего не было - соотвественно он просто выклоючился.

Копаться в биосе скорее всего не поможет - ибо там все спрятано. Проэкспериментировать - включить скажем мышЪ не через переключатель этот а напрямую в USB. И посмотреть поснется ли ноут если эту мышь пошевелить. Если проснется - тогда дело в переключателе (а эти девайсы кривые до безобразия просто все) - и держать вторую мышь для ноута. Если не проснется - ну тогда скорее всего не повезло. В этом случае через acpid повесит скрипт на крышку экрана который при закрытии крышки выполняет каку-ниюудь команду выкручивающую подсветку в ноль. Например - при закрытии

light -O (буква О большая - запомнить значение яркости подсветки) light -S 0 (0 цифра - яркость 0)

При открытии

light -I (восстановить яркость сохраненную на шаге light -O)

Есть конечно некоторые ноуты (например GPD WinMAx 2) у которых подсветка в 0 не является абсолютным выключением диодов а таки немного светит - но надеюсь в ThinkPad 0 это 0, и фокус удастся. Ну понятно утилиты light может не быть в дистре - но поставить ее не проблема. Она работает с управлением подсветкой и ей пофиг вейланд, икс , гном, не гном.

Qui-Gon ★★★★★
()
Ответ на: комментарий от i586

если на USB есть питание - то включенная в него клава или мышь подадут признаки жизни. Как я понимаю у топикстартера там просто нет питания в порте - значит клава и мышь ничего разбудить не смогут. В биосе у леновы кажется была опция always on USB - может ее попробовать.

Qui-Gon ★★★★★
()
Ответ на: комментарий от Qui-Gon

При засыпании отключается USB контроллер.

если на USB есть питание

Это разные вещи.

ТС, смотрите:

  1. Убедитесь, что у вас S0ix
  2. Убедитесь, что в /proc/acpi/wakeup у вас XHCI enabled
  3. Разрешите wakeup по событиям того usb хаба, в который вы втыкаете клаву. У меня это usb3: echo enabled > /sys/bus/usb/devices/usb3/power/wakeup
  4. Повыключайте вейкап по событиям остальных устройств, висящих на этой шине, если лаптоп будет просыпаться, когда не надо: /sys/bus/usb/devices/usb3/3-*/power/wakeup
i586 ★★★★★
()
Ответ на: комментарий от i586

Ну TGL это достаточно древняя штука. Хотя вот в Dell уже на TGL выпилили, ICL был последним с S3. C АМD Dell выпилил с Renoir

Thinkbook 6800H - нет S3 , но есть остатки в биосе. То есть можно хакнуть и вернуть - но оно при этом не работает. Засыпает и не просыпается. А вот в Yoga на 7840 - выпилено полностью. При этом производители орут в голос что виноваты производтители процессоров. Но вот незадача - у Thinkpad TGL еще умеет в S3 а у dell уже не умеет, GPD 6800 умеет в S3 - Thinkbook не умеет. В общем как говорил доктор Хаус - все врут.

Qui-Gon ★★★★★
()
Последнее исправление: Qui-Gon (всего исправлений: 1)

В общем поэкспериментировал интереса ради, единственный полу-рабочий вариант это echo enabled | sudo tee /sys/bus/usb/devices/usb3/power/wakeup но с ним ноутбук просыпается не от нажатия клавиатуры, а вообще от любого события в usb-порту, к примеру как только я переключаю хаб с ноутбука, он только что заснув тут же просыпается.

Возможно свитч-хаб работает не совсем правильно, тут хз.

Always On USB в биосе пробовал, изменений не увидел.

vbr ★★★★
() автор топика
Ответ на: комментарий от sloan

Нет, не перерабатывая капитально s2idle loop в кернеле это сделать невозможно.

Биос тут вообще не при чем, в s0ix вся периферия включена, процессор работает, обрабатывает прерывания, даже логи пишет. Чтобы отреагировать на нажатие клавиши на клаве, которую только что подключили и линка c которой еще нет, эту клаву надо инициализировать.

В линуксовом s2idle loop инициализация новых устройств не предусмотрена. Реакции на прерывание две: либо мы гнорируем прерывание(оставляем об этом запись в логе, все остальные танцы сорершаем), либо выходим из цикла и просыпаемся.

i586 ★★★★★
()