USB hubs?

Calderone
Уже с Приветом
Posts: 2915
Joined: 13 Oct 2000 09:01
Location: Toronto, ON, Canada

USB hubs?

Post by Calderone »

Народ, объясните неразбирающемуся.
Имею неновый ноутбук с одним тычком USB, а нужно подключить 2 устройства: мышь и web-камеру.
По отдельности все работает прекрасно, но нужно, чтобы вместе.
Купил USB hub. Мышь работает прекрасно, а вот при вставлении в хаб web-камеры всплывает сообщение, что не хватает voltage и она действительно не работает.
Стал локализовать, что не так.
Сначала, естественно :) купил другой хаб. Та же история. Тогда воткнул всю эту комбинацию в мой рабочий ноутбук DELL, который посовременнее. Опять не оаботает с тем же сообщением.
И только после этого стал рассматривать хабы в магазинах с повышенным вниманием. Обнаружил, что часть из них имеет свой дополнительный источник питания. Купил один такой и все заработало.
В общем-то цель достигнута, все работает, хотя добавился провод, не прибавляющий удобства. Ну ладно.

Главное, остался вопрос, а на что же годны те хабы без своего источника питания (еще помню, я пытался сканнер подключить через тот первый хаб, и оно тоже не работало, правда молча, без объяснения причин), в них же 4 выхода? И второе, а если какая-то формальная разница между "хорощими" и "плохими" хабами, отраженная в спецификациях?
Sanych
Уже с Приветом
Posts: 7728
Joined: 10 Jan 1999 10:01
Location: OH->TX->MI->MA->VA->FL->...

Post by Sanych »

Спецификация USB поддерживает питание для USB устройств, то есть сами устройства могут не иметь своего источника питания, а брать DC прямо из USB шины.
"Тонкости" заключаются в следующем. Питающее напряжение часто может варьировать в пределах 4..5 вольт и не всегда может быть достаточно для USB устройства. Также USB Host контроллер обычно имеет ограничение по току, который можно у него высасывать. Обычно для PC это кажется может быть до 500 mA, для PDA - 100 mA. А вот для USB Hub - тут надо смотреть в его Spec. Кроме того, если хаб может работать без внешнего Power Supply, значит он тоже "сосет" определенный ток из USB шины контроллера. И может иметь достаточно серьезные ограничения для устройства-клиента.
Так что с камерой - либо не хватает напряжения, либо срабатывает защита по току. Потому для таких устройств надо либо запитать сам хаб, который будет источником для устройства, либо само устройство (камера/сканнер/...) должно иметь свой AC адаптер.
По поводу спецификации, в бумажках, прилагаемых к хабу нередко никакой полезной инфы просто нет. А вот проблемы с хабами быть могут. Я это дело обнаруживал только через поиск спецификации на чип, примененный в хабе.
"Плохой" хаб кроме проблем с Power может также иметь "урезанные" USB функции, в связи с чем не все устройства могут с ним работать. Последний пример - прошел через нас компактный хаб на базе GL650USB контроллера. Не заработал он с нашими устройствами. После чего залез я в Spec и увидел что он поддерживает всего 2 endpoints.
USB 1.1 должен иметь 8 (!!!) этих endpoints для bulk/interrupt mode и кроме того еще 8 endpoints для isochronous mode (это обычно для живой передачи видео используется). Вот и видим, что упомянутый чип из 16 endpoints мог работать только с первыми двумя для bulk/interrupt. Типа, клава или мышь под USB будут работать, а вот со сканером и камерой - это уже большой вопрос :pain1:
umf
Уже с Приветом
Posts: 775
Joined: 01 Feb 2003 00:06

Re: USB hubs?

Post by umf »

Calderone wrote:Народ, объясните неразбирающемуся.
Имею неновый ноутбук с одним тычком USB, а нужно подключить 2 устройства: мышь и web-камеру.
По отдельности все работает прекрасно, но нужно, чтобы вместе.
Купил USB hub. Мышь работает прекрасно, а вот при вставлении в хаб web-камеры всплывает сообщение, что не хватает voltage и она действительно не работает.
Стал локализовать, что не так.
Сначала, естественно :) купил другой хаб. Та же история. Тогда воткнул всю эту комбинацию в мой рабочий ноутбук DELL, который посовременнее. Опять не оаботает с тем же сообщением.
И только после этого стал рассматривать хабы в магазинах с повышенным вниманием. Обнаружил, что часть из них имеет свой дополнительный источник питания. Купил один такой и все заработало.
В общем-то цель достигнута, все работает, хотя добавился провод, не прибавляющий удобства. Ну ладно.

Главное, остался вопрос, а на что же годны те хабы без своего источника питания (еще помню, я пытался сканнер подключить через тот первый хаб, и оно тоже не работало, правда молча, без объяснения причин), в них же 4 выхода? И второе, а если какая-то формальная разница между "хорощими" и "плохими" хабами, отраженная в спецификациях?


Они не хорошие или плохие, а они powered and unpowered. Вторые годны для usb мышеклав или устройств со своим источником питания. У них главное - портабельность. Запитывать через такой хаб несколько устройств от батареи ноутбука как бы нелогично, поскольку ему самому ее едва хватает.
В первые можно втыкать практически любые устройства, включая питающиеся по usb, главное чтоб мощи хватало. На хабах иногда пишут, сколько с них можно снимать.
Sanych
Уже с Приветом
Posts: 7728
Joined: 10 Jan 1999 10:01
Location: OH->TX->MI->MA->VA->FL->...

Re: USB hubs?

Post by Sanych »

umf wrote:Они не хорошие или плохие, а они powered and unpowered. Вторые годны для usb мышеклав или устройств со своим источником питания. У них главное - портабельность. Запитывать через такой хаб несколько устройств от батареи ноутбука как бы нелогично, поскольку ему самому ее едва хватает.
В первые можно втыкать практически любые устройства, включая питающиеся по usb, главное чтоб мощи хватало. На хабах иногда пишут, сколько с них можно снимать.


Будь этот хаб хоть трижды Powered, если он поддерживает лишь пару эндпойнтов, дальше простеньких устройств типа мыши и клавы вряд ли можно применить. Разве что встроенный электронагреватель :mrgreen:
А что Вы подразумеваете под термином "портабельность"? Имеется ввиду "мобильность" или полная совместимость с любым HW?
Calderone
Уже с Приветом
Posts: 2915
Joined: 13 Oct 2000 09:01
Location: Toronto, ON, Canada

Post by Calderone »

Sanych wrote:USB 1.1 должен иметь 8 (!!!) этих endpoints для bulk/interrupt mode и кроме того еще 8 endpoints для isochronous mode...

Sanych, а где про все эти мудреные слова почитать можно? Столько всего нового незаметно появилось.

Одно из моих самых любимых USB-устройств - светильничек с гибкой шеей, чтобы светить на клавиатуру ноутбука. Очень удобно в темноте.
Я web-камеру, честно говоря, по ошибке купил: думал, это светильник такой. Поскольку возврата у них не было, пришлось с хабами воевать :)
dB13
Уже с Приветом
Posts: 1494
Joined: 08 May 2001 09:01
Location: Silicon Valley

Post by dB13 »

Sanych wrote:"Плохой" хаб кроме проблем с Power может также иметь "урезанные" USB функции, в связи с чем не все устройства могут с ним работать. Последний пример - прошел через нас компактный хаб на базе GL650USB контроллера. Не заработал он с нашими устройствами. После чего залез я в Spec и увидел что он поддерживает всего 2 endpoints.
USB 1.1 должен иметь 8 (!!!) этих endpoints для bulk/interrupt mode и кроме того еще 8 endpoints для isochronous mode (это обычно для живой передачи видео используется). Вот и видим, что упомянутый чип из 16 endpoints мог работать только с первыми двумя для bulk/interrupt. Типа, клава или мышь под USB будут работать, а вот со сканером и камерой - это уже большой вопрос :pain1:


Sanych, you are totally mistaken here.

The fraise "Supports 1 device address and 2 endpoints"
from the GL650USB datasheet just means that the hub itself
has the default control endpoint and the interrupt (status change)
endpoint.

A 1.1 USB device doesn't have to have 8 bulk/interrupt and
8 isochronous endpoints, it just could have it.

Trust me here, I sent the first USB packet
and wrote one of the USB host stacks. :umnik1:

