[App_rpt] USB hubs & USB audio

Jim Dixon and I have had disapointing results with USB hubs during the
testing of USB fobs with them. We don't know why they don't work
properly and we don't have the time to figure it out right now. There
may be hubs which work just fine, but we just don't know as the root
cause of the problem has not been uncovered. If Steve Henke W9SH
knows something I don't them maybe he should speak up on the list.
Steve WA6ZFT

The problem is probably complex. USB 2.0 hubs come in two flavors single-
transaction translators (single-TT) and multi-transaction translators
(multi-TT). Most USB audio devices are "full speed" devices (12
mbits/sec), not "high speed" devices (480 mbits/sec) so the USB hub must
translate the data rate between the host and the device. The single-TT
devices only have a single translator which is shared between all ports.
A multi-TT hub has a translator per port. So in theory a milti-TT hub is
what you should want for optimal bus usage.

An additional complication is that the Linux kernel must be multi-TT hub
aware to properly schedule things. I'm not current with Linux
development, but I've read discussions in the past about improving the
kernel's USB scheduler in this area.

Here are a couple of links to info which may be useful:

http://www.commsdesign.com/design_corner/showArticle.jhtml?articleID=16505362

http://www.linux-usb.org/usb2.html

73's Skip WB6YMH

I have successfully tested URIs with several high speed USB hubs. But these
tests were performed without any other USB devices connected at the same
time so this may not be very usefull.

Skip points out the difference between full speed (12Mbps) and high speed
(480Mbs) devices. This terminology is confusing. Not all USB 2.0 compliant
hubs support high speed, so be sure the package says HIGH SPEED.

Very few hubs support multiple transaction translators, probably because the
chip sets are more expensive and almost nobody understands the need.
Theoretically, one TT is all that is needed provided you don't mix USB 1.x
and 2.0 devices on the same hub. Keep in mind that USB supports several
data modes each with varying priorities and latency allocations. Plus USB
physical layer is half-duplex so one-way communication never comes close to
480Mbps. The TT tries to handle all the traffic so don't expect good
results if you plug a bunch of web cams or other bandwidth hungry devices
into your hub.

Hope this help.

David Kramer
DMK Engineering Inc.
310-544-1222

···

-----Original Message-----
From: app_rpt-bounces@lists.illiana.net
[mailto:app_rpt-bounces@lists.illiana.net] On Behalf Of Skip WB6YMH
Sent: Tuesday, July 22, 2008 1:22 PM
To: app_rpt@lists.illiana.net
Subject: [App_rpt] USB hubs & USB audio

Jim Dixon and I have had disapointing results with USB hubs during the
testing of USB fobs with them. We don't know why they don't work
properly and we don't have the time to figure it out right now. There
may be hubs which work just fine, but we just don't know as the root
cause of the problem has not been uncovered. If Steve Henke W9SH
knows something I don't them maybe he should speak up on the list.
Steve WA6ZFT

The problem is probably complex. USB 2.0 hubs come in two flavors single-
transaction translators (single-TT) and multi-transaction translators
(multi-TT). Most USB audio devices are "full speed" devices (12
mbits/sec), not "high speed" devices (480 mbits/sec) so the USB hub must
translate the data rate between the host and the device. The single-TT
devices only have a single translator which is shared between all ports.
A multi-TT hub has a translator per port. So in theory a milti-TT hub is
what you should want for optimal bus usage.

An additional complication is that the Linux kernel must be multi-TT hub
aware to properly schedule things. I'm not current with Linux
development, but I've read discussions in the past about improving the
kernel's USB scheduler in this area.

Here are a couple of links to info which may be useful:

http://www.commsdesign.com/design_corner/showArticle.jhtml?articleID=1650536
2

http://www.linux-usb.org/usb2.html

73's Skip WB6YMH

_______________________________________________
App_rpt mailing list
App_rpt@lists.illiana.net
http://lists.illiana.net/mailman/listinfo/app_rpt

So, I guess the next question is: Does anyone have a favorite multi-tt
hub? ....I have used this one in the past for other linux applications and
it seemed okay...I'll try one with the URI's....I guess the biggest issue
here is that the hub you buy today won't necessarily be the one on the
shelves tomorrow....A bit frustrating!

-David

···

On Tue, 22 Jul 2008, David Kramer wrote:

I have successfully tested URIs with several high speed USB hubs. But these
tests were performed without any other USB devices connected at the same
time so this may not be very usefull.

Skip points out the difference between full speed (12Mbps) and high speed
(480Mbs) devices. This terminology is confusing. Not all USB 2.0 compliant
hubs support high speed, so be sure the package says HIGH SPEED.

