XHCI: problem with real hardware
Posted: Wed Jan 13, 2021 4:29 pm
Hello Everyone.
I decided to work once again on my XHCI driver.
The problem is that it is not working fully on real hardware.
I got two real hardware computers where I test my driver on for XHCI (I got 3 real computers, the 3rd one only has EHCI ports)
Let me explain what goes wrong on the devices:
DeviceA:
DeviceA has a working command ring (response on NOOP events)
DeviceA gets a deviceID
DeviceA gets an address
DeviceA is not responding to items when I put them on the ring which is addressed at the set-address command.
DeviceB:
DeviceB has a working command ring(response on NOOP events)
DeviceB does not create an event in the event queue when assigning a device slot
URL to code: https://github.com/AdeRegt/SanderOSUSB/ ... dev/xhci.c
Does someone have a bit of advice on where I should look at? Since I am sure it cannot be a problem with the timing since the system patiently waits until the event is added to the event ring. And how do you usually debug XHCI code?
I decided to work once again on my XHCI driver.
The problem is that it is not working fully on real hardware.
I got two real hardware computers where I test my driver on for XHCI (I got 3 real computers, the 3rd one only has EHCI ports)
Let me explain what goes wrong on the devices:
DeviceA:
DeviceA has a working command ring (response on NOOP events)
DeviceA gets a deviceID
DeviceA gets an address
DeviceA is not responding to items when I put them on the ring which is addressed at the set-address command.
DeviceB:
DeviceB has a working command ring(response on NOOP events)
DeviceB does not create an event in the event queue when assigning a device slot
URL to code: https://github.com/AdeRegt/SanderOSUSB/ ... dev/xhci.c
Does someone have a bit of advice on where I should look at? Since I am sure it cannot be a problem with the timing since the system patiently waits until the event is added to the event ring. And how do you usually debug XHCI code?