You definitely need to study the USB specification more if you
are going to work with USB devices.

Why this hub is not working with your devices?
Who knows, probably the devices, or the hub, or both
don't conform to the USB spec.
Sanych
Уже с Приветом
Posts: 7728
Joined: 10 Jan 1999 10:01
Location: OH->TX->MI->MA->VA->FL->...

Post by Sanych »

> Sanych, you are totally mistaken here.

ОК, весь внимание :roll:

> The fraise "Supports 1 device address and 2 endpoints"
> from the GL650USB datasheet just means that the hub itself
> has the default control endpoint and the interrupt (status
> change) endpoint.

Control endpoint должна быть у любого USB девайса. Ее я не трогаю. Дальше, упомянутые bulk/interrupt endpoints. Если я правильно понимаю, то первые 8 endpoints могут работать как в bulk, так и в interrupt mode, так?

> A 1.1 USB device doesn't have to have 8 bulk/interrupt and
> 8 isochronous endpoints, it just could have it.

ОК, с утра гляну. Но если Вам нетрудно, не могли бы выдержку оттуда вытянуть? Или ссылочку на главу?

> Trust me here, I sent the first USB packet
> and wrote one of the USB host stacks.

Дык я бы с удовольствием, но упомянутый хаб на упомянутом чипе, по результатам испытаний:
- если девайс задействовал первые две endpoints в bulk mode, т.е. как раз две точки, то через хаб работает.
- если в девайсе задействована еще одна endpoint, скажем, с номером 3 или 4, либо изохроник с номером 14-15, то все, конец связи :( Через хаб уже не работает. Через упомянутый хаб на GL650USB нельзя. Через какой нить Linksys все шлепает безо всяких проблем. Так же как и без хаба напрямую через хост-контроллеры. Что PC Desktop/Laptop, что на PDA (хост).

Вот и верь Вам после этого :mrgreen:

Кроме того, видео часто пускают по изохронам. Пойдет это видео через GL650USB?

Если я что-то делал неверно, поправьте. С удовольствием воспользовался Вашим опытом.

> You definitely need to study the USB specification more if you
> are going to work with USB devices.

Чем тыкать мордой в талмуд 1.1, лучше бы расставили точки над i в моем опыте. Раз уж назвались гуру в USB :wink: USB-Function контроллер не я создавал, но так уж случилось что он поддерживает все endpoints. Если Ваше мнение состоит в том, что напортачили именно производители этой стороны, я с большим удовольствием переправлю им наши претензии и сошлюсь на Ваш авторитет, ОК?

> Why this hub is not working with your devices?

Если быть точным, почему именно этот хаб не работает с endpoints 3,4 и так далее? Так задумано? Или хаб неисправный? :pain1: Но судя по "...and 2 endpoints" похоже что задумано.

> Who knows...

Я так тешу себя надежной что возможно Вы знаете :roll: :mrgreen: ...

> Sanych, а где про все эти мудреные слова почитать можно?

Я вот предлагаю dB13 просветить нас, как представителю Host-side USB протокола. Так сказать пусть с той стороны баррикад пояснят :wink:
dB13, вызов принимается? :lol:

В крайнем случае я могу это по полочкам разложить по аналогии с TCP/IP в грубом приближении...
dB13
Уже с Приветом
Posts: 1494
Joined: 08 May 2001 09:01
Location: Silicon Valley

Post by dB13 »

>Control endpoint должна быть у любого USB девайса. Ее я не трогаю. Дальше, упомянутые bulk/interrupt endpoints. Если я правильно понимаю, то первые 8 endpoints могут работать как в bulk, так и в interrupt mode, так?
>
>> A 1.1 USB device doesn't have to have 8 bulk/interrupt and
>> 8 isochronous endpoints, it just could have it.
>
>ОК, с утра гляну. Но если Вам нетрудно, не могли бы выдержку оттуда вытянуть? Или ссылочку на главу?

Control, bulk, interrupt, and iso endpoints can go in any order.
Low speed devices can have 2 non-default endpoints, full speed devices - 15,
in each direction.

A USB device on a specific USB uC may have more limitations, for example:
Enpoint 0 - default control
Ep 1-7 - bulk, interrpt or disabled
Ep 8-15 - iso or disabled

Probably your device have such limitations.

USB 1.1, chapter 5.3.1.2 Non-endpoint Zero Requirements:

Functions can have additional endpoints as required for their implementation. Low-speed functions are
limited to two optional endpoints beyond the two required to implement the Default Control Pipe. Fullspeed
devices can have additional endpoints only limited by the protocol definition (i.e., a maximum of 15
additional input endpoints and 15 additional output endpoints).
Endpoints other than those for the Default Control Pipe cannot be used until the device is configured as a
normal part of the device configuration process (refer to Chapter 9).

chapter 9.6.4 Endpoint, Endpoint descriptor:

The address of the endpoint on the USB
device described by this descriptor. The
address is encoded as follows:
Bit 3...0: The endpoint number
Bit 6...4: Reserved, reset to zero
Bit 7: Direction, ignored for
control endpoints
0 = OUT endpoint
1 = IN endpoint


>Кроме того, видео часто пускают по изохронам. Пойдет это видео через GL650USB?

It should, else your device or GL650USB is broken.

>Если быть точным, почему именно этот хаб не работает с endpoints 3,4 и так далее?
>Так задумано? Или хаб неисправный? Но судя по "...and 2 endpoints" похоже что задумано.

Somebody doesn't follow the spec.
"...and 2 endpoints" just means that the technical writer of the datasheet used "copy and paste".
A USB hub MUST work with any enpoint and device addreses that are connected downstream.


>> Who knows...

>Я так тешу себя надежной что возможно Вы знаете ...

>> Sanych, а где про все эти мудреные слова почитать можно?

>Я вот предлагаю dB13 просветить нас, как представителю Host-side USB протокола. Так сказать пусть с той стороны баррикад пояснят
>dB13, вызов принимается?

My rate is at least $120/h :mrgreen:
I've seen both broken hubs and broken devices.
If you are serious about finding the source of the problem, you should use a USB bus analyzer
(for example http://www.catc.com/products/usb.html)
Also you can test other USB devices with multiple endpoints with this GL650USB hub.
If they work then the problem is likely with you device.
Sanych
Уже с Приветом
Posts: 7728
Joined: 10 Jan 1999 10:01
Location: OH->TX->MI->MA->VA->FL->...

Post by Sanych »

> Low speed devices can have 2 non-default endpoints, full speed devices - 15,
> in each direction.

ОК, thanks!
Однако меня несколько путает, что упомянуто про device, а речь шла именно о хабе, который вроде как обеспечивает прозрачность хосту для downstream девайса.
Означает ли это что упомянутый хаб имеет ограничения именно на количество endpoints?
В спецификации не говорится обо ограничении на EP для хаба и хоста.

> Enpoint 0 - default control
> Ep 1-7 - bulk, interrpt or disabled
> Ep 8-15 - iso or disabled
> Probably your device have such limitations.

Глянул три девайса для примера. Краткое описание:
1. 1out(bulk), 2in(bulk)
2. 1out(bulk), 2in(bulk), 4in(bulk), 4out(bulk)
3. 1out(bulk), 2in(bulk), 8in(iso)

С тем хабом работает только первый. Таким образом, заключается ли проблема в том, что во втором и третьем девайсах используется количество EP больше чем два? Или же кроме того надо пользовать только EP 1 и 2?

> Low-speed functions are limited to two optional endpoints beyond the two
> required to implement the Default Control Pipe.

Ага, даже эти две EP, и те optional? :roll:
Однако пункт 5.3.1 называется "Device Endpoints", а речь о том, что хаб не может обеспечить функциональность хост-контроллера.

>> Пойдет это видео через GL650USB?
> It should, else your device or GL650USB is broken.

Может дело в количестве задействованных EP, то есть во втором и третьем случаях пользуются 3 EP, а "на всех рассчитано не было"(с).

> Somebody doesn't follow the spec.
Если я правильно понимаю, 3 задействованные EP у девайса не входят в противоречие со Spec:
"Each USB device additionally supports one or more pipes..."(4.8.1)
"USB devices are required to implement a default control method that uses both the input and output endpoints with endpoint number zero."(5.3.1.1)
"Full speed devices can have additional endpoints only limited by the protocol definition (i.e., a maximum of 15 additional input endpoints and 15 additional output endpoints)."(5.3.1.2)

В чем противоречие?
Хаб проверяли на PC платформах (W2k/XP/CE) и на PDA(PPC2002/2003). Хаб от Linksys на тех же платформах никаких проблем не вызвал.

> My rate is at least $120/h

Мне так неудобно :roll: ... я чувствую себя обязанным :wink:
Означает ли это что дальше наша дискуссия может быть продолжена на коммерческой основе? :lol:

Если Calderone не согласится на коммерческую основу, я могу начать рассказывать сказки про USB на добровольной основе, в грубом приближении и не неся за это ответстсвенности 8O
dB13
Уже с Приветом
Posts: 1494
Joined: 08 May 2001 09:01
Location: Silicon Valley

Re: USB hubs?

Post by dB13 »

>Однако меня несколько путает, что упомянуто про device, а речь шла именно о хабе, который
>вроде как обеспечивает прозрачность хосту для downstream девайса.
>Означает ли это что упомянутый хаб имеет ограничения именно на количество endpoints?
>В спецификации не говорится обо ограничении на EP для хаба и хоста.

A hub is also a USB device.
A hub should not care how many endpoints re in the device(s) connected downstream.
A hub doesn't care, it just passes or doesn't pass a USB packet downstream/upstream
depending only on its state and not on the header (containing device address and Ep number)
or data of the packet. It's like an Ethernet hub (not switch!)
Have you seen a Ethernet hub that allows only with 2 UDP/TCP ports?

>Может дело в количестве задействованных EP, то есть во втором и третьем случаях
>пользуются 3 EP, а "на всех рассчитано не было"(с).

It is not cheap to have a USB hub uC/ASIC that can support only 2 EPs in
the connected devices.

>Если я правильно понимаю, 3 задействованные EP у девайса не входят в противоречие со Spec
>В чем противоречие?

Sanych, have good embedded experience. You know that digital design is not
only 0s, 1s, and specs, it has also other aspects:

1) High frequency analog/data integrity. I am sure that you'd seen data-pattern
specific problems in your past.
For example, a packet has too many 1s bits in it and a ground (reference) line
gets too high ground bounce, or clock recovery scheme is get confused, etc.

2) High level protocols.