Very few hubs support multiple transaction translators, probably because the
chip sets are more expensive and almost nobody understands the need.
Theoretically, one TT is all that is needed provided you don't mix USB 1.x
and 2.0 devices on the same hub. Keep in mind that USB supports several
data modes each with varying priorities and latency allocations. Plus USB
physical layer is half-duplex so one-way communication never comes close to
480Mbps. The TT tries to handle all the traffic so don't expect good
results if you plug a bunch of web cams or other bandwidth hungry devices
into your hub.

Hope this help.

David Kramer
DMK Engineering Inc.
310-544-1222

-----Original Message-----
From: app_rpt-bounces@lists.illiana.net
[mailto:app_rpt-bounces@lists.illiana.net] On Behalf Of Skip WB6YMH
Sent: Tuesday, July 22, 2008 1:22 PM
To: app_rpt@lists.illiana.net
Subject: [App_rpt] USB hubs & USB audio

> Jim Dixon and I have had disapointing results with USB hubs during the
> testing of USB fobs with them. We don't know why they don't work
> properly and we don't have the time to figure it out right now. There
> may be hubs which work just fine, but we just don't know as the root
> cause of the problem has not been uncovered. If Steve Henke W9SH
> knows something I don't them maybe he should speak up on the list.
> Steve WA6ZFT

The problem is probably complex. USB 2.0 hubs come in two flavors single-
transaction translators (single-TT) and multi-transaction translators
(multi-TT). Most USB audio devices are "full speed" devices (12
mbits/sec), not "high speed" devices (480 mbits/sec) so the USB hub must
translate the data rate between the host and the device. The single-TT
devices only have a single translator which is shared between all ports.
A multi-TT hub has a translator per port. So in theory a milti-TT hub is
what you should want for optimal bus usage.

An additional complication is that the Linux kernel must be multi-TT hub
aware to properly schedule things. I'm not current with Linux
development, but I've read discussions in the past about improving the
kernel's USB scheduler in this area.

Here are a couple of links to info which may be useful:

http://www.commsdesign.com/design_corner/showArticle.jhtml?articleID=1650536
2

Linux and USB 2.0

73's Skip WB6YMH

_______________________________________________
App_rpt mailing list
App_rpt@lists.illiana.net
http://lists.illiana.net/mailman/listinfo/app_rpt

_______________________________________________
App_rpt mailing list
App_rpt@lists.illiana.net
http://lists.illiana.net/mailman/listinfo/app_rpt

Hi Everyone,

Well, I just tried one of the usbgear hubs listed below. It ..almost..
works. The 2 URI devices I'm experimenting with are identified and
functional EXCEPT that it sounds like the audio sampling rate is
wrong--way too low with aliasing distortion (or something). ugh. Probably
a driver confusion issue??

Anyway, the USB hub and hardware otherwise seems to be fine.
Here is an output from the usbtree utility:

[root@kb4fxc-rpt ~]# ./usbtree
/: Bus 02.Port 1: Dev 1, Class=root_hub, Drv=ohci_hcd/8p, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Drv=ehci_hcd/8p, 480M
    >_ Port 4: Dev 2, If 0, Prod=USB2.0 Hub, Class=hub, Drv=hub/4p, 480M
        >_ Port 1: Dev 3, If 0, Prod=C-Media USB Headphone Set, Class=audio, Drv=snd-usb-audio, 12M
        >_ Port 1: Dev 3, If 1, Prod=, Class=audio, Drv=snd-usb-audio, 12M
        >_ Port 1: Dev 3, If 2, Prod=, Class=audio, Drv=snd-usb-audio, 12M
        >_ Port 1: Dev 3, If 3, Prod=, Class=HID, Drv=usbfs, 12M
        >_ Port 2: Dev 4, If 0, Prod=C-Media USB Headphone Set, Class=audio, Drv=snd-usb-audio, 12M
        >_ Port 2: Dev 4, If 1, Prod=, Class=audio, Drv=snd-usb-audio, 12M
        >_ Port 2: Dev 4, If 2, Prod=, Class=audio, Drv=snd-usb-audio, 12M
        >_ Port 2: Dev 4, If 3, Prod=, Class=HID, Drv=usbhid, 12M
        >_ Port 4: Dev 5, If 0, Prod=USB2.0 Hub, Class=hub, Drv=hub/4p, 480M

I'll investigate further since this is ultimately a config I may want to
use as well.

David KB4FXC

···

On Tue, 22 Jul 2008, David McGough wrote:

So, I guess the next question is: Does anyone have a favorite multi-tt
hub? ....I have used this one in the past for other linux applications and
it seemed okay...I'll try one with the URI's....I guess the biggest issue
here is that the hub you buy today won't necessarily be the one on the
shelves tomorrow....A bit frustrating!

