OS2 World Community Forum
OS/2, eCS & ArcaOS - Technical => Setup & Installation => Topic started by: Doug Clark on July 18, 2023, 10:46:22 pm
-
I have a serial device that I have working when connected to a real serial port.
I would now like to get it working through a USB to Serial adapter. The one that I am using is a Belkin fsu116 hub thingy - which plugs into usb and provides 2 serial, 1 parallel and 2 usb ports. It is shown as working with os/2 in the wiki.
Do I need to add something to my CONFIG.SYS to get the ports working? Can I assign a comm port number to a specific port on the belkin?
Is there documentation somewhere that describes how you setup usb-serial adapters?
Thanks
-
IIRC, you need usbcom.sys installed as a device (DEVICE=x:\os2\boot\USBCOM.SYS /V), I had it after USBKBD.SYS in config.sys with /V for verbose. Default should capture the 1st free serial port.
I thought I had some documentation on it but can't find it right now, mostly about setting up the port. Install and play with the mode command to see if it works. There are others who should know more.
-
Hi Doug
I found this for the moment:
http://www.edm2.com/index.php/USBCOM.SYS
Is it USBSer.sys (https://hobbes.nmsu.edu/?search=usbser) also needed?
http://www.edm2.com/index.php/USBSER.SYS
I was wondering which kind of devices you want to test on the USB Serial port that you have. Are you trying to access to the console of a device with a terminal application?
Even that I got my hands in some USB-to-Serial adapters, I never found out a device I can use easily to confirm the USB-To-Serial port is working. Was USBCOM.SYS only meant from modems? Was some other devices like serial mouse, serial cable, etc that may work ?
Please let me know your progress, model number of the device, so I can add that device on the wiki.
Regards
-
Dave,
thanks for the usbcom.sys tip. That got me started, at least. I added the following two lines to my CONFIG.SYS
DEVICE=C:\OS2\BOOT\USBCOM.SYS /V /N:2
DEVICE=C:\OS2\BOOT\USBCOM.SYS /V /N:3
and the messages on boot up appear to say the driver is loaded for each com port.
But when I enter MODE COM2 or MODE COM3 I get the message
The system cannot find the device specified.
I have one physical COM port in the motherboard, which is used normally used
by my ACECAD driver. The CONFIG.SYS lines for that driver are
DEVICE=C:\OS2\ACECAD.SYS
DEVICE=C:\OS2\MDOS\VMOUSE.SYS
DEVICE=C:\OS2\BOOT\POINTDD.SYS
DEVICE=C:\OS2\BOOT\AMOUSE.SYS STYPE=ACECAD$
DEVICE=C:\OS2\BOOT\USBMOUSE.SYS
If I put COM.SYS in my config.sys with the ACECAD driver I get an error message when it tries to load COM.SYS.
If I take out the ACECAD stuff out of CONFIG.SYS COM.SYS loads and I can use COM1 - and MODE COM1 works correctly.
Martin,
The device is an IBM 6094-20 Lighted Program Function Keyboard (LPFK) which needs a serial connection.
You can see it in action, along with a 6094-10 Dials device at
https://www.reddit.com/r/retrobattlestations/comments/g6qfd7/ibm_6094_dials_lpfk_lighted_programmable_function/
I ported the source for a a Linux "driver" (actually just an interface to the serial port for this device with a test program) to OS/2 - but to do that I had to remove the ACECAD driver and connect the LPFK to the real serial port on my machine. I am now trying to get it to work through a USB - > serial adapter.
-
Hi
Just for the fun of it I took out a "Prolific USB 2.0 to COM" (HardwareID: 067b:2303) device to try it on my ArcaOS VM.
- Added "DEVICE=C:\os2\boot\USBCOM.SYS /V" after USBKBD.
- Configured the VirtualBox VM to enable COM1
- Rebooted
With the device disconnected I run "MODE COM1" and got
SYS0021: The drive is not ready.
I plugged the adapter, without any serial device attached.
Mounted in VirtualBox the "Prolific USB 2.0 to COM" USB device, and run again "MODE COM1" I got:
baud = 9600 parity = NONE
databits = 8 stopbits = 1
TO = OFF XON = OFF
IDSR = OFF ODSR = OFF
OCTS = OFF DTR = ON
RTS = ON BUFFER = N/A
So, I guess the device is being recognized in some way. But I don't have any serial device at hand to keep testing.
Regards
-
The device is an IBM 6094-20 Lighted Program Function Keyboard (LPFK) which needs a serial connection.
You can see it in action, along with a 6094-10 Dials device at
https://www.reddit.com/r/retrobattlestations/comments/g6qfd7/ibm_6094_dials_lpfk_lighted_programmable_function/
Ok, so you have:
- One serial port on your machine - COM1 (COM.SYS)
- Belking USB to Serial with two serial ports - COM2 and COM3 (USBCOM.SYS)
- IBM 6094-20 Lighted Program Function Keyboard (LPFK) serial device
- A digitizer tablet (ACECAD) serial device.
It worries me that MODE COM2 and MODE COM3 gives you an error, I'm guessing it should report something like my little sample (guess).
What if you try to connect the serial digitizer tablet to the USB-To-Serial like COM2, just to give it try ?
Will the ACECAD.SYS work? I can not find if you can specify a different COM port on ACECAD.SYS.
Also, can you get the hardwareID of the USB-to-Serial device? maybe with lsUSB (https://hobbes.nmsu.edu/download/pub/os2/util/system/lsusb_013.zip). (just for the record) ;D
Regards
-
Hi Doug, don't know how a real serial port and usbcom.sys interact, possible that order in config.sys is important.
I'd suggest as a test, disable your serial port and rem out com.sys and vcom.sys and test to see if it actually works.
At one point, about a decade ago, I had a computer with no serial port and I was on dial up. Had a weird modem that claimed to be a USB modem but was actually a serial modem with a serial port and an USB port connected to the serial port with a PL2303 chip.
I tried all the usbcom.sys drivers I could find including a couple that claimed to support the PL2303, none worked. Luckily David updated the eCS USB stack and the changelog (12-Sep-2013) said "Fixed PL2303 support in USBCOM driver" and it actually worked. Later worked with Lars trying to get his stack to work with my PL2303 without success.
Moral is that these chips are not all created equal.
Guess another option if you can't get it to work is to open an issue at Arca Noae. David has been working on this stuff a long time. Another option is to try Lars's USB stack, it is on Hobbes. No XHCI support though.
-
Have you tried to set another port than 'the first available' for your USB/serial converter? I've something like -
DEVICE=C:\OS2\BOOT\USBCOM.SYS /M:4 /N:COM5in my config.sys. My first PL2303 uses COM5: the second COM6: (maybe COM6 and COM7, check with mode command) and so on. Guess /M means using up to max. 4 USB/serial converters but not sure. There is an usbcom.txt which should explain all the parameters.
I think USB 12.14 was the first which worked satisfactorily for me. Before I used the special PL2303 driver with
DEVICE=P:\util\USBCOM_PL2303\usbcom.sys /V /M:1 /N:COM5 /Z
DEVICE=P:\util\USBCOM_PL2303\usbcom.sys /V /M:1 /N:COM6 /Z
DEVICE=P:\util\USBCOM_PL2303\usbcom.sys /V /M:1 /N:COM7 /Z
DEVICE=P:\util\USBCOM_PL2303\usbcom.sys /V /M:1 /N:COM8 /Z
-
I use a US Robotics USB modem, which looks like a USB serial port to OS/2.
My config.sys uses this:
Device=C:\os2\boot\usbcom.sys /v
The placement of this line is crucial. OS/2 assigns serial ports in order. Each device statement that claims a serial port gets the next port number. I wanted USB to have COM1, so I made sure my device statement came before device statements for the IBM File and Print client, which claims two. Also place it before any COM.SYS or other serial port driver.
You can direct OS/2 to assign a COM port number higher than the one it would normally receive. (I think it only goes up to 99 serial ports)
Device=C:\os2\boot\usbcom.sys /N:COM99
-
Thanks all for your help.
The adapter I purchased is listed in wiki as being tested by OS/2 CHL hardware testing team and
"works like a charm!" -it is part number F5U116 and shows in the list below as id 050d:0103
I also plugged in another Belkin adapter F5U109 USB PDA Adapter which is listed on the
wiki as "According to IBM this device should work flawlessly with IBM's serial USB device driver."
It shows up in the list below as id 050d:0109
Martin,
lsusb reports
Bus 001 Device 001: ID 050d:0109 Belkin Components F5U109/F5U409 PDA Adapter
Bus 001 Device 002: ID 050d:0103 Belkin Components F5U103 Serial Adapter [etek]
Bus 001 Device 003: ID 050d:0103 Belkin Components F5U103 Serial Adapter [etek]
Bus 001 Device 004: ID 0d3d:0001 Tangtop Technology Co., Ltd HID Keyboard
Bus 001 Device 005: ID 1293:0002 Belkin Components [hex] F5U002 Parallel Port [uss720]
Bus 001 Device 006: ID 046d:c52b Logitech, Inc. Unifying Receiver
Dave, Neil and Andi B
I have tried:
1) disabling the com port in bios and removing usb.sys from config.sys - I don't have a vcom.sys in config.sys
2) specifying usbcom.sys with a starting port number (e.g. /N:COM2), and without a starting port number
3) listing usbcom.sys only once in config.sys as advised in usbcom.txt, and listing usbcom.sys mutliple times, one for each desired com port.
4) I have tried different usb-serial adapter IDs(F5U109 and F5U103 shown above)
On boot up, with
DEVICE=C:\OS2\BOOT\USBCOM.SYS /V /M:3 /N:COM2
I get a message during boot that the driver is loaded and is starting at COM2 with the size of input and output queues
But the MODE command says
SYS0021: The drive is not ready.
or for COMx where x=5 or higher it says
SYS0020: The system cannot find the device specified.
Plus my program reports an error when it tries to open COM2, COM3 or COM4.
So I think I will open a ticket on with Arca Noae, see what happens.
-
Have you tried USBSER.SYS which Martin cited above? (http://www.edm2.com/index.php/USBSER.SYS)
It's list of supported devices includes: "USB Serial Adapter on Belkin F5U116 USB Multi-Port Hub"
-
Rich: no. I saw Martin's mention of usbcom on EDM and looked at that but somehow passed over the reference to usbser
So after I saw your post (thanks for catching that) I downloaded USBSER and installed it.
The package says to run DDINSTAL - which ran but gave no feed back for success or failure. However it did add
DEVICE=C:\OS2\BOOT\USBSER.SYS
to my CONFIG.SYS (I added the /V after for feedback on boot up)
On boot a message is displayed saying the converter (USBSER.SYS) loaded as COM1
Included in the package is a test program: tstusbc.exe
When I run tstusbc.exe nothing happens - blank screen. And MODE COM1 says Drive not ready.
I ran it with COM1 turned on and turned off in bios, and with COM.SYS remarked out.
I also booted with just USBSER.SYS and with both USBSER.SYS and USBCOM.SYS - same result.
BTW - I also have an eComStation machine, with a subscription for support and just for kicks tried installing USBCOM.SYS on that machine with the same results.
-
Have to remember that Arca Noae did some major changes to the USB stack to support XHCI (USB3). Might want to test with Lars's stack, which I think is a lot closer to the stack that IBM released.
-
Have to remember that Arca Noae did some major changes to the USB stack to support XHCI (USB3). Might want to test with Lars's stack, which I think is a lot closer to the stack that IBM released.
I seem to remember that someone said that my USBCOM.SYS hangs the system. I also seem to remember that the AN driver is "fitted" to the AN USB stack as that has turned the inter driver interface to 32-bit and therefore requires the USBCOM.SYS to also have a 32-bit inter driver interface (in other words: they gave up on compatibility and implemented their own proprietary interface).
I think, a ticket to AN is the best choice. If mode.com returns "drive not ready" that likely indicates USBCOM.SYS properly detects the device but fails on the OPEN call or some such. Should be debuggable though.
-
Thanks Dave and Lars,
You are both correct. I looked at the OS2World Wiki to see what worked and purchased from that. And what is listed there probably worked for OS/2 and maybe even eComStation - if I hadn't updated ecs with the latest USB stuff from AOS.
I did submit a ticket and David Azarewicz confirmed my adapters will not work, and also pointed out there is a list of working usb to serial adapters on the Arcanoe wiki.
So I chalk this to my bad for not looking at the right information.
Thanks everyone for your help.
-
Have to remember that Arca Noae did some major changes to the USB stack to support XHCI (USB3). Might want to test with Lars's stack, which I think is a lot closer to the stack that IBM released.
I seem to remember that someone said that my USBCOM.SYS hangs the system. I also seem to remember that the AN driver is "fitted" to the AN USB stack as that has turned the inter driver interface to 32-bit and therefore requires the USBCOM.SYS to also have a 32-bit inter driver interface (in other words: they gave up on compatibility and implemented their own proprietary interface).
I think, a ticket to AN is the best choice. If mode.com returns "drive not ready" that likely indicates USBCOM.SYS properly detects the device but fails on the OPEN call or some such. Should be debuggable though.
What I was thinking is that the usbser.sys might play more nice with your stack. Seems it does support Doug's chipset and even David A. suggested trying usbser.sys.
Another question is whether the source for usbser.sys is in the DDK sources. Unluckily I never downloaded the USB sources before IBM removed them.
-
usbser.sys is contained in the DDK toolkit sources. The DDK sources can be found at multiple places in the internet.
-
Have to remember that Arca Noae did some major changes to the USB stack to support XHCI (USB3). Might want to test with Lars's stack, which I think is a lot closer to the stack that IBM released.
I seem to remember that someone said that my USBCOM.SYS hangs the system. I also seem to remember that the AN driver is "fitted" to the AN USB stack as that has turned the inter driver interface to 32-bit and therefore requires the USBCOM.SYS to also have a 32-bit inter driver interface (in other words: they gave up on compatibility and implemented their own proprietary interface).
I think, a ticket to AN is the best choice. If mode.com returns "drive not ready" that likely indicates USBCOM.SYS properly detects the device but fails on the OPEN call or some such. Should be debuggable though.
The 16 bit interface is still present. It was never removed.
Roderick
-
Follow up on the USB to serial adapter situation, and various questions asked.
I was trying to get a Belkin F5U116 USB to serial adapter to work. The F5U116 adapter has 2 serial ports, a parallel port and USB hub all in one device - LSUSB.EXE lists it as two F5U103 serial adapters and one F5U002 Parallel port. The Belkin F5U109 is an USB to one serial adapter.
The Belkin F5U116 and Belkin F5U109 adapters both use the USBSER.SYS driver. Other USB to serial adapters use a different device driver, USBCOM.SYS.
USBSER.SYS did not work for those two adapters - I believe the reason is after the USB stack was updated (I think for USB 3) USBSER.SYS stopped working.
I submitted a support ticket to AOS and David fixed the USBSER.SYS device driver - at least for those two Belkin adapters. I have to mention that my experience with AOS support has been outstanding - with this ticket and with other tickets I have submitted.
Now for the other questions and comments people posted:
You list USBCOM.SYS and/or USBSER.SYS once in your CONFIG.SYS file. You can supply switches (or parameters) to both USBCOM.SYS and USBSER.SYS to specify the maximum number of ports the driver should support, along with the starting port number. Supplying the starting port number can be important if you have both USBCOM.SYS and USBSER.SYS and or other serial port drivers loaded at the same time - such as COM.SYS or QCOM.SYS. The device drivers attempt to ascertain the first available com port but can get fooled by other device drivers - see below.
Some time after I started this adventure I picked up an 8 port serial port PCI card made by QuaTech. QuaTech has OS/2 drivers - they were on the CD that come with the card. All 8 com ports on the card share a single interrupt and it appears the card negotiates the interrupt to use at boot up.
I also have a serial port built into my ASUS motherboard that can be set in BIOS to either the standard COM1 or COM2 port and interrupt.
I mentioned earlier I had an ACECAT tablet that uses the ACECAD.SYS driver. Martin asked if the driver/tablet will work with the USB to serial adapters. The answer is no. It also will not work with the QuaTech 8 port card, and I suspect it is for the same reason. The ACECAD.SYS driver appears to talk directly to the serial port hardware. You can specify to the device driver COM1 or COM2 but not the address or interrupt. It also works without COM.SYS being loaded, so it must be talking directly to the port. But it works fine plugged into the com port of the motherboard, with or without the QuaTech and/or USB to serial adapters loaded.
I did not see in the QuaTech documentation a way to specify the interrupt for the QuaTech card - but supposedly its driver (QCOM.SYS) can handle the ports on the card and ports on the motherboard, or co-exist with IBM's COM.SYS.
You can see why it can become necessary to specify the starting port number for each device driver.
I believe there is a limit of 16 com ports for OS/2.
I tested and am using the USB to serial adapters for non modem devices. I had to add the /DCD switch to the USBSER.SYS and USBCOM.SYS lines in CONFIG.SYS to get my device to work correctly.
Thanks everyone for your help and comments. And I want to again mention how great Arcae Noae's support system has been for me.
-
Hi Doug,
Is your ACECAT tablet the same as the ACECAD D-Series digitizer? If so could you post your ACECAD.SYS driver.
Thanks.
-
I don't know about the D-series. The driver works with AceCat III tablet, and the AceCad A1212 tablet.
I have attached the driver, along with some instructions. My memory is the install fails, or screws up, when making changes to CONFIG.SYS so you really need to manually edit CONFIG.SYS to get the tablet and mouse to work together. The instructions are in the zip file.
Good luck
-
Hi Doug.
Thanks for attaching the driver. I was comparing it to hobbes, and now I have three different version of it uploaded to hobbes. (ACECAD)
Sorry to have more questions.
So, If I get it right you have the following devices:
- Belkin USB to Serial (F5U116 id 050d:0103)
- Belkin USB to Serial Adater (F5U109 id: 050d:0109)
and now also:
- QuaTech 8 port serial port PCI card.
USB to Serial
I tested and am using the USB to serial adapters for non modem devices. I had to add the /DCD switch to the USBSER.SYS and USBCOM.SYS lines in CONFIG.SYS to get my device to work correctly.
Did you make any of your serial devices to work? Which seria devices did you tested, since the ACECAD do not work?
QuaTech 8 port serial port PCI card
Which model it is? the ESC-100D or ESC-100M, or some other one?
Here are the ref with the models: http://web.archive.org/web/20030207224443/http://www.quatech.com/comm_main.htm#pci
Is the QuaTech 8 port serial port PCI card you got working now for your "IBM 6094-20 Lighted Program Function Keyboard (LPFK) " ??
Or you are still trying to make it work?
Regards
-
At this point I have tested:
- Belkin USB to Serial (F5U116 id 050d:0103)
- Belkin USB to Serial Adater (F5U109 id: 050d:0109)
and
- BENFEI USB to Serial Adapter, USB to RS-232 Male (9-pin) DB9 Serial Cable, Prolific Chipset, PL2303 chip
The BENFEI is a PL2303 chip and works with USBCOM.SYS. It was $10 on Amazon. The Belkins work with the updated USBSER.SYS driver.
I have tested them all and they work with my IBM 6094-20 LPFK. None of them work with the ACECAD tablet.
The QuaTech 8 port serial card I purchased and tested is actually branded by HP. It is listed as
HP Quatech RoHS 8-port RS-232 Serial 830-3105-00F-G PCI Card with Low Profile Bracket 9052-07092
at https://www.ebay.com/itm/332629812377. I am not sure which QuaTech model it is, but I have supplied the model
ESCLP-100 to the driver in CONFIG.SYS and it works. The driver wants to know which card it is driving and you supply that by a parameter in CONFIG.SYS. My line reads
DEVICE=c:\os2\boot\qcom.sys (ESCLP-100,2) /L
The ,2 means start at com port 2.
If I am also using one of the USB to serial devices I specify them to start at COM10. For example
DEVICE=C:\OS2\BOOT\USBSER.SYS /V /M:2 /N:COM10 /DCD
Which means with this configuration I am currently running with 11 com ports: COM1 on the motherboard, COM2-COM9 on the QuaTech board, COM10-COM11 on a Belkin USB to Serial adapter.
The QuaTech works with the LPFK; it does not work with the ACEDCAD tablet.
The document for the QuaTech driver says it works with all Quatech PCI, ISA, Micro Channel and PCMCIA adapters, and will work with chipsets built into motherboards. The driver(s) consist of a QCOM.SYS intended to replace IBM's COM.SYS and VQCOM.SYS intended to replace IBMs VCOM.SYS. The specific models mentioned in the doc are: DSC-100, DSC-200/300, QSC-100, QSC-200/300, ESC-100D, ESC-100M, SSCLP-100, SSCLP-200/300, DSCLP-100, DSCLP-200/300, QSCLP-100 and QSCLP-200/300
The AceCad tablet does work, but only when connected to the com port on the motherboard. My guess is that is because the driver wants a specific interrupt and address for COM1 or COM2 The ACECAD.SYS driver I have loaded is dated 1-07-98 size 4,227. I believe I got that off of a floppy that came with the tablet.
I ultimately have 5 serial devices I need to connect and right now it looks like I can connect all 5: 1) IBM 6094-10 Dials, 2) IBM 6094-20 LPFK, 3) ACECad tablet, 4) fax modem, and 5) JV Digital Engineering XTB-232, which is a RS232 to X10 (CM11A protocol) adapter for X10 home automation.
-
Thanks for the explanation Doug.
I will be including some of this on the OS2World Wiki
I ultimately have 5 serial devices I need to connect and right now it looks like I can connect all 5: 1) IBM 6094-10 Dials, 2) IBM 6094-20 LPFK, 3) ACECad tablet, 4) fax modem, and 5) JV Digital Engineering XTB-232, which is a RS232 to X10 (CM11A protocol) adapter for X10 home automation.
You have quite a "Serial Monster" there. ;D ;D
Regards