View Full Version : USB/Serial/DOS

21-08-2003, 09:31 PM
My work involves Serial comms sessions with Control Systems using DOS based software. Up till now no problems, we have been using ancient notebooks with dedicated serial ports. Updating to a Celeron chipped notebook with no serial port, just USB ports is proving to be a problem.

Just get a USB to Serial adaptor, install the drivers and all should be well. Not so....

Any Windows based software runs OK, just select the com port assigned to the USB/Serial adaptor and let the operating system resolve the IRQ issues and get on with it.

Using the DOS software is a different matter. Manually assign the Comm port and the IRQ, and you can setup a comms session. It seems that you can read data from the system under test but making changes and saving them causes the notebook into either a no response mode requiring a complete re-start or some lesser state, sometimes it will save one line of code and then go to a no response state.

Have tried Win 98se, 2k and XP pro with the same results. I would install a DOS partition if that would help, but DOS dosen't know what a USB port is ! On our desktop machines in the lab (with serial ports), our DOS software runs perfectly well no matter what the operating system.

Rewriting the DOS software is not an option as it is a proprietary item. We have a need to use this software for at least the next 5 years, so if we want to update our field notebooks, we need to find a solution. Otherwise I'll be buying up old Compaqs off Trade-Me for spares !!!

Can anyone suggest a Shell or Emulation prg that will allow us to work around this problem ?

Any on-topic suggestions will be gratefully received. Thanks

Robin S_
22-08-2003, 12:17 AM
This stuff is way over my head but this site has info about USB support for DOS -


22-08-2003, 12:39 AM
Thanks Robin but it looks like the Panasonic driver mentioned here is for mass storage devices, hard drives, cd writers etc. I'll still have a look for it and give it a try though.



22-08-2003, 10:57 AM
If running under XP try the compatability mode setting for the dos program. It has saved me with an old accounting program.

Dolby Digital
22-08-2003, 12:06 PM
I presume the Celerons are "latest" celerons. Is it a option to purchase second hand laptops with serial ports (you presumably have thought of that).

24-08-2003, 03:41 PM
Have tried this, anyway the applications run OK under any version of Windows, it is the interface to the USB port/outside world that is the problem.
Further investigation shows that you can connect to a system read the values but not exchange data. Sort of a one way (read only) session if you get my drift...



24-08-2003, 03:42 PM

Yes they are late model Celerons and the option of using old notebooks was covered in the original post.



24-08-2003, 03:57 PM
Would a Cardbus to serial card do the job? http://www.pcmciagear.com/productdetails1.cfm?sku=2P-PCMCIA-RS232&cats=000

