OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 4:03 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 3 posts ] 
Author Message
 Post subject: XHCI: Endpoint Ring does not work on real hardware
PostPosted: Thu Apr 08, 2021 12:47 pm 
Offline
Member
Member

Joined: Tue Aug 30, 2016 1:31 pm
Posts: 69
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!


Top
 Profile  
 
 Post subject: Re: XHCI: Endpoint Ring does not work on real hardware
PostPosted: Wed Aug 04, 2021 3:34 pm 
Offline
Member
Member
User avatar

Joined: Tue Oct 17, 2006 11:33 pm
Posts: 3882
Location: Eindhoven
Your repo is still private. Not sure if I can help with this really...


Top
 Profile  
 
 Post subject: Re: XHCI: Endpoint Ring does not work on real hardware
PostPosted: Mon Aug 09, 2021 5:57 am 
Offline
Member
Member

Joined: Tue Aug 30, 2016 1:31 pm
Posts: 69
Thank you for checking out on this post.
I closed the branch(this is why it looked like a private project) but this is the latest branch for this issue:
https://github.com/AdeRegt/SanderOSUSB/ ... dev/xhci.c
I found out that on real hardware the doorbell is working on this endpoint ring. but it returns a error and floods my system with interrupts without a number in USBSTS. I try to do it without interrupts, as you can see in the code. I hope you can help me seeing what is wrong.

Thanks.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: Amazonbot [bot], Bing [Bot], DotBot [Bot], Google [Bot], SanderR and 66 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group