Disasm / usb-otg-workspace

18 stars 7 forks source link

The longan-nano board examples does not work #6

Open katyo opened 1 year ago

katyo commented 1 year ago

It seems this examples does not work at all. I'm not sure but seems have problems with support Synopsys USB OTG FS on gd32vfxx MCUs. @Disasm Have you test it on hardware?

UPD: Also I tested with gd32v-ng and gd32v branches.

Disasm commented 1 year ago

This can be the case. I don't remember the current status of GD32V example, but since it's not listed in README, I wouldn't expect it to work out of the box.

rmsyn commented 1 year ago

I wouldn't expect it to work out of the box.

So, I hooked up a logic analyzer to the board.

I attached a tarball of the capture file. It's a sigrok .sr format, let me know if there is something else that would be more helpful.

longan-nano-fs-20230822.sr.tar.gz

At first glance, the packets appear to be getting cut short, and only Reset packets are getting through.

The firmware loaded on the board is the test-class example compiled from the latest master.

katyo commented 1 year ago

@rmsyn I fixed this in #7

To get it work you also needs synopsys-usb-otg#36.

rmsyn commented 1 year ago

@katyo is there extra testing, or anything else I can help with to get those PRs closer to merging?

Edit: I also tested out your changes, and everything seems to work now! Still need to test the echo part for the serial example firmware, but the device is showing up in lsusb output with the correct PID/VID pair, and sending packets over USB.

Here is an updated capture file: longan-nano-fs-8mhz-20230823.sr.tar.gz

Still looks like there are some packet errors. Had to correct the sample rate to 8Mhz to get accurate capture data.