USB Hub SuperSpeed 3.0 7-Port Aluminum Sleek Desktop Slim Design

-David

On Tue, 22 Jul 2008, David Kramer wrote:

> I have successfully tested URIs with several high speed USB hubs. But these
> tests were performed without any other USB devices connected at the same
> time so this may not be very usefull.
>
> Skip points out the difference between full speed (12Mbps) and high speed
> (480Mbs) devices. This terminology is confusing. Not all USB 2.0 compliant
> hubs support high speed, so be sure the package says HIGH SPEED.
>
> Very few hubs support multiple transaction translators, probably because the
> chip sets are more expensive and almost nobody understands the need.
> Theoretically, one TT is all that is needed provided you don't mix USB 1.x
> and 2.0 devices on the same hub. Keep in mind that USB supports several
> data modes each with varying priorities and latency allocations. Plus USB
> physical layer is half-duplex so one-way communication never comes close to
> 480Mbps. The TT tries to handle all the traffic so don't expect good
> results if you plug a bunch of web cams or other bandwidth hungry devices
> into your hub.
>
> Hope this help.
>
> David Kramer
> DMK Engineering Inc.
> 310-544-1222
>
>
> -----Original Message-----
> From: app_rpt-bounces@lists.illiana.net
> [mailto:app_rpt-bounces@lists.illiana.net] On Behalf Of Skip WB6YMH
> Sent: Tuesday, July 22, 2008 1:22 PM
> To: app_rpt@lists.illiana.net
> Subject: [App_rpt] USB hubs & USB audio
>
> > Jim Dixon and I have had disapointing results with USB hubs during the
> > testing of USB fobs with them. We don't know why they don't work
> > properly and we don't have the time to figure it out right now. There
> > may be hubs which work just fine, but we just don't know as the root
> > cause of the problem has not been uncovered. If Steve Henke W9SH
> > knows something I don't them maybe he should speak up on the list.
> > Steve WA6ZFT
>
> The problem is probably complex. USB 2.0 hubs come in two flavors single-
> transaction translators (single-TT) and multi-transaction translators
> (multi-TT). Most USB audio devices are "full speed" devices (12
> mbits/sec), not "high speed" devices (480 mbits/sec) so the USB hub must
> translate the data rate between the host and the device. The single-TT
> devices only have a single translator which is shared between all ports.
> A multi-TT hub has a translator per port. So in theory a milti-TT hub is
> what you should want for optimal bus usage.
>
> An additional complication is that the Linux kernel must be multi-TT hub
> aware to properly schedule things. I'm not current with Linux
> development, but I've read discussions in the past about improving the
> kernel's USB scheduler in this area.
>
> Here are a couple of links to info which may be useful:
>
> http://www.commsdesign.com/design_corner/showArticle.jhtml?articleID=1650536
> 2
>
> Linux and USB 2.0
>
> 73's Skip WB6YMH
>
> _______________________________________________
> App_rpt mailing list
> App_rpt@lists.illiana.net
> http://lists.illiana.net/mailman/listinfo/app_rpt
>
> _______________________________________________
> App_rpt mailing list
> App_rpt@lists.illiana.net
> http://lists.illiana.net/mailman/listinfo/app_rpt
>

_______________________________________________
App_rpt mailing list
App_rpt@lists.illiana.net
http://lists.illiana.net/mailman/listinfo/app_rpt

David,

Just so you know that it can be done, I used a 7 port USB hub with TT’s on each port and filled it with 7 radio channels running simultaneously for a commercial trunking radio system and it works just fine.

The server was a 2.66 GHz Pentium 4 on an ASUS motherboard.

73,

Steve Henke, W9SH

···

On Fri, Jul 25, 2008 at 9:19 PM, David McGough kb4fxc@inttek.net wrote:

Hi Everyone,

Well, I just tried one of the usbgear hubs listed below. It …almost…
works. The 2 URI devices I’m experimenting with are identified and

functional EXCEPT that it sounds like the audio sampling rate is
wrong–way too low with aliasing distortion (or something). ugh. Probably
a driver confusion issue??

Anyway, the USB hub and hardware otherwise seems to be fine.

Here is an output from the usbtree utility:

[root@kb4fxc-rpt ~]# ./usbtree
/: Bus 02.Port 1: Dev 1, Class=root_hub, Drv=ohci_hcd/8p, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Drv=ehci_hcd/8p, 480M

