Как я просыпаюсь от сна с помощью bluetooth-клавиатуры

У меня есть про книга Mac, и прикрепление Henge. Прикрепление - ничто больше затем держатель, который позволяет Вам легко включать несколько устройств, таким образом, можно "прикрепить" MBP. У меня также есть беспроводная клавиатура Apple. Клавиатура является Bluetooth.

Клавиатура хорошо работает "обычно", но проблема состоит в том, когда я закрываю крышку на своем MBP, ноутбук засыпает (это не может быть предотвращено), я помещаю ноутбук в прикрепление (с закрытой крышкой), и я не могу проснуться от сна (я принимаю потому что никакой Bluetooth). Если я использую свой игровой планшет для пробуждения устройства от сна, я получаю экранную подсказку пароля блокировки, однако я ничего не могу на самом деле ввести, потому что bluetooth-клавиатура не подключена.

Таким образом, как я могу разбудить Книгу Mac Pro от сна с помощью bluetooth-клавиатуры (беспроводная клавиатура яблока), или приведя это к сбою, вынудить это снова соединиться, когда машина возобновляется, таким образом, я могу ввести свой пароль?

Вот мои аппаратные детали.

Книжный Pro 6.2 Mac (я знаю, что это обычно не работает, но это - закрытая аппаратная платформа),

Соедините шиной 001 устройство 008: идентификатор 050d:0017 B8T017 Bluetooth+EDR 2.1 компонентов Belkin
Соедините шиной 001 устройство 007: идентификатор 05ac:8218 Apple, Inc хост-контроллер Bluetooth

Версия Linux

Linux macbook 3.5.0-22-generic #34-Ubuntu SMP

Ubuntu 12.10

Что я сделал:

Соединенный моя Беспроводная клавиатура Apple с Ubuntu.

Что я ожидаю:

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

Что происходит:

Когда я делаю пюре из ключа на моей беспроводной клавиатуре яблока;Ничего.....

Что я ожидаю от приемлемого ответа:

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

Знаменитый:

Я обычно очень не хочу видеть это и сказать это, но.... Это работает в Mac OS X и в Windows, таким образом, я знаю, что аппаратные средства способны к выполнению этого.

8
задан 14 January 2013 в 20:42

1 ответ

Что я нашел

Я собираюсь потратить время, чтобы объяснить несколько вещей, которые я обнаружил. Это должно помочь людям понять, почему это такой сложный процесс, и что они могут сделать, чтобы сделать его лучше, по крайней мере, для них.

Во-первых, радио Bluetooth на MBP является устройством «USB». Это довольно часто встречается на ноутбуках и даже на некоторых компьютерах. Из-за этого Linux рассматривает его как устройство USB, и вы можете настроить его соответствующим образом.

Во-вторых, радиоприемник Bluetooth имеет два режима HID, с очень простым «профилем» только для клавиатур и мышей. Этот режим позволяет использовать клавиатуру до того, как появится приложение, управляющее устройством Bluetooth. Например, когда вы используете клавиатуру Bluetooth в меню GRUB, это режим HID. Ваш ноутбук и клавиатура по-прежнему должны быть сопряжены, но они могут работать на этом очень низком уровне без проблем или вмешательства (снова после сопряжения). Однако режим HID очень ограничен, и некоторые вещи не будут работать. Например, уровень заряда батареи клавиатуры не будет работать. Также в режиме HID мне было трудно работать с функциональными клавишами и мультимедийными клавишами (на этой клавиатуре они - одна и та же клавиша, и ее можно переключать с помощью программного обеспечения).

Далее вам нужно заставить клавиатуру отправлять «что-то» на ноутбук. Вам также нужен ноутбук, чтобы получить «что-то». Затем вы должны связать все это вместе, чтобы ноутбук действительно проснулся.

Наконец, Linux, Ubuntu, Bluez или кто-то еще считают, что все контроллеры Bluetooth должны работать в режиме HCI. Это, вероятно, очень разумное значение по умолчанию, учитывая, что даже эта клавиатура очень ограничена в режиме HID, и что для чего-либо, кроме простой мыши и клавиатуры (например, мобильного телефона или гарнитуры), потребуется режим HCI. Однако для работы режима HCI требуется полный программный стек, и он не будет работать, пока ноутбук находится в режиме ожидания / сна / выключен. Поэтому по умолчанию, когда ваш ноутбук спит, он отключает клавиатуру и прекращает прослушивание.

Фактические шаги, чтобы заставить его работать

Шаг 0: Обходной путь

Когда я делал это, я очень расстраивался тем, что я не смог ничего сделать, чтобы решить проблему. Вы ничего не можете сделать, когда ноутбук спит, и, по крайней мере, с Mac Book Pro вы не сможете закрыть крышку, пока они не заснут. Таким образом, у вас осталась ситуация, когда либо видео не будет работать (потому что оно идет на внешний монитор, который не подключен при отсоединении), либо вы можете видеть все, но у вас нет клавиатуры (потому что оно не работает / сопряжено / что-либо еще, и внутренний недоступен). Чтобы обойти это, вы должны столкнуться с этим. Используйте визуальную клавиатуру на экране входа в систему LDM. Если вы проснетесь, чтобы получить приглашение на ввод пароля, вы сможете нажать кнопку переключения пользователя, а затем использовать визуальную клавиатуру для входа в систему. Пока вы входите в систему как тот же пользователь, ваша сессия не должна быть потеряна. Тем не менее, я бы не оставил работу без спасения при выполнении этих шагов.