The bottom line here:
1) You can't diagnose the problems by just looking at the datasheets and schematics,
you need bus/logical analyzer and sometimes a good scope.
2) 2 EP line in GL650USB datasheet is irrelevant to you problems.


BTW, right now I develop x86 PC & server SW (www.VMware.com),
definitely non-embedded platform, but I had software problems
caused by spread spectrum (only +/- 1%) CPU clock.

Calderone has simpler problem: he needs to use a hub with an external
power supply. Hubs without it (called bus powered hubs) are useful for
lower power devices (mice, keyboards, flash readers) and for devices
that have own power supply.
In general, don't pay too much attention to numbers on consumer PC HW boxes
and manuals. Many of current consumer PC HW (and SW) is junk.
Sanych
Уже с Приветом
Posts: 7728
Joined: 10 Jan 1999 10:01
Location: OH->TX->MI->MA->VA->FL->...

Post by Sanych »

Спасиб :mrgreen:

> A hub is also a USB device.

То что для хоста он девайс, это понятно.

> It's like an Ethernet hub (not switch!)

Честно говоря именно аналогично свичу я и представил все это, потому что сначала
1. не заработали девайсы с дополнительными endpoints,
2. я прочел в Spec о 2 EP.

Как я теперь понял, 2 EP означает его свойства как девайса, так?

