уже страшно.
Вот поэтому драйвером под линукс и заинтересовался
пробовал - получаешь шишь.
учитывая что Wake нет на юсб совсем.
ссылка на слив http://www.usblyzer.com/download.htm
снимать дескриптор - левое окно - правой мыши и в личку
далее поясню по снятому дескриптору что делать далее.
...
Если юсб порты обесточены, то включалки на них не предусмотрено...
вывод - только кнопкой.
За прогу спасибо. Покопал пару устройств. Что интересно, клавиатурная клавиша Wake генерирует код, который в аналитике отражается как Usage: System Wake Up, и генерирует 2-байтную посылку (в отличие от 5-байтной для остальных клавиш).
Также помучал "промышленный" USB приемник с пультом на ST72F623 (Maxter, польша) - приемник типа HID (клавиатура+мышь) с одной интересной особенностью - после усыпления компьютера приемник переводится в ограниченный режим (ловит только удержание Power более чем пол секунды), благодаря чему пробуждает компьютер из ждущего режима только правильной кнопкой. В выключенном состоянии порты всё таки запитаны: приемник на Power реагирует, но включить компьютер не может. Для разрешения пробуждения из ждущего режима нужно активировать данную опцию в диспетчере устройств. Код, которым приемник пробуждает компьютер перехватить пока не удалось (в принципе может быть любая кнопка, но, судя по хвостам от приемника - это NumLock) - надо как-то сэмулировать ждущий режим для приемника без усыпления системы.
Ещё копнул обмен с IgorHID приемником. Возник вопрос: зачем "Сервер" шлет запросы вида 510e0507010301, на которые приемник отвечает нулями? Проверка связи? Приемник вроде сам генерирует прерывания и сам шлет пакеты.
Ладно - прилепим атачем. Прикрепленный файл Zolid.zip
...
смотри атачь, там уже все готово - как раз код кнопки он получает...
Посмотрел. Действительно получает, но висит в юзерспейсе и обменивается с приложениями по UDP.
Глянув на исходник я пришел к выводу, что там всё не просто, а очень просто, но решил это вариант не трогать. Вместо него просмотрел имеющиеся стандартные модули lirc на предмет работы с USB в разных вариантах. Наиболее близок к "идеалу" оказался модуль Sasem, который пришлось слегка подчистить на левые запросы (вывод информации на LCD), которые надо заменить на команды управления реле.
Получившийся модуль в первом приближении работает - коды считываются, irrecord позволяет записать конфиг, lircd обрабатывает кнопки.
Нужно API для управления реле (формат команды: значение каждого из 7 байт посылки). Экспериментальное включение 7го выхода работает. Можно конечно перехватить все варианты обмена с "Сервером", но это долго, ещё нужно циклические запросы фильтровать.
а да ща - это не обычный это изврат.
пинакл у нас в вариации MS Remote вещает, только с дополнительными изменениями.
все руки не дойдут прикрутить, да и файлов для анализа мало, только один всего
пришлешь - будет два...
Пока небольшая проблема прошить IgorPlugUSB2 версию. Соберу второй приемник - скину слепок. Нужен для "Основной конфигурации" или "Для патча 9,10 прошивок"?
При удержании кнопки передаются слегка модифицированные коды удерживаемой кнопки. Где это отражается, и распознает ли это программа автоматом?
ЗЫ: куда, что и кому скидывать: исходник модуля для lirc (пока ещё сыроват - осталось много мусора, желательно наличие API реле), дампы usblyzer (если они нужны), дампы осциллографа (для коллекции, могу сами пульты пофоткать)?