DFU режим для UNO R3

Тема в разделе "Arduino & Shields", создана пользователем Nimatu, 15 авг 2015.

  1. Nimatu

    Nimatu Нуб

    Привет всем!

    Ребята, буду очень признателен, если подскажите (желательно на пальцах) как ввести UNO R3 в режим DFU? Способ "закоротить контакты" не помогает. Мигает индикатор и в диспетчере он вновь подключен через COM порт.

    Как быть? Нужно для брутфорса макбука, описанного в этой статьей.
     
  2. Unixon

    Unixon Оракул Модератор

    А не проще сразу взять Leonardo / Iskra Neo и не искать лишних проблем?
     
  3. Nimatu

    Nimatu Нуб

    Промучился с Леонардо две недели, так и не смог ее запустить как клавиатуру в EFI, то есть без загрузки системы. Если поможете, как запустить с Леонардо брутфорс, вышлю презент горячительного почтой. )
     
  4. Unixon

    Unixon Оракул Модератор

    А на маке EFI не видит Leonardo как HID клавиатуру?
     
  5. Nimatu

    Nimatu Нуб

    Именно.
    Вот у человека такая же проблема, который решил ее покупкой UNO. Я тоже последовал его совету, но по невнимательности купил R3 и теперь не могу его ввести в DFU режим. Застрял на этом шаге.
     
  6. Unixon

    Unixon Оракул Модератор

    То, что вы пытаетесь сделать с Uno - это использовать от нее ATmega16U2 вместо ATmega32U4. Нужно на Leonardo залить тот же код, что в статье прошивается в DFU режиме через Atmel Flip. Естественно, сначала нужно объединить его исходник с кодом перебора комбинаций.
     
  7. Nimatu

    Nimatu Нуб

    Подскажите, как Леонардо ввести в DFU режим? Беглый поиск вчера ни к чему не привел.
    Заранее спасибо.
     
  8. Unixon

    Unixon Оракул Модератор

    Не надо этого делать. DFU - это способ прошивки через USB, как альтернатива штатной прошивке через ICSP. Для контроллера 16U2 на Uno это единственный вариант при не распаянном разъеме ICSP, но для Leonardo в этом нет абсолютно никакой необходимости, можете заливать код как обычно, через загрузчик.
     
  9. Unixon

    Unixon Оракул Модератор

    У меня один вопрос пока - где исходники Arduino-Uno-keyboard.hex ?
     
  10. Unixon

    Unixon Оракул Модератор

  11. Unixon

    Unixon Оракул Модератор

    ОК, смотрите. Эта прошивка использует USB-идентификаторы
    VendorID = 0x03EB,
    ProductID = 0x2042,

    а Leonardo использует (boards.txt)
    leonardo.build.vid=0x2341
    leonardo.build.pid=0x8036

    Попробуйте заменить VID/PID в файле boards.txt и прошить Leonardo с ними.
     
  12. Nimatu

    Nimatu Нуб

    Мне жутко стыдно за свое невежество, но, если это реально, то можно объяснить порядок действий для самого-самого новичка, который второй день видит ардуино? или может лучше в скайпе (nimatu1), надеюсь у Вас найдется для меня немного времени. Есть уно и леонардо, как Вы поняли.
     
  13. Unixon

    Unixon Оракул Модератор

    Ну, насчет VID/PID это моя гипотеза, что клавиатура на Leonardo не работает потому, что EFI не воспринимает те VID/PID, что зашиты в Leonardo. Ее просто проверить. Берете файл boards.txt из установки Arduino IDE, находите в нем секцию для Leonardo, дублируете ее под новым именем, в дубле меняете значения

    leonardo.build.vid=0x2341
    leonardo.build.pid=0x8036

    на (вместо leonardo здесь будет имя вашего эмулятора клавиатуры, придумайте какое-нибудь)

    leonardo.build.vid=0x03EB
    leonardo.build.pid=0x2042

    После перезапуска IDE в списке плат появится ваш новый вариант. Выбираете его и прошиваете код для эмулятора клавиатуры в этот модифицированный вариант Leonardo. Пробуете.
     
  14. Nimatu

    Nimatu Нуб

    Правильно? Если да, то не помогло. (
     

    Вложения:

  15. Unixon

    Unixon Оракул Модератор

    А как вы проверяете обнаружение эмулятора клавиатуры EFI ?
     
  16. Nimatu

    Nimatu Нуб

    Да, собственно, есть заблокированный мак, есть код перебора пароля (который в загруженном маке/винде печатает и перебирает пароли). Сделал как Вы предположили, воткнул в заблокированный мак Леонардо и ничего не произошло.
     
  17. Unixon

    Unixon Оракул Модератор

    А не на маке оно работает?
     
  18. Nimatu

    Nimatu Нуб

    В загруженной винде да, печатает, перебирает. Сейчас зашел в биос, выбрал произвольно окно, где можно что-то напечатать (set supervisor password), подключил леонардо – тишина.

    Приведу высказывание из ссылки выше:

     
  19. Unixon

    Unixon Оракул Модератор

    Ну, если время инициализации на Leonardo действительно представляет проблему, то это можно еще попытаться обойти следующим образом: сначала запитать Leonardo от батареи через линию 5V, а потом подключить к ПК уже в режиме HID устройства.

    Если не прокатит - тогда можно возвращаться к перешивке 16U2 на Uno через DFU.
     
  20. Nimatu

    Nimatu Нуб

    К сожалению, сейчас нет возможности запитать ее от батареи.
    Зато есть возможность перешить УНО, через ДФУ (вот только нужно ее туда как-то ввести).