> 1) High frequency analog/data integrity.

Об этом я даже и не думал :pain1: Как то не ждешь от серийного продукта такой пакости.

> 2) 2 EP line in GL650USB datasheet is irrelevant to you problems.

Вот это пожалуй главное.

> Many of current consumer PC HW (and SW) is junk.

Были смутные подозрения, но не до такой же степени! :pain1:
Хотя надежность cunsumer устройств действительно все хуже и хуже.

Ну что ж, спасибо за разборки, лишний раз пробежался по 1.1 Spec, и понял что нужно быть осторожным как сапер :mrgreen:
umf
Уже с Приветом
Posts: 775
Joined: 01 Feb 2003 00:06

Re: USB hubs?

Post by umf »

Sanych wrote:А что Вы подразумеваете под термином "портабельность"? Имеется ввиду "мобильность" или полная совместимость с любым HW?


В карман покласть.
Sanych
Уже с Приветом
Posts: 7728
Joined: 10 Jan 1999 10:01
Location: OH->TX->MI->MA->VA->FL->...

Re: USB hubs?

Post by Sanych »

umf wrote:
Sanych wrote:А что Вы подразумеваете под термином "портабельность"? Имеется ввиду "мобильность" или полная совместимость с любым HW?


В карман покласть.


Понял. Обычно portable в нашем контексте выглядит как "Relating to or being software that can run on two or more kinds of computers or with two or more kinds of operating systems."(с) Dictionary.com
Потому и спросил.
umf
Уже с Приветом
Posts: 775
Joined: 01 Feb 2003 00:06

Re: USB hubs?

Post by umf »

Sanych wrote:
umf wrote:
Sanych wrote:А что Вы подразумеваете под термином "портабельность"? Имеется ввиду "мобильность" или полная совместимость с любым HW?


В карман покласть.


Понял. Обычно portable в нашем контексте выглядит как "Relating to or being software that can run on two or more kinds of computers or with two or more kinds of operating systems."(с) Dictionary.com
Потому и спросил.



Я гляжу, Вам опасно задавать не только вопросы, но и отвечать ответы :D
Sanych
Уже с Приветом
Posts: 7728
Joined: 10 Jan 1999 10:01
Location: OH->TX->MI->MA->VA->FL->...

Re: USB hubs?

Post by Sanych »

umf wrote:Я гляжу, Вам опасно задавать не только вопросы, но и отвечать ответы :D


Почему? :roll: Я очень даже не опасный :mrgreen: Иногда сильно в детали вдаюсь, каюсь, бывает. "Портабельнось" звучала двояко, а "В карман покласть" - оказалось вполне однозначным :wink:
umf
Уже с Приветом
Posts: 775
Joined: 01 Feb 2003 00:06

Post by umf »

На самом деле, если б речь шла не про ноутбук, самым лучшим решением было б купить USB 2.0 карту. Я воткнул в свой неновый десктоп такое изделие из компусы, с пятью портами. Никаких лишних коробок на столе, все работает, в том числе и сканер, питающийся с порта.
Calderone
Уже с Приветом
Posts: 2915
Joined: 13 Oct 2000 09:01
Location: Toronto, ON, Canada

Post by Calderone »

umf wrote:На самом деле, если б речь шла не про ноутбук, самым лучшим решением было б купить USB 2.0 карту. Я воткнул в свой неновый десктоп такое изделие из компусы, с пятью портами. Никаких лишних коробок на столе, все работает, в том числе и сканер, питающийся с порта.

Согласен. Все эти гирлянды хабов и блоков питания сводят на нет преимущества ноутбука в качестве домашнего компьютера, который можно легко переносить с места на место.

Я еще рассматривал вариант купить PCMCIA карточку - адаптер USB на два выхода. Но карточки на моем лаптопе втыкаются с правой стороны корпуса, прямо на виду, и туда должны будут и провода входить.
Calderone
Уже с Приветом
Posts: 2915
Joined: 13 Oct 2000 09:01
Location: Toronto, ON, Canada

Re: USB hubs?

Post by Calderone »

dB13 wrote:Calderone has simpler problem: he needs to use a hub with an external power supply. Hubs without it (called bus powered hubs) are useful for lower power devices (mice, keyboards, flash readers) and for devices that have own power supply.

Спасибо.
Я остался в некотором недоумении, почему практически все хабы без источника питания имеют 4 выхода. А фантазия, чего бы такого нетребовательного можно было одновременно подключить кроме мыши, клавиатуры и вот флэш-ридеров, дальше не идет.
umf
Уже с Приветом
Posts: 775
Joined: 01 Feb 2003 00:06

Re: USB hubs?

Post by umf »

Calderone wrote:Я остался в некотором недоумении, почему практически все хабы без источника питания имеют 4 выхода. А фантазия, чего бы такого нетребовательного можно было одновременно подключить кроме мыши, клавиатуры и вот флэш-ридеров, дальше не идет.


Powered device ? :D

Return to “Вопросы и новости IT”