USB Sniffo

Хех, еще одна неделька, и еще одна поделка. В общем, в этот раз сидя в своей дачной лаборатории я дебажил самодельный usb донгл. Унутрях аврка, vusb стек… в общем как обычно. Разве что багов огреб по полной программе. Результат глючил напрополую, проблема была явно не в коде.

Пришлось мастерить донгл для сниффинга усб транзакций. Нечто подобное пробегало уже недавно на HaD’e, но искать было лень. Часок убитый на разводку, потом традиционное шаманство с реагентами и вуоля. 2 порта, выведены пины для подключения осциллографа. Питание, D+, D- выведены на светодиоды, которые включаются джампером. Засверлил, приделал ножки.


Тонер по рекомендации товарища Inky не счищал, оставил для сущей «готишности». После покрыл результат полиуретановым лаком, чтобы не боялось коррозии.

Принципиалка, разводка печатки в кикаде а так же готовый к печати постскрипт забираем тут:
sniffo.tar.gz

USB Sniffo: 13 комментариев

  1. @ffsdmad а че такое liveview?
    Если у тя есть FPGA, цепляй к такому адаптеру и дампи транзакции. Но это только если usbsnoop не помогает.

  2. плата предназначена для того чтобы удобно подключить логический анализатор или осциллограф к линии usb устройства? (и наблюдать за тем где именно глюк появляется)

  3. @domovoy: Ага. Либо тупо следить по светодиодикам. Для low-speed бывает достаточно.

  4. Ясно.
    подскажи куда спрятал отзыв по черной молнии и старые рассказы. (не могу найти)

  5. Влад, можешь подсказать что за хрень произошла с avr-gcc/avr-libc?

    «usbdrv/usbdrv.h:455:6: error: variable ‘usbDescriptorDevice’ must be const in order to be put into read-only section by means of ‘__attribute__((progmem))'»

    avr-libc 1.7.0-1
    binutils-avr 2.21.1-1
    gcc-avr 4.6.1-1

  6. Дак это те vusb русским по белому через директиву #error говорит, что переменную надо const делать, чтобы в прогмем засунуть можно было. По сути прогмем, это макрос который говорит чтобы переменную положили в flash, который ридонли (Это не fram от Ti).

  7. хм… спасибо. я попробовал это сотуворить на программаторе usbtiny, но в результате не был уверен что это оно. и мне показался сильно странным рост прошивки на целых 40 байт.
    так… теперь риторический вопрос: достаточно переделать vusb один раз ( добиться чтобы она компилировалвсь), а потом ее можно подставлять во все скачаные из интернета проекты?

  8. Обычно все проекты их интернета тянут свою копию vusb со своим usbconfig.h
    Я сейчас для оного сделал обертку в своей билдсистеме, чтобы конфигурить vusb через menuconfig а-ля линуксовое ядро.

Добавить комментарий