VOICE Home Page: http://www.os2voice.org
[Newsletter Index]
[Previous Page] [Next Page]
[Features Index]

June 1999
editor@os2voice.org

USB (universal serial bus) communications in Warp 4.0

                 By Elton Woo  eltonw@sympatico.ca



A preliminary note:

                            Since my early days with computers, a mere nine years ago, I have always considered communications as one of the prime uses for pc's. This report has presented me with some difficulty, not so much the subject matter, but rather due to the many variables that affect an impartial and fair assessment of the material.

                             First off, I would like to emphasize that I am operating under a handicap: I have experienced various problems while testing this, some of which might relate to flakey hardware. So far, I have verified that my memory chips are OK. I am now considering the possibility of a wonky power-bar. Other things that cause inconsistencies are the phone lines in my area, and a Bell Canada telephone sub-station which was probably built a decade after Alexander Graham Bell saw his creation come to light. Overall the results were 'comme ci, comme ca'. I do use the usb modem frequently, except when things really go bad and I switch back to my internal IDE modem.

Hardware, software and the well-modulated de-modulator:

                              I installed and tested usb communications with the following "owner built" system: CPU: AMD - k686/200 Mhz, with 128 Mb RAM, on a Shuttle Skywalker HOT555A motherboard. Video support is via the Elsa Gloria Synergy (8 Mb SGRAM) and Viewsonic 1782. Screen resolution is at 1154 x 862 x 16.7 million colours. The TCPIP Stack is version 5.40, and I installed only the upgrade to 4.2 over 4.0 rather than the entire 4.1 package. For monitoring the communications, I use the following: IPMonitor 1.02, and IPSpeed4. In my startup folder, I have IPMON, AutoWget and SETI@home . IPmon starts ICQJava, Noidle, PMMAIL, Ipspeed, NS Communicator 4.04 (128-bit strongly encrypted version), and Gethbi.

                               My Award BIOS has both com ports set to Auto, so I don't have to worry about my rodent chewing up my communications. Faxworks Lite, Hyperaccess Pro, Voice Dialer and Caller ID all work with the usb support. I've also installed Robotics Messenger, but have not had the time to test it, nor ZOC (Zap-o-Comm) which can be found here - http://www.emtec.com/download.html.

                                Initially, I tested usb support  with only the external modem. Later I decided to use the Acer FM56-ITU Internal modem as a comparison test with the external 3Com-USR Voice Faxmodem Pro. The former needed to be flashed - ftp://ftp.aopen-usa.com/pub/driver/modem/firmware/v90int2m.exe to enable V.90, whilst the newer USR modem already had v.90 support built in and uses either a standard centronics port or the usb connection.
 

Step 1, get the drivers and install them:

                                Obtain both self-extracting drivers from the IBM device driver site - ftp://ftp.software.ibm.com/ps/products/os2/os2ddpak/. The usbbasic.exe 'human interface' drivers must be installed first. Then you install the usbcomm.exe drivers. Both files are self-extracting, and may be placed in the same scratch directory. (There is a slight difference in the readme files, so you may wish to NOT overwrite them when extracting). The good thing is that no reboot is required until all drivers are installed. Your config.sys will be backed up as config.s00, config.s01, etc..  IBM's documentation does not take into consideration nor discuss the use of other drivers such as Ray Gwynn's excellent SIO.SYS drivers, nor how to define your ports.

                                 I certainly give them (IBM) a big thumbs down for that, and the resultant gnashing of teeth, swearing, etc. which accompanied my installation of said usb support. Methinks they did a hasty write of the drivers. After all, usb was jointly developed (IBM and Microsoft being among the partners) for Windows 98. On my system it refused to work on Com2, 3, or 4.  I would get a "PPP driver failure" from the DOIP (Dirty Old Internet Puker) each time I attempted to dial into my ISP. Out of habit harking back to my DOS days, I have always put my communications programs on Com 2, with the mouse on Com 1. In my config.sys I had: 'device=mouse.sys serial com1'; I have since removed the "serial com*" part.

            Before rebooting, your config.sys file should have the following entries:
            BASEDEV=USBUHCD.SYS
            BASEDEV=USBD.SYS /REQ:USBUHCD$
            BASEDEV=USBHID.SYS
            DEVICE=d:\OS2\BOOT\USBCOM.SYS
 

