USB Sniffer voor protocol analyse

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Chud
  • Registratie: Oktober 2012
  • Laatst online: 05-09 15:20
Beste Tweakers,

Ik ben op zoek naar een hardware USB sniffer. Ik onderzoek momenteel een aantal USB devices die ik aansluit op een iPad. Echter zijn er apparaten die het soms wel, soms niet doen. Ik heb een macbook waarop ik met Wireshark een capture kan maken, maar daar kan ik het iPad probleem niet uit halen. iPad zelf heeft geen mogelijkheid om capture software te draaien, die zijn nog strikter beschermd dan de macbook.

- Ik heb http://taradov.com/ gevonden, maar ik ben niet bekend met het bestellen van alle losse onderdelen voor op een print. Ik ben met de BOM een aantal websites afgegaan, maar geen enkele kent de hele lijst. Zo'n bordje zelf in elkaar zetten is zie ik wel als leuke uitdaging, als iemand kan helpen de juiste spullen bij elkaar te sprokkelen...

- Ik heb op amazon heel veel dezelfde sniffers gevonden, en er een besteld, maar die komt pas over ong. drie weken. (https://amzn.eu/d/988xWXQ)

Dus mijn vraag aan u allen; Wilt u uw grenzeloze kennis met mij delen?
- Heb je ervaring met zo'n hardware tool?
- Weet je eentje te bestellen?
- HEB JE ZELF zo'n tool?
- Andere oplossing, namelijk...

Ik hoor graag van jullie!
Thanks,
Chud.

Acties:
  • +1 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 15-09 22:09

SA007

Moderator Tweaking
Heb geen ervaring met een hardware tool, heb wel zelf usb devices gemaakt.

Wat ik wel mis in je vraag is wat voor usb device het is, voornamelijk is het USB1/2/3 etc, kan het device werken in een langzamere modus, hogere snelheid is veel duurdere sniffer.

Een goed idee is ook om de usb classes te bekijken of je kan vinden of er overeenkomsten zijn bij de devices die niet goed werken.

Acties:
  • 0 Henk 'm!

  • Hans1990
  • Registratie: Maart 2004
  • Niet online
Waarschijnlijk is die sniffer van Amazon gewoon de LS/FS/HS hardware van ataradov.. Ze praten beetje in de lucht over speedgrade 4 FPGA die op kamertemperatuur prima werkt. Maar als je dat naast de uitleg van ataradov legt (die speed 5 of 6 aanraadt) sluit dat verhaal opeens naadloos aan.

Al had je de hardware zelf willen bouwen kon je waarschijnlijk de onderdelen wel bestellen via Digikey, alleen de USB chip in die specifieke package is niet meer beschikbaar. (Staat ook github issue voor open). Tevens moet je ook nog voor 50euro excl BTW bestellen voor gratis verzending, plus nog PCBs er bij van Aisler voor paar tientjes. Waarschijnlijk ben je dan duurder uit.. maar wel leuker om te doen ja ;) (Misschien zet ik die op mijn lijstje van klusjes)

Voor wat betreft andere tools: ik heb ook die Lite variant met de RP2040 op EEVBlog voorbij zien komen. Zelf niet gebouwd, maar wellicht leuk als je FS devices wilt proben. Mits het apparaat natuurlijk FS is.. (trage USB hub kan dan handig zijn)

Waarschijnlijk zou je in theorie ook met een goedkope LA en Sigrok ook USB LS (1.5Mbit/s) kunnen proben, maar de vraag is of dan je probleem nog steeds reproduceerbaar is. Maar om nou met Sigrok te gaan speuren zou ik niet doen. Nadat je een stabiele hardware probe hebt dan zit alle meerwaarde van protocol analyzers in de software. Sigrok is toch iets meer geschikt om logic levels te debuggen met paar korte pakketjes, terwijl met Wireshark je tal van filters hebt om mee te zoeken. Ik vermoed dat als je hardware probe eenmaal op dat niveau zit, dat er dan nog maar weinig verschil zit met lokaal een USB host sniffen op je Mac/Linux machine.

[ Voor 3% gewijzigd door Hans1990 op 19-08-2025 14:39 ]


Acties:
  • 0 Henk 'm!

  • Chud
  • Registratie: Oktober 2012
  • Laatst online: 05-09 15:20
Dank voor jullie input. De situatie is nu zo dat ik een USB-hub gebruik om voeding, netwerk en usb input device naar de ipad te brengen (dont ask... :+ ). Echter is de USB enumeration... wispelturig? Daarom zou ik graag de individuele usb lijntjes sniffen.

Ik heb sowieso een amazon sniffer besteld, dat financieel risico kan ik wel nemen. Wel ben ik wat skeptisch omdat op de github van taradov ook dit staat:
"Caution: Do not buy CY7C68013A from eBay or AliExpress, they all are either fake or sketchy in some way."
Helemaal als je dan zegt dat die sniffers er verdacht veel op lijken. We zullen zien!

Een oud collega ziet de grap van deze self-build ook wel in, en die is veel beter bekend in deze materie. Die duikt er ook nog in voor ons (hij is inmiddels zelf ook nieuwsgierig en wilt er ook een). Dus ik zal ook die github issue van de CPU in de gaten houden. Ik had het wel gelezen, maar niet onthouden. Bedankt dat je daar nog even op wijst.

Ik zal kijken of die RP2040 ook een optie is. Ik zit nu niet naast m'n setup, dus kan nu even niet kijken naar de specs. Dat EEVBlog ziet er cool uit, ik ga eens kijken of ik dat artikel kan vinden.

Ik weet niet zeker of ik de setup met een LA goed begrijp. Klopt het dat ik dan mijn usb device hierop direct aansluit, zonder host? (of de LA wordt dan de host). Want dat kan ik al met direct op een macbook/laptop aansluiten. Nogmaals dank voor het meedenken!

Acties:
  • 0 Henk 'm!

  • Hans1990
  • Registratie: Maart 2004
  • Niet online
Nee, zo'n logic anlayzer of sniffer is geen USB host. Die kijken enkel mee over de draden wat er voor bij komt. Een LA en sniffer zijn net iets andere instrumenten. Sigrok is een open source pakket waarmee je protocol decoders (waaronder USB) kan gebruiken om logic niveaus om te zetten naar bits en pakketten.

Wil je echter echt op pakketten gaan filteren, dan is dit een heel stuk minder aantrekkelijk. Een sniffer tool die als interface in Wireshark verschijnt is dan stuk mooier.

Van de sniffer die je hebt besteld gaat het USB signaal door het apparaat heen. Voor HS is dat noodzakelijk vanwege de signaalkwaliteit. USB kabels en PCB layouts zijn namelijk afgestemd naar de USB standaard mbt signaal impedanties van de D+/D- draden. Dat is noodzakelijk om verstoringen en reflecties tegen te gaan. Met losse draden of lange aftakkingen ("stubs") is dit niet goed beheersbaar.
Het vervelende hieraan is echter dat het wel even kan werken maar dan random dropouts kan geven van de verbinding. Ook slechte USB kabels kunnen voor deze problemen zorgen (of zelfs sommige apparaten! Mijn J-Link EDU Mini werkt enkel met de bijgeleverde USB kabel van nog geen 10cm).

Bij LS/FS snelheden (USB1.1) is de signaalkwaliteit echter een heel stuk vergevelijker. Ik heb daar wel eens 15cm losse draden tussen een PCB en USB B connector gehangen, werkt prima. Daarom kan je de D+/D- draden ook in een logic analyzer of RP2040 aftakken zonder al teveel problemen.

Zo'n downgrade naar LS/FS pas ik wel eens toe voor integratie van USB apparaten waarbij een vervangende module USB HS is geworden, maar de oorspronkelijke kabels/PCBs daar niet voor niet zijn ontworpen. Omdat ik toch al een print teken om de nieuwe module op te zetten, zet ik er even een TUSB2046 o.i.d. tussen (FS USB hubje), en het spul werkt weer stabiel :) Natuurlijk is FS wel een heel stuk trager dan HS (12 vs 480Mbit/s). Dus voor high speed netwerk, cameras, USB opslag, e.d. zal dat zeker niet ideaal zijn..