> On Sep 3, 2025, at 8:40 AM, Nat Sloss <[email protected]> wrote: > > On Mon, 1 Sep 2025 18:12:18 sc dying wrote: >> On Sun, Aug 31, 2025 at 11:49 AM Jason Thorpe <[email protected]> wrote: >> >> BTW is it due to clearing data toggle?
FWIW, with -current sources from today, + jak's data toggle patch: stinky:thorpej 3$ minipro -t Found TL866II+ 04.2.132 (0x284) Device code: 20775599 Serial code: G4KDI3JQE8KOPVT8G3ZA USB speed: 12Mbps (USB 1.1) VPP driver pin 1 is OK VPP driver pin 2 is OK VPP driver pin 3 is OK VPP driver pin 4 is OK VPP driver pin 5 is OK VPP driver pin 6 is OK VPP driver pin 7 is OK VPP driver pin 8 is OK VPP driver pin 9 is OK VPP driver pin 10 is OK VPP driver pin 30 is OK VPP driver pin 31 is OK VPP driver pin 32 is OK VPP driver pin 33 is OK VPP driver pin 34 is OK VPP driver pin 35 is OK VPP driver pin 36 is OK VPP driver pin 37 is OK VPP driver pin 38 is OK VPP driver pin 39 is OK VPP driver pin 40 is OK VCC driver pin 1 is OK VCC driver pin 2 is OK VCC driver pin 3 is OK VCC driver pin 4 is OK VCC driver pin 5 is OK VCC driver pin 6 is OK VCC driver pin 7 is OK VCC driver pin 8 is OK VCC driver pin 9 is OK VCC driver pin 10 is OK VCC driver pin 11 is OK VCC driver pin 12 is OK VCC driver pin 13 is OK VCC driver pin 14 is OK VCC driver pin 15 is OK VCC driver pin 16 is OK VCC driver pin 25 is OK VCC driver pin 26 is OK VCC driver pin 27 is OK VCC driver pin 28 is OK VCC driver pin 29 is OK VCC driver pin 30 is OK VCC driver pin 31 is OK VCC driver pin 32 is OK VCC driver pin 33 is OK VCC driver pin 34 is OK VCC driver pin 35 is OK VCC driver pin 36 is OK VCC driver pin 37 is OK VCC driver pin 38 is OK VCC driver pin 39 is OK VCC driver pin 40 is OK GND driver pin 1 is OK GND driver pin 2 is OK GND driver pin 3 is OK GND driver pin 4 is OK GND driver pin 5 is OK GND driver pin 6 is OK GND driver pin 7 is OK GND driver pin 8 is OK GND driver pin 9 is OK GND driver pin 10 is OK GND driver pin 11 is OK GND driver pin 12 is OK GND driver pin 13 is OK GND driver pin 14 is OK GND driver pin 15 is OK GND driver pin 16 is OK GND driver pin 20 is OK GND driver pin 21 is OK GND driver pin 25 is OK GND driver pin 26 is OK GND driver pin 27 is OK GND driver pin 28 is OK GND driver pin 29 is OK GND driver pin 30 is OK GND driver pin 31 is OK GND driver pin 32 is OK GND driver pin 33 is OK GND driver pin 34 is OK GND driver pin 35 is OK GND driver pin 36 is OK GND driver pin 37 is OK GND driver pin 38 is OK GND driver pin 39 is OK GND driver pin 40 is OK VPP overcurrent protection is OK. VCC overcurrent protection is OK. Hardware test completed successfully! stinky:thorpej 4$ minipro -p AT28C64B -r CV-rom.bin Found TL866II+ 04.2.132 (0x284) Device code: 20775599 Serial code: G4KDI3JQE8KOPVT8G3ZA USB speed: 12Mbps (USB 1.1) Reading Code... 0% IO error: submit_transfer: LIBUSB_ERROR_TIMEOUT stinky:thorpej 5$ ...and: [ 362.861914] xhci0: xhci_device_cleartoggle() ..but obviously still didn't work. So, it is possible to do some things (as evidenced by running the "minipro -t" hardware test), but reading a ROM croaks. Without the data toggle patch, it doesn't get this far... "minipro -t" works, but "minipro -r" immediately stalls and blocks forever until I ^C. Once in this state, device is catatonic until I unplug and re-plug. > Just wondering I had a good look at ugen(4) and found that it uses > usbd_bulk_transfer which will sets USBD_SYNCHRONOUS on all xfers receieved. > > I wonder what would happen if usbd_bulk_transfer was replaced with > usbd_setup_xfer/usbd_xfer without setting SYCHRONOUS/SYNCRONOUS_SIG? I'm not sure how that would help? As far as I can tell, all SYNCHRONOUS does it cause used_transfer() to wait for completion (and the _SIG variant makes for an interruptible wait). Entirely possible I'm missing something subtle, though. -- thorpej
