visopsys.org
http://visopsys.org/forums/

USB
http://visopsys.org/forums/viewtopic.php?f=3&t=69
Page 1 of 1

Author:  Asper [ Tue Feb 01, 2011 7:34 am ]
Post subject:  USB

Hi all!

I have learned a lot about Visopsys USB stack and I like it for the simplicity and efficiency. I want to make a USB stack for another OS using ideas from it.
Is it under development nowadays? Does UHCI work? What about OHCI? EHCI?

Author:  andymc [ Wed Feb 02, 2011 12:46 am ]
Post subject:  Re: USB

Hi Asper,

Visopsys hasn't had a new release in a long time, but a big new release is basically ready to go. I've done a fair bit of work on the USB stack in the last year or so. It's not perfect at all, but when it works, it works pretty well. Usually depends on the device that's plugged in.

There's an abstraction layer that should make it pretty easy to implement other types of controllers, but only UHCI (EHCI) is currently implemented. I'd like to add OHCI.

Andy

Author:  Asper [ Wed Feb 02, 2011 4:06 pm ]
Post subject:  Re: USB

I'll be waiting for the new release. It's a very good news! :D
andymc wrote:
Usually depends on the device that's plugged in.

Now I'd like to make a Host controller drivers first .
andymc wrote:
There's an abstraction layer that should make it pretty easy to implement other types of controllers

Yes I know it. ;) And as I sayed I like it.

Author:  Asper [ Thu Feb 10, 2011 2:36 pm ]
Post subject:  Re: USB

I have no computer with UHCI now, my old motherboard unfortunately burned :evil: . Now I have computer and nettop that are both have EHCI+OHCI controllers. Last Friday I have printed out OHCI specification and am reading it now. So I think that there will be some difficulties to integrate OHCI support into the current USB stack, because data structures for UHCI and OHCI differes a lot. TDs have different structures, there are no QHs in OHCI instead of it there are EDs that contains much more information (some of that info is in TDs in UHCI). There is no Frame List and Frame List Register instead of it there are 3 different lists of EDs for 4 transfer types with the corresponding registers.
So I think that some changes will be done in the current hardware abstraction layer. ;)

Author:  Asper [ Fri Feb 11, 2011 5:52 am ]
Post subject:  Re: USB

Sorry, I have already forgoten the structure of USB stack. :? Yesterday I looked through it again and can say that the current HAL seems to be enough to integrate OHCI.

Author:  andymc [ Fri Feb 11, 2011 12:08 pm ]
Post subject:  Re: USB

That's right, yes, I think the top-level USB layer should be implementation-agnostic enough, meaning you can add other host controller types. In the current version, there's even a kernelUsbOhciDriver.c file that detects them, etc. So, implementing it would mean taking that file and expanding it by adding the usbController driver functions (reset(), interrupt(), queue(), etc).

EHCI is sort of like an expanded version of UHCI. EHCI controllers typicaly expose multiple UHCI interfaces.

Page 1 of 1 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/