Моя клавиатура перестает работать без видимой причины.
После использования Ubuntu в течение 2,5 лет в качестве виртуальной машины на хосте Windows ( VirtualBox ) я наконец сделал решающий шаг, переформатировал свой жесткий диск и вчера собрал систему с Ubuntu. Сегодня утром у меня перестала работать клавиатура.
Я вижу много сообщений об Ubuntu и USB-клавиатуре или мыши, которые перестают работать случайно. Они указывают, что это автоматическое отключение питания USB-устройств для экономии энергии, а когда USB-устройство несовместимо с некоторыми устройствами, USB не «просыпается», как следует.
Я попробовал предложение, размещенное в Исправлении USB Autosuspend .
Но не повезло. Я также попробовал другое предложение, которое состояло в том, чтобы загрузить без клавиатуры и затем подключить его после запуска Ubuntu.
Вот некоторые детали:
- Последние два года я использовал ту же клавиатуру Kinesis с Ubuntu, что и виртуальная машина, без проблем.
- У Kinesis есть макросы, и запуск макроса вызывает проблему 100% времени. Однако это происходит, когда я просто печатаю (без макросов).
- Я попробовал Kinesis на ноутбуке только сейчас. Это годовалый компьютер, на котором я установил Ubuntu 16.04 две недели назад. С помощью клавиатуры макрос Kinesis ничего не воспроизвести проблему.
Проблемная машина
- Dell XPS, 6 лет, настольный компьютер
- Установил Ubuntu 16.04 вчера
- Использование USB-клавиатуры Kinesis Advantage
- Отключение / повторное подключение клавиатуры сработало 9 из 10 раз
- Перезагрузка тоже работает
- Я не думаю, что это проблема с питанием USB, так как светодиод на клавиатуре горит, а другие устройства USB продолжают работать.
- У меня есть как USB, так и Bluetooth мышь, подключенная к машине. Оба продолжают работать, даже когда кинезис останавливается.
- У меня обычно есть вторая обычная клавиатура Dell под брендом для людей, не являющихся Kinesis, которым необходимо использовать мой компьютер. Ранее сегодня эта клавиатура перестала работать каждый раз, когда перестал работать Kinesis. Однако теперь, вызывая проблему с макросом, клавиатура Dell продолжает работать.
Кинезис, который у меня уже 8 лет, позволил мне продолжать играть на клавиатуре. Если я не могу решить эту проблему, мне придется вернуться к Windows, которая была бы настоящим обломом.
Будем весьма благодарны за любые предложения о том, что можно попробовать или как отладить это.
Я копаюсь в драйверах USB, о которых в Linux я ничего не знаю. Однако я обнаружил, что у ноутбука есть порты USB 2.0 и 3.0. Рабочий стол (с проблемой) только USB 2.0. Все еще копаю ...
xserver-xorg-input-all
работала для меня, когда яUbuntu 17.04
Ответы:
У меня была такая же проблема с Ubuntu 16.04 (Xenial Xerus) и я так много искал ...
Решение находится в конце этого ответа, если вас не волнует контекстная история. Контекст может выглядеть как бесполезная блабла (возможно, так оно и есть), но я думаю, что он может помочь читателям проверить, совпадает ли проблема, которую я решил на моем ПК, с их проблемой.
КОНТЕКСТ
Я отчаянно уже безуспешно проходят рядом каждые советы , которые я нашел в Интернете, перезагрузки после каждой попытки:
usbcore.autosuspend=-1
параметр загрузки ядраCONTROL_RUNTIME_AUTOSUSPEND=0
man laptop-mode.conf
&man laptop_mode
)options usbcore autosuspend=1
в /etc/modprobe.d/usb.conf тоже был неэффективенrules
для устройства файл дляudev
/etc/udev/rules.d/usb-power.rules, рекомендованный Сержом Y. StroobandtПрочитав всю эту техническую информацию, я только понял, что причина связана с тем, что мое значение «/ sys / module / usbcore / parameters / autosuspend» застряло на две секунды, независимо от того, что я изменил в своей конфигурации. Вы можете проверить это
cat
командой:И да, моя мышь была отключена ровно через две секунды, поэтому я знал, что на правильном пути. Конечно, я протестировал
echo -1
команду, которую видел здесь и там,-1
предназначенную для отключения автоподключения ... но:Я не понял, почему было отказано в разрешении даже в режиме sudo. Я не пытался как root, потому что просто не думал, что это может быть проблемой. Здесь была ошибка :(
Благодаря комментариям Алекса Деккера и Брайса , я узнал, как отключить автоподвеску только для моей мыши. Но, конечно же, мои первые попытки потерпели неудачу с этим
bash: Permission denied error
, поэтому мне пришлось подождать понимания моей путаницы root / sudo, прежде чемecho -1
команда, предложенная Алексом, наконец сработает.Я также нашел лучший способ выполнить команду как пользователь root без входа в систему как root. Разница между использованием командной оболочки и корневых команд хорошо объяснена на официальной вики-странице Ubuntu RootSudo . Я люблю учиться таким вещам, но эй! Почему его всегда нужно выучить болевым путем? лол
О, Боже, это была настоящая головная боль, и нубу, подобному мне, потребовалось много времени, чтобы понять, как я обычно говорю: «нет мозга - нет выгоды». Моя явно нуждается в большем обучении.
Так что давайте перестанем говорить о себе и пойдем исправлять это! Пожалуйста, продолжайте ниже ...
Я настоятельно рекомендую второе решение для неработающего внешнего жесткого диска, чтобы не разряжать аккумулятор ноутбука. Но я даю вам оба решения, потому что те, кто любит свою свободу, должны любить друг друга тоже :)
РЕШЕНИЕ 1
Чтобы отключить автоподключение на всех USB-устройствах / портах
Откройте Терминал и выполните:
Это действительно временное решение, которое позволяет вам мгновенно проверить, исправляет ли эта команда проблему с автоподвеской мыши или клавиатуры.
Если ваше устройство USB работает нормально, просто отредактируйте ваш скрипт /etc/rc.local, чтобы он запускал эту команду при каждой загрузке системы. Таким образом, вы сделаете исправление постоянным . Отредактируйте файл, например, с помощью nano:
и поместите
echo -1
команду в вашем файле /etc/rc.local передexit 0
строкойПерезагрузите компьютер
(Пожалуйста, проверьте Важное примечание в конце.)
,
РЕШЕНИЕ 2
Отключение автоподключения для определенного USB-устройства / порта
Варианты питания для устройства USB находятся в
/sys/bus/usb/devices/n-n/power
. Чтоn-n
для данного устройства требует нескольких манипуляций, чтобы выяснить, но это не сложно. В приведенном ниже примере показано, как я определил номер порта USB моего приемника беспроводной мыши3-1
, поэтому, пожалуйста, адаптируйте его к своей ситуации:Отключите USB-устройство, откройте терминал и выполните
sudo dmesg
командуПодключите устройство USB обратно, а затем
sudo dmesg
снова выполните в терминале, чтобы проверить измененияВот
dmesg
как выглядит конец вывода моей команды после подключения моей мыши обратно в слот:Теперь мы видим, что порт, к которому подключено мое USB-устройство, обозначен как
usb 3-1
.Выполните следующую команду в своем терминале, изменив номер моего порта
3-1
на тот, который вы нашли в своем собственномdmesg
результате:Обратите внимание, что
autosuspend_delay_ms
заменено устаревшимautosuspend
с версии ядра 2.6.38, согласно официальной документации Linux .Это действительно временное решение, но теперь вы можете легко проверить, исправила ли эта команда проблему с автоподвеской мыши или клавиатуры.
Если ваше USB-устройство теперь работает нормально, просто отредактируйте ваш скрипт /etc/rc.local, чтобы он запускал эту команду при каждой загрузке системы. Таким образом, вы сделаете исправление постоянным . Отредактируйте файл, например, с помощью nano:
и поместите
echo -1
команду в вашем файле /etc/rc.local передexit 0
строкой, еще раз не забудьте изменить номер портаn-n
в команде:Перезагрузите компьютер
,
Важно: не забывайте, что вам придется снова выполнять
sudo sh -c
«временную» команду вручную, если вы отключите / переподключите свое USB-устройство, когда среда рабочего стола уже запущена, даже если вы снова подключите его к тому же USB-разъему. Нормально, просто потому, что файл /etc/rc.local вызывается только один раз при запуске системы.В любом случае, обходные пути возможны. У более опытных людей могут быть более умные методы, но я настроил псевдонимы для конкретных портов в Ubuntu. Это позволяет мне использовать простые команды
usb1
илиusb2
выборочно, если мне нужно отключить / снова подключить USB-устройство здесь или там. Ты тоже! Вы также можете создавать псевдонимы команд для воспроизведения коротких слов вместо ввода полной команды. Это легко установить менее чем за две минуты, а также работает с Alt+F2 :)Другие идеи, чтобы сделать это проще, также будет приветствоваться.
источник
У меня была точно такая же проблема (клавиатура Kinesis, перестала работать после перезагрузки).
В конце концов я понял, что это связано с обновлением ядра
Загрузка с использованием более старого ядра 4.4.0-31 устранила проблему для меня.
В этом посте содержатся инструкции о том, как загрузить старое ядро (чтобы узнать, подходит ли вам старое ядро).
источник
Если у вас есть,
laptop-mode-tools
это может быть возможно полностью отключить USB Auto-Suspend, изменив:в
в
Обратите внимание, что в этом файле есть комментарий
Вы можете попробовать поиграть с этим параметром, если хотите точно настроить параметры управления питанием.
ПРИМЕЧАНИЯ:
источник
У меня была такая же проблема. Для меня решение было простым, а фактическая причина осталась неизвестной.
Вчера я подключил вторую мышь к своему компьютеру. Все работало нормально Сегодня, когда я загрузился, клавиатура не работала ни на экране входа в систему, ни на рабочем столе. Работало во время загрузки, например я попал в биос.
Клавиатура начала работать после того, как я отключил новую мышь и подключил все провода USB.
источник
За прошедший год я снова и снова перечитывал этот и другие отчеты, и в конце концов просто отказался от использования клавиатуры, которая вызывала проблемы, и переключился на беспроводную клавиатуру.
Пока меня не поразило, что проблема началась примерно в то время, когда я строил новый ПК, и это могло быть проблемой питания. Поэтому я купил USB-концентратор с питанием для подключения клавиатуры. Это решило проблему! В конце концов, это не было проблемой программного обеспечения, но, очевидно, мой новый компьютер имеет выходы USB с недостаточным питанием (или так думает моя клавиатура).
Возможно, стоит попробовать, если вы страдаете от периодических отключений клавиатуры, как описано выше, и ничего со стороны программного обеспечения не работает. USB-концентратор с питанием не должен быть дорогим.
источник
Это не тот ответ, который я искал, но ... я потратил два дня и много часов, пытаясь решить эту проблему. Я купил концентратор PCIe USB 3.0, чтобы посмотреть, сработает ли это - не получилось.
Я пришел к выводу, что эту проблему не стоит решать, и есть лучшие пути для достижения этой цели.
Мое решение / обходной путь - полагаться на функцию фрагментов моего текстового редактора. Это означает, что я буду инвестировать и больше полагаться на конкретный редактор (скорее всего, на Atom ), но это будет даже лучше, чем то, что было у меня с клавиатурными макросами, поскольку фрагменты кода проще поддерживать, чем клавиатурные макросы.
Я многое узнал об USB от перезагрузки подсистемы USB .
источник