Pedigree early USB test request

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
Post Reply
eddyb
Member
Member
Posts: 248
Joined: Fri Aug 01, 2008 7:52 am

Pedigree early USB test request

Post by eddyb »

After lots of months of code and trial&error, I managed to get my UHCI driver to work on realHW.

I've prepared an ISO image with the modified pedigree and uploaded it at http://thesalesgenerator.com/playground ... digree.iso .
It contains drivers for: EHCI(not tested on realHW), UHCI, USB Mass Storage(read only and may not work on realHW), USB HID, USB Hub and FT8U232AM.

If you want to test only UHCI, see http://forum.osdev.org/viewtopic.php?f= ... 95#p177622 .

The log is both on screen and on serial. Some modules are disabled, so it should enter debugger(press any key at the blue-on-black screen) soon after usb has finished initializing devices. In the debugger, "log<enter>" will let you browse the log.
To put it simple: if it works, there should be at least one "(NN) USB: Device: VENDOR_STRING PRODUCT_STRING, class x:y:z" line in the log.
Each transaction has debugging output, so if anything went wrong, there should be the "STOP" lines will end with a negative value.
Full logs would be nice :) .

Thank you,
eddyb.
Last edited by eddyb on Sun Jul 04, 2010 2:56 am, edited 2 times in total.
eddyb
Member
Member
Posts: 248
Joined: Fri Aug 01, 2008 7:52 am

Re: Pedigree early USB test request

Post by eddyb »

Update: I've made another ISO image with EHCI driver disabled and full-screen log. Here you can download it: http://thesalesgenerator.com/playground ... digree.iso .
eddyb
Member
Member
Posts: 248
Joined: Fri Aug 01, 2008 7:52 am

Re: Pedigree early USB test request

Post by eddyb »

Update: just wrote an OHCI driver, the new ISO image it at http://thesalesgenerator.com/playground ... digree.iso .
User avatar
JackScott
Member
Member
Posts: 1031
Joined: Thu Dec 21, 2006 3:03 am
Location: Hobart, Australia
Contact:

Re: Pedigree early USB test request

Post by JackScott »

Hi,

I've tested the latest CD image you posted here on my workstation. The motherboard is a Gigabyte GA-790FXTA-UD5, using the 790FX/SB750 chipset. There was a Logitech webcam and a Microsoft wireless keyboard/mouse receiver connected at the time of testing. Let me know if you want any other information.

Code: Select all

(NN) KERNELELF: Executing module usb
(NN) KERNELELF: Executing module usb-hcd
(WW) USB: xHCI found, not implemented yet!
(NN) USB: OHCI found
(NN) address=0xc0281e08, m_Io=0xc0932e88
(NN) USB: OHCI: Reseted
(NN) USB: OHCI found
(NN) address=0xc0281e88, m_Io=0xc0932b48
(NN) USB: OHCI: Reseted
(NN) USB: OHCI found
(NN) address=0xc0281fc8, m_Io=0xc0932cc8
(NN) USB: OHCI: Reseted
(NN) USB: OHCI: Port 0 is connected
(NN) START 0:0 SETUP 0
Regards, Jack.
eddyb
Member
Member
Posts: 248
Joined: Fri Aug 01, 2008 7:52 am

Re: Pedigree early USB test request

Post by eddyb »

JackScott wrote:Hi,

I've tested the latest CD image you posted here on my workstation. The motherboard is a Gigabyte GA-790FXTA-UD5, using the 790FX/SB750 chipset. There was a Logitech webcam and a Microsoft wireless keyboard/mouse receiver connected at the time of testing. Let me know if you want any other information.

Code: Select all

(NN) KERNELELF: Executing module usb
(NN) KERNELELF: Executing module usb-hcd
(WW) USB: xHCI found, not implemented yet!
(NN) USB: OHCI found
(NN) address=0xc0281e08, m_Io=0xc0932e88
(NN) USB: OHCI: Reseted
(NN) USB: OHCI found
(NN) address=0xc0281e88, m_Io=0xc0932b48
(NN) USB: OHCI: Reseted
(NN) USB: OHCI found
(NN) address=0xc0281fc8, m_Io=0xc0932cc8
(NN) USB: OHCI: Reseted
(NN) USB: OHCI: Port 0 is connected
(NN) START 0:0 SETUP 0
Regards, Jack.
Thanks, it seems it fails to get an IRQ from the OHCI.
Well, I don't suppose anyone else wants to give it a try, so I won't post updates on the images anymore.
fronty
Member
Member
Posts: 188
Joined: Mon Jan 14, 2008 5:53 am
Location: Helsinki

Re: Pedigree early USB test request

Post by fronty »