Step 2, it's not always logical, is it?

             Others had reported getting some measure of success with the usb on com3, especially with a PS-2 mouse on their system. On my system, Faxworks Lite uses com3. Switching my mouse to "serial com 2", it was no go with the usb driver. Out of sheer frustration, I decided, let's get silly: I put the damned thing on Com1. It works there regardless of whether the mouse is using that or com 2.

            An argument against usb is that it uses a narrower data path than the standard Centronics port.  Nevertheless, I noted that the com port can be set as high as 230400 baud or even 345600 baud (if you're using InJoy).  I'm inclined to surmise that usb uses 'push technology' to achieve high speed throughput. The advantage is that neither the com.sys nor the sio.sys drivers are needed for any communications support, once usb is installed. I do still have com.sys in my config.sys, but this is only if / when I want to switch to the internal modem. In addition, usb does not use any IRQ's, which is a "plus" in its favour. Be it duly noted that I have not tested any communications in a winos2 session. Feedback on this would be appreciated.


Setting the com port (throughput)

         This is done by opening your printer object, and going to the Properties Notebook. Do a Right Mouse Button click and you will see that on the com1object, it defaults to 9600 baud, but can be set higher. Com 2 will only go as high as 115200 on my system, due to the fact that I have my internal modem using that port. You can try the same procedure with the other communications ports. Ensure that LPT 1 is still cross-hatched, before you close the printer's Properties Notebook, or else the printer will block you from using the com port.
 

Six of one, half a dozen of the other:

          I have found that the performance of the external modem versus the internal to be almost on par as regards as throughput. Nevertheless, I would give the nod to my 'cheapo' internal modem as being more reliable. Bearing in mind the aforementioned handicaps, I have come to the conclusion that usb will work in Warp, but don't expect it to be as good as in Windows** or even in Red Hat Linux 6.0 . My flakey hardware not-withstanding, usb connections work, and I have been able to stay online without any sudden dips in throughput, or the modem suddenly becoming narcoleptic. Verification of my popupos2.log that sudden drops were due  to abends  by Doscall1.dll and or slattach.exe. With BBS, fax, or voice connections, usb is without fault.


I got it working, was it worth it?

        I would say that if you can afford and want to get a usb modem such as mine, go ahead, especially if you're using Windows98 or Linux . But I would stick with the ACER for the following reasons: I can attach a microphone to it, and it cost a third of what I paid for the USR modem. The latter has a serious design flaw: you cannot attach an external microphone to it, and the built-in mike picks up feedback from the speaker if the volume is raised. I still find that, overall, internal modems have served me better over the years than externals which are only good for their blinking light shows. That said, when usb works it can be as good as, or better than usual.

     Please send feedback to Elton Woo, or page me via ICQ #9984432 , and send some comments to the VOICE editor as well.
 

Unwashed footnotes:

            (Initialization strings. These may be added in to your modem.iak file, which is in either \mptn\etc or tcpip\etc) depending on the version of your TCP/IP stack.

The ACER  (ISA) modem, being generic, works with the following:
[Acer FM56-ITU/Com2]
INIT1="AT&F"
INIT2="ATE0Q0S0=0V1X1&C1&D2"

The 3Com-USR external works with these:
[US Robotics 56k Voice Faxmodem Pro/Com1 - USB]
INIT1="AT&F"
INIT2="AT&F1E0Q0V1&C1&D2S0=0S15=128"  {or}
INIT2="AT&F1S0=0S7=90E1V1&H1&I0&R2S41=0#CID=1"
 
SETI - The Search for ExtraTerrestrial Intelligence (...because, Scotty, I can't find any here on Earth!) SETI@home - http://www.os2ss.com/seti/

Resources for this article -

USB - http://www.usbworkshop.com/guide.htm
- http://www.usb.org/

  Elton Woo
Montréal (Québec), CANADA - 11th June, 1999.


[Features]
editor@os2voice.org
[Previous Page ] [Index] [Next Page ]
VOICE Home Page: http://www.os2voice.org