Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cynthion affects USB signal generated by RP2040 Pico-PIO-USB #20

Open
eriklundh opened this issue Oct 30, 2024 · 1 comment
Open

Cynthion affects USB signal generated by RP2040 Pico-PIO-USB #20

eriklundh opened this issue Oct 30, 2024 · 1 comment

Comments

@eriklundh
Copy link

eriklundh commented Oct 30, 2024

I work on a adding a composite HID device (mouse keyboard) on a second USB port using iPico-PIO-USB
I purchased Cynthion to analyze for development and debugging.
I notice that Cynthion somehow affects the USB signaling.
When I connect my add-port directly directly to a Raspberry PI5, I get a complete device registration, visible with lsusb on the PI5.

But when I connect through Cynthion in analyzer mode, some parts of the device registration fails, most obviously the device name. I also noticed (might be false correlation), that less of the device registration works when packetry is capturing, than when packetry is stopped. I have set up Cynthion with analyzer as the default mode.

The Pico-PIO-USB library (https://github.com/sekigon-gonnoc/Pico-PIO-USB) uses RP2040 PIO state machines to emulate low level USB signaling.
The higher levels of the USB protocol are handled by code from TinyUSB.
The D+ and D- are 3.3V levels from Rp2040 GPIO pins, with an 27R resistor in series with each of D+ and D-.

FS mode of my device is indicated by a 1.5kOhm pull-up from 3,.3V on D+, after the 27R.
The 1.5kohm resistor is fed 3.3V from GPIO10

I enclose the schematic of my USB device under test, my own addon-board for Raspberry Pico (RP2040).

I masked out some irrelevant LED status indicators to the right.
J1 is an USB micro-B connector.
U2 is an ESD protection IC.

image

@martinling
Copy link
Member

These sorts of symptoms are often a sign of poor quality cables.

In particular, please check that all the cables connected to Cynthion are shielded and that there is good continuity between the connector shells at each end of the cable.

Also check if you are able to capture other devices without problems, in particular High Speed devices. If so, then the problem is probably with the quality of the USB signals being generated by the RP2040, or with its receive implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants