flat assembler
Message board for the users of flat assembler.

Index > OS Construction > UHCI Ports (USB implementation with more than 2?)

Goto page 1, 2  Next
Author
Thread Post new topic Reply to topic
BAiC



Joined: 22 Mar 2011
Posts: 272
Location: California
BAiC
does any one know of (and will report such) any UHCI controllers that implement more than 2 ports in the root hub? the ports need to be enumerated at some point (to detect a change for example) but the UHCI Documentation (the filename for it is "UHCI11D.pdf") that I'm reading doesn't report a mechanism for determining the number of ports within the controller.

Section 1.4, first paragraph, last sentence reports (as if a foot note) that the UHCI allows more than 2 ports but doesn't say how to determine how many there are in a given implementation.

so I ask again in summary: does anyone know of an actual UHCI implementation with more than 2 ports?

- Stefan

_________________
byte me.
Post 04 Aug 2014, 22:33
View user's profile Send private message Visit poster's website Reply with quote
smiddy



Joined: 31 Oct 2004
Posts: 559
smiddy
Sorry, I'm no help. I did a semi-search and found this blog, maybe there's some good information there: http://www.darrylnewberry.com/blog/?p=56
Post 05 Aug 2014, 01:01
View user's profile Send private message Reply with quote
cod3b453



Joined: 25 Aug 2004
Posts: 619
cod3b453
You could incrementally scan for PORTSC bit 7 which is always 1, possibly also check the other bits are as expected.

I can't see anything from my own machines that indicate either way either, sorry.
Post 05 Aug 2014, 17:21
View user's profile Send private message Reply with quote
BAiC



Joined: 22 Mar 2011
Posts: 272
Location: California
BAiC
smiddy: thanks anyway.

cod3b453 wrote:
You could incrementally scan for PORTSC bit 7 which is always 1, possibly also check the other bits are as expected.

while I appreciate the thought; I've been burned by these kinds of token methods too many times in the past. I only use serial methods in hardware enumeration.

- Stefan

_________________
byte me.
Post 05 Aug 2014, 19:30
View user's profile Send private message Visit poster's website Reply with quote
neville



Joined: 13 Jul 2008
Posts: 507
Location: New Zealand
neville
This is what I remember from my UHCI implementation for FAMOS in 2008:

UHCI host controllers are implemented as devices on the PCI bus. Each HC has a root hub with exactly TWO ports. So iirc the answer to your question is NO, but I haven't delved back into the documentation to confirm this. Of course multiple HC's can be implemented, so in general an even number of ports is possible.

BTW, smiddy, Darryls Blog that you linked to has a small but significant error. HCD is the Host Controller Driver (not Host Controller Device). The HCD is pure software but in USB parlence the word device always refers to hardware imo.

Hope this helps.

_________________
FAMOS - the first memory operating system
Post 06 Aug 2014, 03:28
View user's profile Send private message Visit poster's website Reply with quote
BAiC



Joined: 22 Mar 2011
Posts: 272
Location: California
BAiC
neville: I've already determined that there may (permissive 'may') be more than 2 ports. read my original post.

Quote:
Each HC has a root hub with exactly TWO ports

the documentation explicitly states that a root hub may have more than 2 ports so this statement is wrong (again; read my original post to know where it is in the doc).

- Stefan

_________________
byte me.
Post 06 Aug 2014, 03:56
View user's profile Send private message Visit poster's website Reply with quote
neville



Joined: 13 Jul 2008
Posts: 507
Location: New Zealand
neville
I checked the Intel UHCI Design Guide that I used, and my memory is correct Shocked The root hub has only 2 ports. I have to suggest that you may be misinterpreting the document you are referring to, or maybe the specification has been revised? (but I would think that is unlikely). Additional ports can be provided by connecting external hub devices to either or both of the root hub ports, or by using additional Host Controllers if they are available in the hardware. But each HC only has ONE Root Hub with TWO ports according to my documentation (dated March 1996!) Again, I hope this helps.

_________________
FAMOS - the first memory operating system
Post 06 Aug 2014, 10:20
View user's profile Send private message Visit poster's website Reply with quote
BAiC



Joined: 22 Mar 2011
Posts: 272
Location: California
BAiC
do a search for 'uhci11d.pdf' (there are plenty of copies roaming around), get it, then read Section 1.4 "Root Hub/Ports". it's in the last sentence of the first paragraph.
Quote:
UHCI permits additional ports to be implemented up to the maximum specified by the USB Specification.

-Stefan

_________________
byte me.
Post 06 Aug 2014, 20:04
View user's profile Send private message Visit poster's website Reply with quote
neville



Joined: 13 Jul 2008
Posts: 507
Location: New Zealand
neville
BAiC, Now I am sure you are misinterpreting the document. The reference to "ports" does NOT mean Root Hub Ports. The specification defines only TWO I/O addresses for the root hub port registers in the PCI configuration address space: USBBase+10-11H for Port1 and USBBase+12-13H for Port2. So there can olny be two root hub ports. I believe the "maximum specified" is probably referring to the maximum of 128 devices which can be connected to a host controller. In theory all of these could be downstream hub devices, each providing 2 or more additional ports (NOT root hub ports!) but obviously that wouldn't be practical Smile However I'm sure that it's NOT referring to root hub ports because that would make no sense at all.

I think that USB specifications in general are often difficult to interpret. I know, because I went through all the pain 6 years ago and I could (perhaps should) write a book about it Rolling Eyes I hope this clarifies it for you.

