XHCI: Endpoint Ring does not work on real hardware
Posted: Thu Apr 08, 2021 12:47 pm
Hello everyone,
I am working on XHCI again and I was trying to make the XHCI driver work on real hardware.
I managed to make it working untill the point that I want to get the GET_DESCRIPTOR command.
In the emulator, it does exactly what I want: an object is placed on the event ring and there is a value in the buffer.
On real hardware, nothing seems to happen.
I decided to make a dump of the element the XHCI hardware made for the bcbaap and everything is 0 except Context Entries which is 1, Root hub port number,which is 1, Speed which is 4 and slotstate which is 1.
I got the feeling I am doing something wrong, but I have no idea what I did wrong and if there is any good debugging tool for this.
The following link goes to the code and to the location where I do the action:
https://github.com/AdeRegt/SanderOSUSB/ ... ci.c#L1041
I hope someone can tell me what I am doing wrong.
Thank you in advantage!
I am working on XHCI again and I was trying to make the XHCI driver work on real hardware.
I managed to make it working untill the point that I want to get the GET_DESCRIPTOR command.
In the emulator, it does exactly what I want: an object is placed on the event ring and there is a value in the buffer.
On real hardware, nothing seems to happen.
I decided to make a dump of the element the XHCI hardware made for the bcbaap and everything is 0 except Context Entries which is 1, Root hub port number,which is 1, Speed which is 4 and slotstate which is 1.
I got the feeling I am doing something wrong, but I have no idea what I did wrong and if there is any good debugging tool for this.
The following link goes to the code and to the location where I do the action:
https://github.com/AdeRegt/SanderOSUSB/ ... ci.c#L1041
I hope someone can tell me what I am doing wrong.
Thank you in advantage!