_ Port 4: Dev 2, If 0, Prod=USB2.0 Hub, Class=hub, Drv=hub/4p, 480M

   >_ Port 1: Dev 3, If 0, Prod=C-Media USB Headphone Set, Class=audio, Drv=snd-usb-audio, 12M
   >_ Port 1: Dev 3, If 1, Prod=, Class=audio, Drv=snd-usb-audio, 12M
   >_ Port 1: Dev 3, If 2, Prod=, Class=audio, Drv=snd-usb-audio, 12M

   >_ Port 1: Dev 3, If 3, Prod=, Class=HID, Drv=usbfs, 12M
   >_ Port 2: Dev 4, If 0, Prod=C-Media USB Headphone Set, Class=audio, Drv=snd-usb-audio, 12M
   >_ Port 2: Dev 4, If 1, Prod=, Class=audio, Drv=snd-usb-audio, 12M

   >_ Port 2: Dev 4, If 2, Prod=, Class=audio, Drv=snd-usb-audio, 12M
   >_ Port 2: Dev 4, If 3, Prod=, Class=HID, Drv=usbhid, 12M
   >_ Port 4: Dev 5, If 0, Prod=USB2.0 Hub, Class=hub, Drv=hub/4p, 480M

I’ll investigate further since this is ultimately a config I may want to
use as well.

David KB4FXC

On Tue, 22 Jul 2008, David McGough wrote:

So, I guess the next question is: Does anyone have a favorite multi-tt
hub? …I have used this one in the past for other linux applications and

it seemed okay…I’ll try one with the URI’s…I guess the biggest issue
here is that the hub you buy today won’t necessarily be the one on the
shelves tomorrow…A bit frustrating!

http://www.usbgear.com/USBG-217C.html

-David

On Tue, 22 Jul 2008, David Kramer wrote:

I have successfully tested URIs with several high speed USB hubs. But these

tests were performed without any other USB devices connected at the same
time so this may not be very usefull.

Skip points out the difference between full speed (12Mbps) and high speed

(480Mbs) devices. This terminology is confusing. Not all USB 2.0 compliant
hubs support high speed, so be sure the package says HIGH SPEED.

Very few hubs support multiple transaction translators, probably because the

chip sets are more expensive and almost nobody understands the need.
Theoretically, one TT is all that is needed provided you don’t mix USB 1.x
and 2.0 devices on the same hub. Keep in mind that USB supports several

data modes each with varying priorities and latency allocations. Plus USB
physical layer is half-duplex so one-way communication never comes close to
480Mbps. The TT tries to handle all the traffic so don’t expect good

results if you plug a bunch of web cams or other bandwidth hungry devices
into your hub.

Hope this help.

David Kramer
DMK Engineering Inc.

310-544-1222

-----Original Message-----
From: app_rpt-bounces@lists.illiana.net
[mailto:app_rpt-bounces@lists.illiana.net] On Behalf Of Skip WB6YMH

Sent: Tuesday, July 22, 2008 1:22 PM
To: app_rpt@lists.illiana.net
Subject: [App_rpt] USB hubs & USB audio

Jim Dixon and I have had disapointing results with USB hubs during the

testing of USB fobs with them. We don’t know why they don’t work
properly and we don’t have the time to figure it out right now. There
may be hubs which work just fine, but we just don’t know as the root

cause of the problem has not been uncovered. If Steve Henke W9SH
knows something I don’t them maybe he should speak up on the list.
Steve WA6ZFT

The problem is probably complex. USB 2.0 hubs come in two flavors single-

transaction translators (single-TT) and multi-transaction translators
(multi-TT). Most USB audio devices are “full speed” devices (12
mbits/sec), not “high speed” devices (480 mbits/sec) so the USB hub must

translate the data rate between the host and the device. The single-TT
devices only have a single translator which is shared between all ports.
A multi-TT hub has a translator per port. So in theory a milti-TT hub is

what you should want for optimal bus usage.

An additional complication is that the Linux kernel must be multi-TT hub
aware to properly schedule things. I’m not current with Linux

development, but I’ve read discussions in the past about improving the
kernel’s USB scheduler in this area.

Here are a couple of links to info which may be useful:

http://www.commsdesign.com/design_corner/showArticle.jhtml?articleID=1650536
2

http://www.linux-usb.org/usb2.html

73’s Skip WB6YMH


App_rpt mailing list
App_rpt@lists.illiana.net
http://lists.illiana.net/mailman/listinfo/app_rpt


App_rpt mailing list
App_rpt@lists.illiana.net
http://lists.illiana.net/mailman/listinfo/app_rpt


App_rpt mailing list
App_rpt@lists.illiana.net
http://lists.illiana.net/mailman/listinfo/app_rpt


App_rpt mailing list
App_rpt@lists.illiana.net
http://lists.illiana.net/mailman/listinfo/app_rpt