_________________
FAMOS - the first memory operating system
Post 06 Aug 2014, 22:44
View user's profile Send private message Visit poster's website Reply with quote
BAiC



Joined: 22 Mar 2011
Posts: 272
Location: California
BAiC
I'm not misinterpreting anything. you are. The document explicitly states that there may be more ports in the root hub. mistakes by the authors of documentation are always possible but the implications of any specific statement are not.

I highly recommend not writing a book you ignorant piece of shit. the fact that you can't read the fucking manual means you have no business teaching it. don't spread your shit interpretations.

Quote:
I hope this clarifies it for you.

go fuck yourself.
Post 07 Aug 2014, 00:05
View user's profile Send private message Visit poster's website Reply with quote
neville



Joined: 13 Jul 2008
Posts: 507
Location: New Zealand
neville
OMG! It would seem that my expressed hope that I might be helping you was just a little misplaced. Clearly I won't take the trouble again if at any future time you ask us for help. Consider your foul-mouthed self to be henceforth black-listed, at least by me!

_________________
FAMOS - the first memory operating system
Post 07 Aug 2014, 01:03
View user's profile Send private message Visit poster's website Reply with quote
sinsi



Joined: 10 Aug 2007
Posts: 708
Location: Adelaide
sinsi
According to Intel's documentation for UHCI
Quote:
Ports per Controller 2
Post 07 Aug 2014, 04:03
View user's profile Send private message Reply with quote
BAiC



Joined: 22 Mar 2011
Posts: 272
Location: California
BAiC
sinsi: that's nice. what documentation are you referring to? also, where is that "quote" from (within the actual documenation)?
Post 07 Aug 2014, 06:57
View user's profile Send private message Visit poster's website Reply with quote
sinsi



Joined: 10 Aug 2007
Posts: 708
Location: Adelaide
sinsi
io-controller-hub-10-family-datasheet.pdf

5.18 USB UHCI Host Controllers (D29:F0, F1, F2, F3 and D26:F0, F1 and F2) wrote:
The ICH10 contains six USB full/low-speed host controllers that support the standard Universal Host Controller Interface (UHCI), Revision 1.1. Each UHCI Host Controller (UHC) includes a root hub with two separate USB ports each, for a total of twelve USB ports.


Basically the same for ICH5 and even 82801EB. One controller = two ports.
Post 07 Aug 2014, 07:24
View user's profile Send private message Reply with quote
BAiC



Joined: 22 Mar 2011
Posts: 272
Location: California
BAiC
sinsi: obviously you didn't read my question on the first post so I'll repeat it here:
Quote:
does anyone know of an actual UHCI implementation with more than 2 ports?

that is the specification for one of the IO Controllers. it is NOT the specification for UHCI. don't confuse the two.

- Stefan

_________________
byte me.
Post 07 Aug 2014, 20:18
View user's profile Send private message Visit poster's website Reply with quote
sinsi



Joined: 10 Aug 2007
Posts: 708
Location: Adelaide
sinsi
But the IO Controller is built according to the UHCI specification. If a controller has more than two ports it can't be UHCI-compliant. UHCI is Intel's proprietary USB 1.0/1.1 interface, later specs do allow for more than two ports.
Post 07 Aug 2014, 22:26
View user's profile Send private message Reply with quote
neville



Joined: 13 Jul 2008
Posts: 507
Location: New Zealand
neville
sinsi wrote:
If a controller has more than two ports it can't be UHCI-compliant
sinsi, you know that, and I know that, and we know why, but at least one person in the world doesn't know Very Happy On reflection it would be best to allow that person to remain ignorant. That person might then spend the rest of his/her life looking for a UHCI implementation with more than two ports. I can't think of a better use of that person's time Laughing

_________________
FAMOS - the first memory operating system
Post 07 Aug 2014, 22:49
View user's profile Send private message Visit poster's website Reply with quote
BAiC



Joined: 22 Mar 2011
Posts: 272
Location: California
BAiC
my point is that the UHCI allows more than 2 ports. the fact that one implementation only uses 2 is not relevant.

Quote:
If a controller has more than two ports it can't be UHCI-compliant

this is wrong. as I pointed out: the documentation explicitly allows more than 2.
Post 07 Aug 2014, 23:45
View user's profile Send private message Visit poster's website Reply with quote
sinsi



Joined: 10 Aug 2007
Posts: 708
Location: Adelaide
sinsi
The sentence before yours -
Quote:
For the Host Controller implementation described in this design guide, the root hub is integrated into the Host Controller and has two ports (Figure 6).

What I think the document is saying that the Intel UHCI only has two ports but if another company wants to licence it they can add more.
Probably why Compaq, Microsoft and National Semiconductor started OHCI.
Post 08 Aug 2014, 12:25
View user's profile Send private message Reply with quote
BAiC



Joined: 22 Mar 2011
Posts: 272
Location: California
BAiC
yeah, the specific implementation described has 2 ports but the standard/specification allows more than 2. distinguishing between implementation and standard is the crux of the problem here.

I'm not confused about how many ports the UHCI implements; I was simply curious if anyone knew of an implementation that has more than 2 (I also provided reason for that curiosity). neville was confused about my question. I responded harshly because I don't appreciate my questions being hijacked by errant self-congratulating fools. it is bad enough that there is so little information out there for OS Developers. we don't need people like neville to pollute what little information is available.

side note: from what I understand OHCI was defined before UHCI. but don't quote me on that.

-Stefan

_________________
byte me.
Post 08 Aug 2014, 23:59
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page 1, 2  Next

< Last Thread | Next Thread >
Forum Rules:
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 vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.

Website powered by rwasa.