USB and OS/2 (Part 2: Ethernet)
By Jonas Buys
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.
This article will discuss the use of USB Ethernet NICs on the OS/2 Warp platform
family. USB Ethernet adapters give more mobility to laptop and also desktop
computers network connectivity.
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).
Unfortunately, there often seems to be some misunderstanding related to USB
terminology when discussing the Universal Serial Bus technology. That’s
why a brief and clear overview is given here:
USB
Port for attaching USB printers, scanners, mice and digital cameras. Maximal transfer rates of 1 ½ Mbps (Mega Bits Per Second). This variant of USB is also referred to as “low speed USB”; maximum of some 700KBps. USB 1.0 is practically non-existing, and USB 1.1 is present everywhere. 1.1 is called “full-speed” USB and has rates of 12Mbps, that is a little lit less than 1 ½ MBps.
USB 2.0
New port for attaching USB printers, scanners, mice and digital cameras (planned to be replacement of USB 1.1).
Maximal transfer speed of 480Mbps or 60MBps (40 times faster as USB 1.1). If you attach a USB 1.1 device on a USB 2.0 controller, then that device will function correctly, but at USB 1.1 transfer rates. IF YOU PURCHASE A DEVICE WITH USB 2.0, THAT DOESN’T ALWAYS MEAN YOU GET HI-SPEED (480Mbps)! USB 2.0 contains all existing speeds: low (1 ½ Mbps), full (12Mbps) and high (480Mbps).USB OTG
Addition to USB 2.0: USB On-The-Go. Peer to peer USB; using this technology, USB devices can communicate with one each other without intervention of the PC.
New standard for USB devices. Increases the data transfer rates from 12Mbps to 480Mbps (60MBps) on Hi-Speed USB controllers.
Backwards compatible with the original USB; uses the same wires!
New port for branching devices, in particular video devices. At present, hardware manufacturers tend to release other devices for this bus. Sony accept this technology under the name iLink. 12 ½ to 50 MBps. This technology is very similar to that of USB, but it is something quite very different.
So far for a brief overview of technologies. Now, in the "USB technology
family", there are some variants:
First, for USB 1.1 (or for USB 2.0 cards that can also use USB 1.1 devices),
we have UHCI and OHCI.
UHCI is short for Universal Host Controller Interface. It is one particular
direction in the USB controller interfaces. It is used by Intel and VIA chipsets.
Other brands also can be compatible with UHCI. This is the real standard for
USB 1.1. nVidia nForce is also UHCI.
A kind of equivalent of UHCI is OHCI, Open Systems Host Controller Interface.
It's another particular direction in USB 1.1, and is mainly used in chipsets
branded by SiS, ALi, Opti and Cyrix (Gnode).
Then, there EHCI: Enhanced Host Controller Interface. This is a direction
that enables USB 2.0, more to say USB Hi-Speed.
All of these variants are supported using OS/2 Base USB Device Drivers.
Today, three major chipsets are used in USB Ethernet adapters. Of course,
many more are used, but it is is my intention to get you acquainted with the
main technical details about hardware.
The Pegasus chip is the only common USB device on the market that handles 100Mbps
Ethernet and Home PNA transceivers. If it's a 10/100 adapter, it almost certainly
uses this chip and will likely work with the pegasus chip. There are two variants
of this chip: the AMDtek Pegasus AN986 and the PegasusII AN8511 chipset. One
remark here, though: if you are planning to use such a NIC on a USB 1.1 port,
then be aware that it's impossible to use 100Mbps! USB 1.1 has at most 12Mbps
data transfer rate (throughput), and not 100Mbps. Should you be the happy owner
of a USB 2.0 Hi-Speed controller, then, of course, your 100Mbps can be used.
Don't be confused however; I'm talking about the data transfer rates. Of course,
using USB 1.1, you can get your network synchronized at 100Mbps, only the data
transfer rates will be much slower.
Then, there's the Kawasaki Labs KL5KUSB101 chipset.This is the one for which
the IBM USB Ethernet Device Driver was developed. USB NICs supporting only Base10-T,
10Mbps will most likely use this chipset. This is the most wide-spread accepted
chipset for USB networking.
Another chip is the CATC chipset, though less wide-spread. The CATC NetMate
also supports 10Mbps, half duplex only. The CATC chip is used in their CATC's
own products, Belkin's BusStation, Fujitsu and NEC USB products, and the SmartBridges'
network adapter.
If you're planning to use USB Ethernet on OS/2 or eCS, the only solution for
you is to pick out a USB NIC equipped with the Kawasaki KL5KUSB101(b) chip.
There simply are no drivers available at this moment for the other chipsets.
The IBM USB Ethernet drivers offer superb support for any device using the
Kawasaki KLSI-5USB-101 or LSI-5USB-101b chipset; however, specific vendor
and device IDs must be specified during installation. By entering these numbers,
it doesn't matter whether the specific device is supported by the driver (so,
that the driver contains some possible IDs to search for), but it serves as
a generic driver. These IDs are hexadecimal numbers that are the identity
card of the USB Ethernet Card. Upon initialization, a device drivers searches
for a device using these two numbers. The IDs have a four-digit hexadecimal
notation, like this: 0x0123. Four digits? Of course, the 0x is only included
in front to remind people that we're dealing with hexadecimal notation. Thus,
letters a through f can also occur in the IDs!
If you’ve got a Software Choice or a Passport Advantage subscription,
then you can download USBETHER.EXE from the OS/2 Warp Device Driver Pak OnLine
website. This USBETHER.EXE device driver package provides you with IBM's most
current support for Universal Serial Bus (USB) Ethernet devices on the OS/2
Operating System in a self-extracting compressed format. When you run the
file, you will notice three files: the USBETHER.TXT, which contains a VERY
limited IBM readme, USBETHR.NIF, which contains the network adapter configuration
file, and USBETHR.OS2, an NDIS compliant network adapter driver.
In order to use this driver, you need to have the basic USB (USBBASIC, USBEHCI.EXE)
OS/2 Warp device drivers installed and loaded, and a supported USB host controller.
For a listing of compatible and tested USB controllers, visit the OS/2 Warp
Compatible Hardware List (www.os2warp.be).
The driver will work on OS/2 Warp 3, OS/2 Warp 4 (Merlin), OS/2 Warp Server
for e-business (Aurora), OS/2 Warp 4 Convenience Packages 1 and 2 (MCP1, MCP2),
OS/2 Warp Server for e-business Convenience Packages 1 and 2 (ACP1, ACP2).
Any version eComStation is also supported. Drivers won’t work on any
other OS/2 version.
In your config.sys you can specify some additional parameters to optimize the
driver to your specific needs. This is not covered in this article, but a very
detailed discussion of these switches is covered in the OS/2 Hardware InfoSheet about usbether.exe, in which also in-depth technical
details are covered about the NIF file.
The driver can be automatically configured during eComStation 1.1's setup.
If you haven't got one of the earlier referred-to IBM subscriptions, the best
choice for you is to buy eComStation.
Installation is very simple. The most difficult part is specifying the IDs,
already mentioned before. Follow these steps to install the USB Ethernet device
driver:
- First, make sure you’ve downloaded the USBETHER.EXE file from the OS/2 Warp Device Driver Pak OnLine website. This self-extracting file only contains the USB NDIS compliant network adapter driver. YOU ALREADY NEED TO HAVE USB BASE STACK DRIVER PACKAGE (USBBASIC.EXE or EHCI.EXE) INSTALLED AND INITIALISED BEFORE YOU CAN USE YOUR USB NIC! For simplicity, you should download the USBETHER.EXE file in x:\IBMCOM\MACS, where x: is the drive letter OS/2 is installed on. From there, you should run it.
- Open MPTS - Network Adapters and Protocol Services (click right mouse button on desktop, select System Setup menu, double click on MPTS icon in System Setup window). Next, press the Configure button. Select LAN adapter and protocols and press Configure button. Since you already unzipped the driver in the \IBMCOM\MACS directory, MTPS will list it automatically. If you didn't ran the USBETHER.EXE file in this directory, perform this additional step: Press Other adapters button. Specify a path to the USB Ethernet adapter driver files (use default path A: if the files were copied to floppy disk in drive A:). Finally, press OK. If the path was correct, and the files were found, they will now be copied to your hard disk automatically.
- Now you must add the driver to your configuration in MPTS. See the image below. In the Network Adapters field, select the USB ETHeRnet Adapter. Click the Add button below the field. Now the driver will appear I the Current Configuration field.
- Now the most important part: you must specify the Vendor ID and the Device ID for your network card. These hexadecimal specifications can be found in the section OS/2 CHL Tested USB Ethernet Adapters, to be found as a later section in this article. If you are using the 3COM USB Network Interface 3C19250, then you shouldn’t change these IDs, and you should skip this step of installation.
How should you do this? Select USB ETHeRnet Adapter listed in the Current Configuration field, and click the Edit button. That causes a similar thing as shown in the second image. In the Parameters for USB ETHeRnet Adapter dialog box, click in the USB Vendor ID field, and change the value so that it matches your adapter’s one. Then do the same for Product ID field. When finished, confirm the changes by clicking the OK button. Note that you needn’t include the “0x” in front when entering the IDs.
- Now add the required protocols from the Protocols list to the USB Ethernet adapter. You can do this by selecting the appropriate network interface card (NIC) in the Current Configuration field, selecting a protocol in the Protocols field, and clicking Add. The associated protocol should appear indented underneath the NIC to which it was assigned. You can change the protocol setting by selecting the assigned protocol in the Current Configuration field, and clicking the Edit button.
- Press OK button to close Adapter and Protocol Configuration dialog box. Then, click the Close button to close Configure dialog box. Afterwards, click Exit button to close MPTS utility.
- This completes the installation procedure. MPTS should ask if you agree on modifying config.sys, and you should confirm. You can install any other USB device drivers and after that you must REBOOT the system.
This section will is ONLY applicable if you have the desire to configure your
USB Ethernet Card while installing eComStation 1.1 to your computer system.
If eCS is already installed, you should go ahead as was described in the previous
section, thus using MPTS. eComStation 1.1 comes with a brand new even more powerful
installer, which was developed in cooperation with IBM using OS/2's unique CID
technology. eCS 1.1 is a very complete and up-to-date product, and it includes
all drivers available via SoftWare Choice.
This section will tell you what to do once you've reached the Network adapters
and protocols screen during installation of the eCS 1.1 operating system,
where you can configure your NICs. This section won't however cope with the
entire eCS 1.1 installation! We take for granted that you perform an advanced
installation. The image below shows you the appropriate part of setup we are
going to study here:
Perhaps the eCS 1.1 installer doesn't detect your USB Ethernet card automatically,
though this rarely happens. If this is the case, proceed as follows: click
the Add adapter button. (Should a wrong network card be listed, then
click the name of the wrong NIC, and instead of using the Add adapter
button, use the Change adapter button.) A dialog box appears. Scroll
to the bottom of the list of available NIC drivers. There you will see USB
ETHeRnet driver. Click on its listing, and then click the OK
button. Now you can add the desired protocols by using the Add protocol
button (analogous to this action in previous section). Should you feel lost
at any time, then you can always read the Description right above
the lower navigation buttons. By clicking the Help button, an extensive
online help library lies within your grasp.
Once the driver has been added, you must specify the vendor and device IDs.
To accomplish this, just click the indented entries Product ID and
USB Vendor ID to enter respectively the device and manufacturer IDs.
Where can you enter the hexadecimal numbers? In the image above, you see the
field Product ID (will change automatically in USB Vendor ID
if you click the USB Vendor ID entry under the heading of the USB Ethernet
NIC). You can either specify these IDs by clicking the up and down arrows at
the right of the field, but this only increments the already listed value with
one unit. To enter the IDs manually, double-click on the hexadecimal number
already listed, which will cause the hex number to be selected. Just type the
desired ID number, and this will appear in the field.
Once this all has been finished, click the Next button at the bottom
of the screen to continue installation.
You can also skip NIC configuration during setup, and then later - once OS
is installed -configure your network using MPTS.
If you're planning to use USB Ethernet on OS/2 or eCS, the only solution
for you is to pick out a USB NIC equipped with the Kawasaki KL5KUSB101(b)
chip. There simply are no drivers available at this moment for other chipsets.
In order to use a USB NIC, you need to have a USB controller that is compatible
with OS/2. For more information about OS/2 USB compatible controllers, visit
the OS/2 Warp Compatible Hardware List website.
Though USB Ethernet cards provide mobility for a very low cost, you should
keep in mind the limited 10Mpbs throughput. If you're prepared to cope with
this limitation, or if you're not interested in speeds, then no problems exist,
and you can go ahead and browse for your card.
Also, you must have either PassPort advantage, or a SoftWare Choice subscription.
The driver is also included in any version of eComStation.
The following table shows a listing of all USB Ethernet adapters equipped
with a Kawasaki 101b chipset that have been tested and found to be compatible
with OS/2 Warp and eCS via the IBM USB Ethernet Device Driver. Also the manufacturer
and device IDs are listed. Of course, testing continues, and you can find
the latest compatible devices on the OS/2 Warp CHL Web site. You can also
get hardware support for OS/2 and eCS there.
Adapter
Vendor ID Device ID3COM USB network interface 3C19250 0x0506 0x03e8 3COM HomeConnect Ethernet USB adapter 0x0506 0x11f8 ADS Technologies Inc. USB to Ethernet adapter USB-10BT 0x06e1 0x0008 or 0x0009 Accton Cheetah USB 10/100 Adapter USB220-EC 0x083a 0x0220 Accton Cheetah USB 10/100 Adapter USB320-EC 0x083a 0x0320 AOX Endpoints USB Ethernet adapter 101 0x03e8 0x0008 ATEN USB UC10T network adapter 0x0557 0x2002 ATEN USB to Ethernet adapter 10BaseT UC-110T 0x0557 0x4000 ASANTE FriendlyNET Home USB to Ethernet adapter 0x10bd 0x1427 Corega EtherUSB-T USB network adapter 0x07aa 0x0001 DLink Corp USB Ethernet adapter DSB-650C 0x2001 0x4000 DLink Corp USB to Ethernet adapter DU-E10 0x07b8 0x4000 DLink Corp USB DSB-H3E Ethernet network adapter 0x2001 0x0008 Entrega E45 Ethernet adapter USB 0x1645 0x0005 I/O DATA USB-ET/T USB network adapter 0x04bb 0x0901 Jaton USB to Ethernet adapter XpressNET 10Base-T 0x087d 0x5704 Linksys USB10T Ethernet network adapter 0x066b 0x2202 Mobility USB PortSmith Express Ethernet adapter 0x1342 0x0204 Netgear EA101 USB Ethernet adapter 0x0846 0x1001 Netgear EA101c USB Ethernet adapter 0x0846 0x1002 NTT-TE MN128 USB to Ethernet adapter 0x0785 0x0002 Optus@Home UEP1045A USB to Ethernet 0x0565 0x0003 Peracom Enet USB Ethernet 0x0565 0x0002 Peracom Enet2 USB Ethernet 0x0565 0x0005 Peracom EN-1045A USB Ethernet adapter 0x0565 0x1045 Planex USB UE-10T 10Mbps 0x07e3 0x0001 Shark Pocket Adapter USB 0x13d2 0x0400 Silicom USB Ethernet adapter U2E 0x1485 0x0001 SMC Corp 2102USB network adapter 0x0707 0x0100 SMC Corp 2202USB network adapter 0x0707 0x0100 Thomas&Betts Corp 10Mbps USB Ethernet 0x05d7 0x0099 Xircom PortGear USB to Ethernet adapter 0x1645 0x8005
This listing is, naturally, not complete. If you think you’ve got a device with the Kawasaki KLSI5USB101b chip, simply try it out. To get the manufacturer and device IDs,
use the USB Recourse Manager, available via Netlabs.
How to use this utility?
- Unzip the usbres.zip into x:\os2, where x is the driver on which OS/2 is installed;
- Add the statement “DEVICE=c:\os2\usbresmg.sys” to your CONFIG.SYS;
- Reboot your system
- From an OS/2 prompt type usbres;
- Now you will get a listing of devices attached to your computer’s USB port(s);
- Right-click the device and choose the option View Device Report;
- A small windows now opens and lists all technical information. From here, you can see the IDs.
The following image shows this windows; you'll immediately see the manufacturer and device IDs...
Install the IBM USB Ethernet Device Driver, and enter these IDs. You'll soon
find out whether de device works or not.
Note that if you're using eCS 1.1, USB Recourse Manager may already be installed
on your system. Try typing usbres from an eCS Command Prompt, which
should launch the application if installed.
These devices do NOT work, since they are equipped with a Pegasus chipset:
3Com USB Ethernet 3C460B, ADMtek ADM8511, ADMtek AN986, ADMtek AN986A USB MAC,
Accton USB 10/100 Ethernet Adapter, Allied Telesyn Int. AT-USB100, Belkin F5D5050
USB Ethernet, Billionton USB-100, Billionton USBLP-100, Billionton USBEL-100,
Billionton USBE-100, Corega FEter USB-TX, D-Link DSB-650TX, D-Link DSB-650TX(PNA),
D-Link DSB-650, ELCON EPLC10Mi USB to Powerline Adapter, Elsa Micolink USB2Ethernet,
Hawking UF100 10/100 Ethernet, IO DATA USB ET/TX, IO DATA USB ET/TX-S, Kingston
KNU101TX Ethernet, LANEED USB Ethernet LD-USB/TX, LANEED USB Ethernet LD-USB/T,
Linksys USB10TX, Linksys USB100TX, Linksys USB Ethernet Adapter, Linksys USB
USB10TX, MELCO/BUFFALO LUA-TX, MELCO/BUFFALO LUA2-TX, SMC 202 USB Ethernet,
SMC 2206 USB Ethernet, SOHOware NUB100 Ethernet, SOHOware NUB110 Ethernet, SpeedStream
USB 10/100 Ethernet, smartNIC 2 PnP Adapter.
The Kaweth driver for offers the very same functionality as the IBM OS/2 USB
Ethernet Device Driver in that it supports a great deal of KLSI5USB101b-equipped
network interface cards. Unfortunately, it appeared there were no mechanis
m
for specifying the manufacturer and device IDs. This means that you must use
one of the devices for which the driver offers specific support. Fortunately,
most of the devices listed in the table above are supported. For step-by-step
instructions about how to install and use this device driver, please consult
the OS/2 Hardware InfoSheet about usbether.exe.
Apart from the Kaweth Kawasaki driver, other drivers supporting other chipsets
in USB Ethernet devices are available for a lot of Linux distributions. The
ones for the AMDtek Pegasus AN986 and CATC USB-EL1201A chipsets are currently
considered to be finalized, and development to an ADMtek PegasusII ADM8511
driver continues. Thus, the GNU Linux platform offers significantly more drivers
for USB Ethernet Devices.
Even though there's only limited support for USB Ethernet available for OS/2,
especially for mobility needs, this wired networking technology remains interesting.
The only disadvantage - the limited speed - is compensated by the advantages:
low cost, mobility (ideal solution for portables), ease of use due to the
powerful USB technology, reliable networking. IBM's USB Ethernet Device Driver
is a great driver, which enables the usage of any Kawasaki 101-equipped network
interface cards.