Шаг 1: предварительно подключите клавиатуру.

1143 Когда я проводил тестирование, я заметил, что этот шаг необходим. Однако я не совсем понимаю, почему. Apple делает странные вещи, так что я просто позволю этому уйти.

  1. Сбросить вашу PRAM / NVRAM / что угодно. Это очистит ваши текущие настройки OS X и, возможно, не понадобится, но лучше начать чистку. На веб-сайте поддержки Apple есть инструкции . Вам не нужно сбрасывать PMU.
  2. Запустите или перезапустите OS X и выполните обычное сопряжение клавиатуры. Я рекомендую оставить все остальные устройства Bluetooth выключенными и сосредоточиться на клавиатуре. Из того, что я могу сказать, это будет хранить некоторую информацию в NVRAM и на всей клавиатуре для связи с выключенным ноутбуком.
  3. Нажмите «Дополнительно» (в OS X, после сопряжения) и установите флажок «Разрешить устройствам Bluetooth пробуждать компьютер». Еще раз на веб-сайте поддержки Apple есть инструкции
  4. Перезагрузите компьютер в Linux. При ReFIT / GRUB / при загрузке клавиатура должна работать просто отлично.

Шаг 2. Настройка Linux для работы с клавиатурой

По какой-то причине клавиатура теряет сопряжение при входе в систему. Возможно, потому что контроллер Bluetooth переключен в режим HCI. Чтобы исправить это, вам нужно создать пару в Linux. Это нарушит сопряжение, которое вы делали на шаге 1, но не нарушит режим HID, когда ноутбук выключен или загружается. Тем не менее, когда вы перезагружаетесь, ваша клавиатура не будет работать, пока ваш стек Bluetooth снова не заработает полностью в режиме HCI. Это потому, что клавиатура пытается говорить в режиме HCI, но никто не слушает. Если вы выключите и дождитесь истечения времени ожидания соединения, клавиатура снова будет работать в режиме HID.

  1. Установите bluez-compat, запустив sudo apt-get install bluez-compat. Это позволит вам с легкостью выполнить сопряжение. Без менеджера Bluetooth просто рухнул за меня.
  2. Сопряжение клавиатуры обычно с Linux. Запустите Bluetooth из Unity Dash и нажмите плюс. Переведите клавиатуру в режим сопряжения (удерживайте кнопку питания на беспроводной клавиатуре Apple) и следуйте инструкциям. Это должно соединиться довольно гладко. На этом этапе ваша клавиатура должна отлично работать в Linux и даже отправлять сигналы на HID-контроллер, когда ноутбук спит.

Шаг 3: Говорить Linux, что он должен проснуться

Теперь нам нужно сказать Linux, чтобы он проснулся, если устройство bluetooth получает «что-то». Сделать это довольно легко благодаря сценариям на этом сайте . Основные инструкции приведены ниже, но вы должны прочитать сайт , если что-то неясно. Почти все это взято со ссылочного сайта.

  1. Установить некоторые зависимости sudo apt-get install notify-send zenity
  2. Скачать скрипт возобновления udev и скопировать в /usr/local/sbin/enable-wakeup.
  3. Загрузите скрипт выбора устройства и скопируйте в / usr / local / sbin / select-resume-devices
  4. Сделайте скрипты исполняемыми: chmod a+x /usr/local/sbin/select-resume-devices и chmod a+x /usr/local/sbin/enable-wakeup.
  5. Запустить с правами root скрипт выбора устройства. sudo /usr/local/sbin/select-resume-devices
  6. Выберите, как минимум, «Хост-контроллер Bluetooth Apple Inc.», «Компоненты Belkin B8T017 Bluetooth + EDR 2.1», «Внутренняя клавиатура / трекпад Apple Inc. (ANSI)» и любые другие. устройства, которые вы хотите использовать для возобновления работы вашего компьютера.
  7. Нажмите OK.
  8. Просмотрите файл /etc/udev/rules.d/90-hid-wakeup-enable.rules и убедитесь, что он имеет смысл.
  9. Перезагрузите компьютер.

Шаг 4: Тестирование и перехват

Теперь все должно работать нормально после перезагрузки компьютера. После того, как вы снова вошли в систему, переведите компьютер в спящий режим. Нажмите на клавиатуру, и ноутбук должен возобновить работу. Однако есть несколько уловов.

  1. Когда компьютер находится в спящем режиме, он ищет устройства HID. Таким образом, клавиатура запускается в режиме HID. Когда вы закончите выход из спящего режима, Linux ищет устройство HCI. Клавиатура (не ноутбук) должна сбросить соединение. Это происходит естественным образом примерно через 45 секунд. Вы можете форсировать его, вынув батарейки, но это может испортить соединение. Если вы не используете клавиатуру для выхода из сна, это не проблема.
  2. При перезагрузке клавиатура все еще будет пытаться установить связь в режиме HCI, но ноутбук будет только искать устройства HID. Снова по истечении времени ожидания клавиатура получит его и снова будет работать правильно.
0
ответ дан 14 January 2013 в 20:42

Другие вопросы по тегам:

Похожие вопросы: