![]() |
![]() |
|
OS/2 and hardware... For more than a decade, OS/2 has been misjudged to have
very limited hardware support. But in fact, if you dig some further, you'll
notice that OS/2 Warp and eComStation offer extreme large and powerful hardware
support. Recently, a whole lot has changed ever since USB support became available
for OS/2. Over the last two or three years, IBM has provided us with some great
device drivers, which enable the use of a great deal of older and modern USB
devices with OS/2 Warp family of operating systems. As of writing, the latest IBM USB Basic device drivers are dated February 7th, 2003 (version 10.117, build10.097). Universal Serial Bus, in short USB, is a very powerful and flexible technology,
as pointed out in the previous articles. This article will deal with USB hubs,
a way to extend that flexibility to unlimited heights (the limit is only 127).
USB allows for multiple peripherals to be plugged into a single USB port and
addressed concurrently. This can be done by branching a USB hub to one of the
sockets of the USB host controller, thereby applying some kind of divide 'n
conquer strategy; compare it with recursion; you divide the "problem"
to similar problems of smaller size, each problem is in fact the necessity to
have one functioning USB peripheral. Hubs are the physical connection to the USB bus. The USB port on the computer
is both a controller and a hub. While many computers have two USB ports, they
may be connected to the same controller. Each controller provides 12 Mbps (approximately
1.5MBps) of bandwidth. When multiple devices are connected to a single USB controller,
each one shares the controller's bandwidth. Some desktop motherboards have two
USB controllers; two peripherals do not share bandwidth if plugged into different
controllers. Up to 127 peripherals can (theoretically) be connected to a single
controller. USBPre functions best when it is the only device connected to a host controller, giving it full USB bandwidth. USBPre must be plugged into either an active hub or directly into the PC, since it is a high power USB peripheral. CABLING!!! root hub <-> extra ext. hub werking + vanaf nu refereren we met de term usb hub aan een externe "verdeler".
KATTEKOP Just because IBM it, that doesn't necessarily mean that USB hubs are not supported. What is a USB hub ? * USB hub typically consists of a single upstream port (designed to connect directly to your computer or to another hub) and multiple downstream ports. How Many USB hubs can I connect together ? * In total you should only connect 5 tiers of USB hubs together. A tier is defined by the number of hubs a device's signal must pass through before it reaches the host. For example, using a 4-port USB hub, you could connect a theoretical maximum of 341 hubs in five tiers, this would leave you with an incredible 1024 ports to connect USB devices! But you should only connect 127 devices together at any time.
* USB cable will usually have both "A" type (downstream) and "B" type (upstream) connectors. Unshielded USB cables running at 1.5Mb will have a maximum cable length of 3 meters. Shielded USB cables running at 12MB will have a maximum cable length of 5 meters. This simple scheme will ensure that users will not be able to plug cables in wrong, since the connectors are unique in size and shape. What software is needed to get the USB Hub to work? * No software is required as long as your computer can support USB Devices. How far can a USB Device be away from the USB Hub? * 5 meters is the maximum distance between each connected device and the USB Hub.
* The USB Hub supports low speed (1.5 Mbps) up to full speed (12 Mbps).
USB Switches support sharing either a single USB device among multiple
USB computers, or one USB computer switching between multiple USB devices. These
Switch boxes are useful in testing environments and instances where sharing
of USB peripherals among computers is required. EN OP OS/2???? waarom deze limiet? 2^7=128 1.4. Some common USB Terminology... This article will not discuss the many reasons why USB is inferior to other
technologies like e.g. SCSI, nor explain the technical details about USB (for
that, please refer to my previous article about USB controllers). Fact is, despite
of its limited performance (and this performance limit doesn't matter with today's
modern Hi-Speed USB 2.0) USB is a great technology, since it combines ease of
use, compatibility with all major operating systems, and especially mobility
(USB memory keys, USB Ethernet NICs).
So far for a brief overview of technologies. Now, in the "USB technology
family", there are some variants: Chipsets usually are a problem, since manufacturers often just refuse customers
such information. Unlike USB host controller chipsets (like VIA VT6202, NEC
µ7201, ...), USB hub controllers are so tiny small and well hidden behind
a cool hub-design, that you will have a lot of trouble finding out what chipset
is used.
There are still other chipsets that OS/2 CHL hardware testing team have not tested, but normally, every USB hub available should work perfectly with the latest IBM OS/2 Base Device Drivers. 3. What you should mind when choosing a USB hub As the name implies itself, Universal Serial Bus is a serial bus technology.
That means that the bandwidth (1.5 Mbps for USB 1.0, 12 Mbps for USB 1.1, 480
Mbps for Hi-Speed USB 2.0) is shared among all devices connected to your controller.
Suppose you've got a USB controller with three ports. To the first port you
have attached a USB Memory Key, and to the second one is your 4-port USB hub.
Let's suppose you've attached a USB modem to the hub, and also a USB harddisk.
First of all, your bandwidth is being divided between your USB memory key, and
your USB hub, and then at the hub, the available bandwidth there is again divided
for each device attached to it.
A hub is a perfect solution, but if you have a lot of devices, the USB performance
can become very disappointing, since every USB device requires Input/Output
bandwidth, and all share the same maximal bandwidth offered by the USB controller.
Therefore, let us take a look at some USB devices and how much bandwidth they
require. NOG / Hoe wordt bandwidth verdeeld bij hub? *: Please note that at this moment of writing, no USB WebCam solutions are
available on the OS/2 Warp platform family. 3.2. To be bus powered or not to be Hubs can be powered or unpowered. The USB standard allows for devices to draw
their power from their USB connection (from the PCI USB controller in your PC).
This is called Bus Powered. Obviously, a high-power device like a printer
or scanner will have its own power supply, but low-power devices like mice and
digital cameras get their power from the bus in order to simplify them. The
power (up to 500 mA at 5 V) comes from the computer. If you have lots of self-powered
devices (like printers and scanners), then your hub does not need to be powered;
none of the devices connecting to the hub needs additional power, so the computer
can handle it. If you have lots of unpowered devices like mice and cameras,
you probably need a powered hub. This is indicated by the term Self Powered.
The hub has its own transformer and it supplies power to the bus so that the
devices do not overload the computer's supply.
Hubs allow the physical connection of multiple peripherals to the USB controller. Hubs also provide power for peripherals. External hubs are connected to the USB port on a computer to provide additional ports. Active (or self-powered) hubs provide additional USB ports for peripherals and require power which usually comes from an external power supply. Active hubs provide 500 mA to each USB port. Passive (or bus-powered) hubs provide additional USB ports and are powered by the computer (or an active hub). Passive hubs divide power among the USB ports and are useful only for low power peripherals. 4. Installation (IBM OS/2 Warp platform family) Just install IBM's latest OS/2
Basic USB Support driver, downloadable via Device Driver Pack Online with
an active valid SoftWare Choice or PassPort Advantage subscription, and follow
the instructions below. You can also download the latest USB driver pack on
the eComStation.com download section, if you have access to it (requires login
and password). Below, only a limited listing has been included at date of writing. However, if you visit http://www.os2warp.be/index2.php?name=usbhubs, you'll have access to the latest table with tested USB hubs that is constantly synchronized with OS/2 CHL hardware list.
USB 2.0 Hubs have "Transaction Translators" OK, this section talks about what makes USB 2.0 tricky. And it's not all that user visible, so you can safely skip reading it if you're one of the many Linux users who just wants a top quality OS (or a Free one) and aren't very concerned about all the underlying technology. If you're writing a device driver, you may want to know about this, since it can affect how you write your driver. At this writing, not all transaction translator features are used by Linux. Also, since those code paths aren't used much yet, a number of shortcuts have been taken, which limit throughput. (Someone will surely provide a patch to remove those shortcuts if/when they become troublesome.) Using Transaction Translators From the perspective of a Linux USB 2.0 host, there are two ways it talks to USB 1.1 devices through transaction translators. Some requests do this almost transparently, like control requests and (full speed only) bulk data transfer. In those cases, the host must tell the EHCI controller that it's talking through a transaction translator, and maybe be ready to recover from some errors, but for most purposes there's control and bulk requests are completely "hands off". That means many USB 1.1 device drivers will continue to work just fine through a USB 2.0 hub ... many network adapters, modems, digital still cameras, MP3 players, disk drives, and similar devices won't need anything more. Then there are the requests that need a lot of hands-on attention: periodic transfers like interrupt and (full speed only) isochronous ones. Because these are all reserved-bandwidth transacton types, they can't be automated as readily as control and bulk (which can opportunistically make progress whenever periodic transfers aren't active). The result is a lot of hub-related complexity in the EHCI driver, making sure that the periodic transfers are safely scheduled and that transaction translators don't get overcommited. Periodic transfers are already the most complex type in USB (though their API got simpler in the Linux kernel 2.5 series), so to some extent it's just one more consideration when scheduling, For example, suppose a USB 1.1 periodic transfer is to be worked on every eight frames (milliseconds). That's going to go through a specific transaction translator; the transfer needs a time when that translator isn't in use, and when there's also bus bandwidth. The EHCI driver needs to schedule a "start split" (a bit in an 's-mask') sometime in one microframe, and a "complete split" (bits in a 'c-mask') in some later microframe, and ensure that between the start and completion no other request uses that translator. Isochronous transfers can be bigger, and are managed by EHCI using a different type of data structure, but in both cases you can see that there's a fair amount of housekeeping involved in tracking what requests are active. USB hubs can be used without any problems using a recent version of IBM's USB Basic OS/2 device drivers. Hubs can extend the power of USB by offering you the ability of using more devices simultaneously, while dividing the available USB bandwidth. Too many devices on one USB chain can seriously degrade performance, especially when using the older USB 1.1 technology. Though mobility requirements (p.e. for notebooks) make bus-powered bus an interesting solution, it is recommended to use////// USB 2.0 hubs work, but haven't been widely stressed (especially in terms of faults happening during transaction translation). Warning: don't unplug these hubs with the 2.4.19 code ... a patch is of course available!
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Last modified: 2004/08/30, 14:34 | This site is sponsored by Mensys B.V. |