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.
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.
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 acknowledge 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
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)
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
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-2006Version 3.26Successfully 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.