FlingOS icon indicating copy to clipboard operation
FlingOS copied to clipboard

USB Low and Full Speed Device support

Open EdNutting opened this issue 9 years ago • 2 comments

Complete the UHCI implementation and then test/bug fix it. So far, a lot of the implementation is there but it isn't quite working.

EdNutting avatar Sep 18 '15 12:09 EdNutting

UHCI Interrupts are now working thanks to bug fix discovered by a user. (IRQ2 needed to be enabled for slave PIC interrupts to occur reliably).

EdNutting avatar Feb 25 '17 19:02 EdNutting

Further fixes including:

  • Correctly issuing Slave PIC EOI signal.
  • UHCI uses port-mapped I/O not memory-mapped. The "memory map" I/O code was altering the USB Base Address resulting in incorrect ports and thus UHCI failing to configure/start/respond properly.

UHCI driver now responds correctly to valid Control and Bulk transfers. As per rest of USB stack, no isochronous support etc.

Renaming this issue to "USB Low and Full Speed Device support" because now UHCI is working, it appears that low/full speed devices aren't working properly. The USB Driver can correctly obtain device descriptors, set the device address and get config descriptors but it can't get Unicode strings from the device. Also, devices are unrecognized even when they are USB mass storage - a configuration might need to be selected before trying to get full descriptors and strings?

Anyway, UHCI is working. USB Low/Full Speed is now very close to working.

EdNutting avatar Mar 05 '17 22:03 EdNutting