Blonde Guy

Serial cards on eComStation

I recently tested a number of serial cards on eComStation. All of them but one are PCI bus cards. The last one is a PCIe card, but unfortunately, that one cannot be used with eComStation.

I had serious problems with the Digi and Quatech drivers. The PSCOM.SYS driver supplied with eComStation was the only working solution in the end.

My problems are likely due to a test machine where BIOS was a secondary issue since all the supported operating systems had UEFI support.

Startech 2-port PCI

The first one to review is the 2-port PCI card from StarTech. The 2-port serial card has 2 D9 connectors.

The next hurdle was to get the StarTech 2 serial port card to work. I tried COM.SYS, but that didn't work. There are high interrupts, so I then tried PSCOM.SYS. Surprisingly, that did not work. I added the /V parameter and saw the following data at boot time.

The solution to the problem was to look in the BIOS for the data on the two built-in serial ports. The fixed up device statement is below.

DEVICE=C:\OS2\BOOT\PSCOM.SYS /V (1,3F8,4) (2,2F8,3)

Bus 36 (PCI), Device Number 1, Device Function 0
 Vendor 9710h NetMos Technology
 Device 9835h PCI 9835 Multi-I/O Controller
 Command 0143h (I/O Access, Memory Access, Parity Error Response,
   System Errors)
 Status 0280h (Supports Back-To-Back Trans., Medium Timing)
 Revision 01h, Header Type 00h, Bus Latency Timer 00h
 Self test 00h (Self test not supported)
 Cache line size 64 Bytes (16 DWords)
 PCI Class Simple Communication, type Serial - 16550
 Subsystem ID 00021000h 2S (16C550 UART)
 Subsystem Vendor 1000h LSI Logic / Symbios Logic
 Address 0 is an I/O Port : 1030h..1037h
 Address 1 is an I/O Port : 1028h..102Fh
 Address 2 is an I/O Port : 1020h
 Address 3 is an I/O Port : 1018h
 Address 4 is an I/O Port : 1010h
 Address 5 is an I/O Port : 1000h
 System IRQ 10, INT# A
 

This is the output of the serial device driver at boot time with the Startech 2-port PCI serial card.

Digi Xem AccelePort

The Digi Xr AccelePort card supports a nearly unlimited number of serial ports through expansion boxes, and needs its own device driver and utilities.

The expansion box has 16 ports, but several of the expansion boxes can be strung together

I was unable to get the Digi card working because the driver hangs at boot time. I tried switching ACPI parameters, MAXCPU=1, VW, PIC, but none of these worked. I tried moving the Digi device driver to the end of the config.sys, but it still hangs.

Running the Digi diagnostic program, C:\digi\digidevf.exe, shows:

Digi PCI Device Function identifier - Version 1.0
No Digi PCI boards were found.

After I read all AccelePort documentation, I plugged Digi into Tobopeep, and it hangs in exactly the same way, except it's IRQ 10.

I used an MS-DOS diagnostic program, UD-PCI. This program, running in a full screen session, shows the Digi card, tests all functions of the card, which all work with the exception of the IRQ routing, for which it shows IRQ acknowlege error.

Opened case 118545 with Digi support, reply was to get an unshared IRQ. Since my error is with a card that has an unshared IRQ, I think I am done with Digi.

 Bus 4 (PCI), Device Number 0, Device Function 0
 Vendor 114Fh Digi International
 Device 0004h AccelePort Xem
 Command 0003h (I/O Access, Memory Access)
 Status 0200h (Medium Timing)
 Revision 01h, Header Type 00h, Bus Latency Timer 00h
 Self test 00h (Self test not supported)
 PCI Class Simple Communication, type Other
 Address 0 is a Memory Address (0-4GiB) : FBC00000h..FBFFFFFFh
 System IRQ 21, INT# A
 Expansion ROM of 64 KiB decoded by this card, currently disabled

StarTech 8-port serial card.

This is the first alternative to the Digi Acceleport that we tried. At first, I could not get it to work, but eventually I found a couple of ways that this card can be supported. This card is the least expensive of the cards that I tried.

Bus 36 (PCI), Device Number 0, Device Function 0
 Vendor 10B5h PLX Technology, Inc.
 Device 9050h PCI <-> IOBus Bridge
 Command 0143h (I/O Access, Memory Access, Parity Error Response,
   System Errors)
 Status 0290h (Has Capabilities List, Supports Back-To-Back Trans.,
   Medium Timing)
 Revision 01h, Header Type 00h, Bus Latency Timer 00h
 Self test 00h (Self test not supported)
 Cache line size 64 Bytes (16 DWords)
 PCI Class Simple Communication, type Other
 Subsystem ID 158810B5h IXXAT CAN i165 (Guess Only!)
 Subsystem Vendor 10B5h PLX Technology, Inc.
 Address 0 is not present or not configured!
 Address 1 is an I/O Port : 1000h
 Address 2 is an I/O Port : 1080h
 Address 3 is an I/O Port : 10C0h
 System IRQ 9, INT# A
 New Capabilities List Present:
   Power Management Capability, Version 1.0
     Does not support low power State D1 or D2
     Supports PME# signalling from mode(s) D0, D3hot
     PME# signalling is currently disabled
     3.3v AUX Current required : 0 mA (Self powered)
     Current Power State : D0 (Device operational, no power saving)
   CompactPCI Hot-Swap Capability
   Vital Product Data Capability