On my Acer Aspire 7530 (sorry, couldn't find motherboard model), it prints this and sits there without any response to anything. Don't know what blue-on-black screen you're talking about.

Code: Select all

(NN) KERNELELF: Executing module usb
(NN) KERNELELF: Executing module usb-hcd
(NN) USB: OHCI found
(NN) address=0xc0281c48, m_Io=0xc0940748
(NN) USB: OHCI: Reseted
(NN) USB: OHCI found
(NN) address=0xc0281d48, m_Io=0xc0940408
(NN) USB: OHCI: Reseted
(NN) USB: OHCI: Port 0 is connected
(NN) START 0:0 SETUP 8
eddyb
Member
Member
Posts: 248
Joined: Fri Aug 01, 2008 7:52 am

Re: Pedigree early USB test request

Post by eddyb »

fronty wrote:On my Acer Aspire 7530 (sorry, couldn't find motherboard model), it prints this and sits there without any response to anything. Don't know what blue-on-black screen you're talking about.

Code: Select all

(NN) KERNELELF: Executing module usb
(NN) KERNELELF: Executing module usb-hcd
(NN) USB: OHCI found
(NN) address=0xc0281c48, m_Io=0xc0940748
(NN) USB: OHCI: Reseted
(NN) USB: OHCI found
(NN) address=0xc0281d48, m_Io=0xc0940408
(NN) USB: OHCI: Reseted
(NN) USB: OHCI: Port 0 is connected
(NN) START 0:0 SETUP 8
Same problem: no IRQ. Also, the blue-on-black screen is the debugger screen and it's disabled in the latest images.
Anyway, if you or anyone else wants to try again, I fixed some of the problems and made a new image ( http://thesalesgenerator.com/playground ... digree.iso ). I've also updated the first post with the latest link.
fronty
Member
Member
Posts: 188
Joined: Mon Jan 14, 2008 5:53 am
Location: Helsinki

Re: Pedigree early USB test request

Post by fronty »

New output.

Code: Select all

(NN) KERNELELF: Executing module usb
(NN) KERNELELF: Executing module usb-hcd
(NN) USB: EHCI found
(NN) address=0xc0281d88, m_Io=0xc05d0608
(NN) USB: EHCI: Reseted
(NN) USB: EHCI: Port 0 got 0x1000
(NN) USB: EHCI: Port 1 got 0x1000
(NN) USB: EHCI: Port 2 got 0x1005
(NN) USB: EHCI: Port 2 is connected
(NN) START 0:0 SETUP 8
(NN) IRQ 0x1010
On both times I've had Speedlink mouse and Casio FX-9860G connected.
geppyfx
Member
Member
Posts: 87
Joined: Tue Apr 28, 2009 4:58 pm

Re: Pedigree early USB test request

Post by geppyfx »

Just want to say something that could be related to the unhanded interrupt. When I run my own code(an OS) I get some unknown interrupt when enabling them in protected mode on this particular machine. I get #GP because PIC masked and device related IDT entries are not set. I get GP only once.

Regarding second image, it lists 2 ohci (or 2ports on 1 ohci). I was not able to reproduce that again but I did have 1 low speed & 1 high speed devices connected to same controller - 2 ports.

All other times I had only 1 low speed device.

That's latest ISO #4.

Interesting thing about firing interrupts is that they start happening in about 3-8 seconds after SETUP 8 displayed and about 1s apart. Ohci can't deliver interrupts or you can't accept it so spurious int firing?
Attachments
ohci.gif
eddyb
Member
Member
Posts: 248
Joined: Fri Aug 01, 2008 7:52 am

Re: Pedigree early USB test request

Post by eddyb »

@fronty: it seems it gives a Host System Error IRQ instead of an IRQ signaling completion. It may be PCI-related, but as of right now I have no idea.

@geppyfx: seeing the error IRQ from EHCI in fronty's log I realized OHCI could as well encounter an error (maybe even the same error) and not report it (because the driver doesn't enable all the IRQ firing conditions). As for the unhandled IRQs, I doubt they are related to OHCI.

Thank you again for your help, I hope I'll manage to fix these new bugs your tests pointed out :).
fronty
Member
Member
Posts: 188
Joined: Mon Jan 14, 2008 5:53 am
Location: Helsinki

Re: Pedigree early USB test request

Post by fronty »

Oh, I forgot to add, on one boot with latest image when I forgot my calculator or it wasn't in data transfer mode, don't remember which, I think it said IRQ 0x8010. I'm not sure, I just quickly read through the output and realized this wasn't same test case as last time and rebooted, so I can't say anything for sure.
eddyb
Member
Member
Posts: 248
Joined: Fri Aug 01, 2008 7:52 am

Re: Pedigree early USB test request

Post by eddyb »

fronty wrote:Oh, I forgot to add, on one boot with latest image when I forgot my calculator or it wasn't in data transfer mode, don't remember which, I think it said IRQ 0x8010. I'm not sure, I just quickly read through the output and realized this wasn't same test case as last time and rebooted, so I can't say anything for sure.
Doesn't mean too much.
Right, I have an idea about what the problem could be, a new ISO is at http://thesalesgenerator.com/playground ... digree.iso . Also updated the first post.
If this doesn't work, I'm left with no options :| .
geppyfx
Member
Member
Posts: 87
Joined: Tue Apr 28, 2009 4:58 pm

Re: Pedigree early USB test request

Post by geppyfx »

eddyb wrote:If this doesn't work, I'm left with no options :| .
You are left with testing your code on your own real hardware before handing your soft to others. You can start right now with this option.

Another thing is actually to have some timeouts after which you display debugging info: content of TDs, EDs, relevant USB registers (for OHCI - HcPortStatus,HcStatus,HcDoneHead,HcControl,HcCommandStatus) before & after you started transaction.
fronty
Member
Member
Posts: 188
Joined: Mon Jan 14, 2008 5:53 am
Location: Helsinki

Re: Pedigree early USB test request

Post by fronty »

With latest cd output is 1:1 to previous except it prints "(NN) USB: EHCI: Pci command+status: 0xb00006" before reset.
pcmattman
Member
Member
Posts: 2566
Joined: Sun Jan 14, 2007 9:15 pm
Libera.chat IRC: miselin
Location: Sydney, Australia (I come from a land down under!)
Contact:

Re: Pedigree early USB test request

Post by pcmattman »

Thanks to everyone who participated in this early test - your help is greatly appreciated!

We've used the outcomes of this test to work towards fixes for the problems brought up here, and seem to have USB working quite well now.
Post Reply