Terry Porritt
24-08-2003, 05:05 PM
I think you have virtually answered your own question, since dos 'abhors' USB. :(
As far as I know the USB serial adapters will work best under Windows when connected to specific devices, but I'm not at all sure whether there are general purpose com port emulation programs around.

Just possibly the brand of USB/serial adapter may have some influence.

I found this pdf on a Belkin (http://downloads.belkin.com/support/downloads/manuals/F5u003.pdf) adapter that makes interesting reading, but doesnt answer your query.

Terry Porritt
24-08-2003, 05:28 PM
Just adding some confirmation that dos programs will not work, Ive just done a fairly extensive product search and not found any that support dos other than the Belkin "dos box support".

This site (http://www.mutek.co.uk/usb_to_serial_converters.htm), if you scroll down is typical in that is says dos programs will not work. Other products only specify different windows flavours that the devices will work with.

24-08-2003, 06:43 PM

Thanks for your efforts.

Yes, I think I've come to the end of the line with this one. The site you mention definitely says:

"Application software typically the application software must have been written or updated after Windows 98 came out and it must be calling the Windows 32bit virtual COM port driver correctly. DOS based software will not work, nor will many programs written prior to the existence of USB (first supported in Win98 and not well supported until Win98 SE (Second Edition)).

DOS programs don't work, nor do applications that bypass the Windows API and go directly to the hardware"

Further I have a home machine I use for remote work (750 Duron/Win2k) set up at present. With a USB/Serial adaptor attached, I can't even communicate to an external modem let alone dial to a site using the DOS software. This is actually worse than the problem on the new laptop, at least I have one way comms on that!

Without removing the USB/Serial adaptor, but specifying the internal modem (direct com port) I can initiate a comms session as normal. Definitely looks like an incompatability between the DOS application, Windows 32bit virtual COM port driver and the USB port as above.

Yes there are differences between brands of USB/Serial adaptors. I have one from DSE and a Prolific model. Using Windows software, they both behave well, but when pushed into the DOS environment, they behave quite differently.



24-08-2003, 06:45 PM
No PCMCIA slot either (built in 10/100 and modem). Didn't know the cardbus/serial adaptor existed, will save that one for later !


Dolby Digital
24-08-2003, 08:09 PM
>>Rewriting the DOS software is not an option as it is a proprietary item.
Have you contacted the software vendor (or don't they exist any more).

At want point did laptop manufacturers take away the serial port?

If you look in the BIOS for these "serial port less" machines, do they have an legacy serial port stuff in here?

Babe Ruth
25-08-2003, 10:20 AM

Further to the discussion on USB drivers for DOS, (this may be a little left-field...)

I don't know if this will still help you but Norton (Symantec) GHOST 2003 can access some USB devices from DOS and there are some USB DOS drivers available online from USB DOS drivers (http://service1.symantec.com/SUPPORT/ghost.nsf/docid/2001110115520325?Open&src=&docid=2000091217264225&nsf=ghost.nsf&view=docid&dtype=&prod=&ver=&osv=&osv_lvl=)
If these are any use to you ... enjoy, although they may only support mass-storage deives :-(

Other pointers for specific information on what the drivers support are:

Ghost compatibility with external USB devices (http://service1.symantec.com/SUPPORT/ghost.nsf/8f7dc138830563c888256c2200662ecd/959899a1ddbc884f8825697b000121ca?OpenDocument&sone=ghost_2003_tasks.html&stg=3∏=Norton%20Ghost&ver=2003%20for%20Windows%202000/NT/Me/98/XP&base=http://www.symantec.com/techsupp/ghost/&next=ghost_2003_contact_tscs_solve.html&src=sg&pcode=ghost&svy=)

Ghost 2003 does not list external USB or Firewire drives (http://service1.symantec.com/SUPPORT/ghost.nsf/docid/2002093011135225?Open&src=sg&docid=2000101617144125&nsf=ghost.nsf&view=8f7dc138830563c888256c2200662ecd/959899a1ddbc884f8825697b000121ca?opendocument&sone=ghost_2003_tasks.html&stg=3∏=norton%20ghost&ver=2003%20for%20windows%202000/nt/me/98/xp&base=http://www.symantec.com/techsupp/ghost&dtype=∏=Norton%20Ghost&ver=2003%20for%20Windows%202000/NT/Me/98/XP&osv=&osv_lvl=)

Updates to Norton Ghost 2003 (http://service1.symantec.com/SUPPORT/ghost.nsf/docid/2002102509582825?Open&src=sg&docid=2000101617144125&nsf=ghost.nsf&view=8f7dc138830563c888256c2200662ecd/959899a1ddbc884f8825697b000121ca?opendocument&sone=ghost_2003_tasks.html&stg=3∏=norton%20ghost&ver=2003%20for%20windows%202000/nt/me/98/xp&base=http://www.symantec.com/techsupp/ghost&dtype=∏=Norton%20Ghost&ver=2003%20for%20Windows%202000/NT/Me/98/XP&osv=&osv_lvl=)

If using the UDCI and OHCI system drivers then the CONFIG.SYS file needs to have the following lines in it (add appropriate path definitions):

DEVICE = uhci.exe
DEVICE = ohci.exe

Cheers, Babe.

Graham L
25-08-2003, 04:01 PM
The basic problem is that DOS programmes will always address 3f8, 2f8, etc hardware addresses directly, because the DOS interface (BIOS routines) were too much trouble, and slow. It's a pity that the people who wrote CPM in the 70s didn't allow for USB coming along in 1995. :D

You would have hit (just as bad, probably) problems if you had tried to uses NT base Windows, which regards the actual hardware addresses as accessible only by privileged code in the OS itself.

Can you try Linux? You might get lucky ... and at least the OS source code which handles USB is available. The Linux Journal magazine (your public library might have it) is running a series on programming for USB at the moment.