I tried a number of things with this card, but to make it work is pretty simple. The PSCOM.SYS driver supports the /F option, and along with specifying the built-in motherboard ports makes this and a lot of other serial cards work.

DEVICE=C:\OS2\BOOT\PSCOM.SYS /F /V (1,3F8,4) (2,2F8,3)

Startech PCIe 8-port serial card

I also tried the PCIe card, but this didn't work at all. The card turns out to have an incompatible architecture, operating through memory instead of I/O space.

The Quatech driver, QCOM.SYS, also supports this card, but I found it to be buggy, even with Quatech hardware.

 Bus 16 (PCI Express), Device Number 0, Device Function 0
 Vendor 1415h Oxford Semiconductor Ltd
 Device C308h EX-44016 16-port serial
 Command 0047h (I/O Access, Memory Access, BusMaster, Parity Error Response)
 Status 0010h (Has Capabilities List, Fast Timing)
 Revision 00h, Header Type 00h, Bus Latency Timer 00h
 Self test 00h (Self test not supported)
 Cache line size 64 Bytes (16 DWords)
 PCI Class Simple Communication, type Serial - 16550
 Subsystem ID C3081415h Unknown (Generic ID)
 Subsystem Vendor 1415h Oxford Semiconductor Ltd
 Address 0 is a Memory Address (0-4GiB) : 91E00000h
 Address 1 is a Memory Address (0-4GiB) : 91C00000h
 Address 2 is a Memory Address (0-4GiB) : 91A00000h
 System IRQ 10, INT# A
 New Capabilities List Present:
   Power Management Capability, Version 1.2
     Supports low power State D1
     Supports low power State D2
     Supports PME# signalling from mode(s) D1, D2, D3hot, D3cold
     PME# signalling is currently disabled
     3.3v AUX Current required : 55 mA
     Current Power State : D0 (Device operational, no power saving)
   PCI Express Capability, Version 1
     Device/Port Type : 
       PCI Express Endpoint Device
     Device Capabilities :
       Non-Fatal Error Reporting Enabled
       Fatal Error Reporting Enabled
       Unsupported Request Severity is Fatal
     Device Status :
       AUX Power Detected
     Link Capabilities : 
       Maximum Link speed : 2.5Gb/s
       Maximum Link Width : x1
       Link Port Number   : 0
     Link Control :
       Common Clock Configuration In Use
     Link Status :
       Current Link speed : 2.5Gb/s
       Current Link Width : x1
   MSI-X Capability

Quatech ESCLP-100 8 port serial PCI card

I also tried the Quatech ESCLP-100, and found the Quatech driver to be easy to work with. This card works, and it simply rocks. Config.sys lines are interesting. With plentiful documentation, I could run the Quatech card and one or both Startech cards with this driver. The following was the support for Quatech and the Startech 2-port card.

Device=c:\os2\boot\qcom.sys (1,3F8,4) (2,2F8,3) (3,1070,22) (4,1068,22) (ESCLP-100,5) /D
Device=c:\os2\mdos\qvcom.sys

A file called C:\qcom.log is created by the /D parameter with the boot time messages, which is handy for debugging.

Messages displayed by QCOM.SYS at last boot:


Quatech Serial Port Device Driver for OS/2 Copyright (c) Quatech, Incorporated 1993-2006
Version 3.26
Successfully initialized ports are listed below:
Legacy port COM1: Address=03F8, IRQ=4 16550 UART Legacy port COM2: Address=02F8, IRQ=3 16550 UART Legacy port COM3: Address=1070, IRQ=22 16550 UART Legacy port COM4: Address=1068, IRQ=22 16550 UART PCI ESCLP-100 COM5: Address=1000, IRQ=21 16750 UART COM6: Address=1008, IRQ=21 16750 UART COM7: Address=1010, IRQ=21 16750 UART COM8: Address=1018, IRQ=21 16750 UART COM9: Address=1020, IRQ=21 16750 UART COM10: Address=1028, IRQ=21 16750 UART COM11: Address=1030, IRQ=21 16750 UART COM12: Address=1038, IRQ=21 16750 UART

The Quatech card and driver work with ACPI, the Quatech operating under IRQ 21 and the StarTech card operating under IRQ 22.

Unfortunately the Quatech driver has problems. If I allow all 4 cores to run, the Quatech driver will hang as soon as a serial port is used by the application. With only one core, the application can run for several hours before hanging in the device driver

The Quatech hardware runs well with the eComStation PSCOM.SYS, even with all four cores enabled.

Device=c:\os2\boot\pscom.sys /F /V (1,3F8,4) (2,2F8,3)
Device=c:\os2\mdos\vcom.sys

Final configuration: Startech 8-port plus Startech 2-port

A total of 11 serial ports are provided. COM1 is built-in to the computer, COM2 is not available, COM3 and COM4 are the 2-port card, and COM5 to COM12 are on the 8-port card. The OS/2 MODE command will show data up to COM16. Higher COM port numbers work, but cannot be manipulated by the MODE command.

Last Modified: 20 Aug 2013
Graphics by Colorful Language
Copyright 2013 by Blonde Guy