DOS drivers for USB

I'm looking to use a small form factor PC (see PDF) that runs code under DOS 6.22. There is no windows or other OS installed. What I would like to do is to use a memory stick on one of the USB ports to off load data from the system.

I currently use a ZIP drive on an IDE interface for the same function (which works well) but getting rid of the ZIP drive would be a move in the right direction and would reduce power consumption.

I have looked around and there seems to be several ways of potentially doing this. One uses USBASPI.SYS and DUSE.EXE but all the examples I can find on the net all veer off towards CDROM drives and I'm having trouble de-cyphering what's going on in the config.sys and autoexec.bat file examples.

Anybody got any experience of this sort of stuff?
VSX-6152.pdf
Mark PrestonSystems EngineerAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

JT92677Commented:
The motherboard has USB 2.0 support, so you might find that the BIOS has "legacy USB support" and the ability to allow you to boot from a USB drive.

Maybe this will allow you to make some progress.

0
Mark PrestonSystems EngineerAuthor Commented:
I don't want to boot from the USB drive - I'll have 512M of disc on module for that. The system gathers data over a period of time (It's a remote logging system - solar powered) and on periodic visits I want to pop a data stick in the usb port (reboot probably) and copy the data off the system and remove the data stick.
0
JT92677Commented:

The warning/caveat seems to be these do NOT support hotplug, so you have to boot with the USB device attached, or so they say.

In config sys
device=USBASPI.SYS /w /v   (put in the right path to USBASPI.SYS)

/w

Wait, displays prompt message to allow swapping/attaching of target USB device

/v Verbose, shows USB details - excellent troubleshooting tool

In verbose mode. USBASPI displays details on controller type and USB devices it detects. It displays the vendor & product ID codes, the controller address range (memory map or I/O port map) of controllers, and the connection speed code for each device.

The link to download the Panasonic version 2.20 driver is
http://hddguru.com/download/software/USBASPI-MS-DOS-Driver/usbaspi-v2.20.zip

More information is here:
http://www.computing.net/answers/dos/usb-mass-storage-driver-for-dos/15416.html

Maybe this will help.

Jeff
0
HTML5 and CSS3 Fundamentals

Build a website from the ground up by first learning the fundamentals of HTML5 and CSS3, the two popular programming languages used to present content online. HTML deals with fonts, colors, graphics, and hyperlinks, while CSS describes how HTML elements are to be displayed.

jjjtuohyCommented:
A USB stick booted to DOS, can be removed and plugged back in without any issues because it is not polled unless the user runs a command.

To work, you will need to stop the system from trying to access the stick when it is unplugged OR add error handling.
0
Mark PrestonSystems EngineerAuthor Commented:
Well something is working... I get the screen shot as shown but it doesn't give me a drive letter as I was expecting. The light on the datastick flashes so DOS is seeing the device. How do I get a drive letter for the device?

Thanks

Mark
DSCN2524.JPG
0
Mark PrestonSystems EngineerAuthor Commented:
The 'bad command or file name' at the end is just a rem'd out batch file that boots the actual logging application.
0
jjjtuohyCommented:
check if it is emulating the a: drive
0
Mark PrestonSystems EngineerAuthor Commented:
No it isn't - it just hits the floppy drive if you type a:
0
jjjtuohyCommented:
Let me think about this.
You want the OS on the pc's ram not the stick.
When we boot the key to dos we map a drive to the key.
I wonder if we can do this when booted to the pc.

I use a program called Himalaya to enumerate attached USB sticks and map them to a drive letter.
I cannot upload the utility i use because it is a *.exe but I wonder if you can find one in the wild.

You could try booting the system with the USB key attached so that it assigns a drive letter (hopefully) or try this in config.sys
device=Boot\emm386.exe noems
device=Boot\USB\USBASPI.SYS
device=Boot\USB\Di1000dd.SYS
0
Mark PrestonSystems EngineerAuthor Commented:
When I boot the system I have the stick attached - and it comes up as per the screen shot further up the page. No drive letter assigned.

What is Di1000dd.sys?
0
jjjtuohyCommented:
ASPI DISK DRIVER
0
Mark PrestonSystems EngineerAuthor Commented:
I get 'bad or missing file' for the three lines

device=Boot\emm386.exe noems
device=Boot\USB\USBASPI.SYS
device=Boot\USB\Di1000dd.SYS

I put Di1000dd.SYS in the root
0
jjjtuohyCommented:
I could give you the Dell utility Himalaya but I cannot upload exe's
0
Mark PrestonSystems EngineerAuthor Commented:
Can you not re-name it? Maybe that's not allowed either. Alternatively I could post my email address - but is that allowed? I don't want to break any rules. I have had a quick search on the web and didn't come up with anything.

Why do you think I am getting the 'bad or missing file'? What exactly is device=Boot\....... trying to do?
0
jjjtuohyCommented:
Sorry, I was in a rush there:

USBASPI maps mass storage devices to ASPI devices
Di1000dd maps the USB hard drive to a drive letter in DOS

Add the following to the CONFIG.SYS file on the PC.
Try it first with only the last three lines

FILES=30
BUFFERS=30
STACKS=9,256
DEVICE=USBASPI.SYS /v /noprt /L=6
DEVICE=DI1000DD.SYS /h0
LASTDRIVE=Z
0
Mark PrestonSystems EngineerAuthor Commented:
Now we seem to be getting somewhere...

Now what I get is

read error in partition read
read error in boot sector read

I think that is because the drive is an 8G one and formatted in FAT32.

I'll dig about tonight and see if I can find a small stick and format it in FAT and see if that changes anything
0
jjjtuohyCommented:
512MB or less
0
jjjtuohyCommented:
eg this should allow you to access a USB cd drive mapped to d:

config.sys
  DOS=HIGH,UMB
  lastdrive=Z
  device=HIMEM.SYS
  devicehigh=USBASPI.SYS /v /w /e
  devicehigh=DI1000DD.SYS
  devicehigh=USBCD.SYS /d:USBCD001

autoexec.bat
LH MSCDEX /d:USBCD001
0
jjjtuohyCommented:
0
Mark PrestonSystems EngineerAuthor Commented:
Right... got a 256M data stick and formatted it in FAT. DOS sees it OK and even assigns it a drive letter (D:) so all looks good. However if I try and access the drive then the PC crashes and re-boots.
DSCN2528.JPG
0
jjjtuohyCommented:
Try formatting the stick as a bootable drive in FAT16.
Do you have a partition utility like gdisk to examine the partitions?
0
jjjtuohyCommented:
For the stick, look up the HP utility SP27213.exe
0
Mark PrestonSystems EngineerAuthor Commented:
The utility works fine  however I still can't access the drive - does exactly the same as when formatted under XP
0
JT92677Commented:
In the BAT file with MSCDEX, add the switch /L:  to give the device a "Logical drive letter"  -- for example

LH MSCDEX /d:USBCD001  /L:F

The default is the "Next available block device letter" but you can change that with the /L:x   switch  where x is the drive letter.

As another pointed out, DOS is most likely going to work best (or only) with FAT16 formatted devices.

After the device is mounted to a drive letter, can you use the DOS FDISK to see the partition(s) on the stick? If so, you might be able to delete the non-dos partition, create a partition, and format it with the DOS FORMAT utility.


0
Mark PrestonSystems EngineerAuthor Commented:
I dont have MSCDEX in the bat file. It sounds like a CD driver - and I don't have a CD drive
0
Mark PrestonSystems EngineerAuthor Commented:
DOS FDISK just puts up a banner saying 'Waiting for system shutdown' and hangs there forever. So does Format d:

I've included the Autoexec.bat and config.sys in case there are things in there that there shouldn't be.
AUTOEXEC.TXT
CONFIG.TXT
0
JT92677Commented:
Mopor wrote " I dont have MSCDEX in the bat file. It sounds like a CD driver - and I don't have a CD drive"

jjjt... suggested:

config.sys
  DOS=HIGH,UMB
  lastdrive=Z
  device=HIMEM.SYS
  devicehigh=USBASPI.SYS /v /w /e
  devicehigh=DI1000DD.SYS
  devicehigh=USBCD.SYS /d:USBCD001

autoexec.bat
LH MSCDEX /d:USBCD001

Notice the reference to MSCDEX here. It looks like a fakeout to treat the USB drive referenced in USBCD.SYS as another kind of block device that can be handled by MSCDEX.

My comment was to add a logical device letter to the MSCDEX command.

MSCDEX is referenced in other articles discussing the interfacing of a USB device in DOS, but you're right, it USUALLY refers to a CD, but a CD is just a block device, the real work is done by USBCD.SYS.

Anyway, just trying to help.

Jeff
0
Mark PrestonSystems EngineerAuthor Commented:
Got tied up with other stuff... hopefully will be back on to this tomorrow.... Thanks
0
Mark PrestonSystems EngineerAuthor Commented:
Sorry for the delay - work is getting in the way of work

That just gives me a 'bad or missing HIMEM.SYS' and an 'error in config.sys line 3'
0
JT92677Commented:
You can remove the HIMEM.SYS line  (put a REM at the beginning of the line)

Then change all the "Devicehigh=" to simply "Device="

The himem.sys and devicehigh parts are not critical, just trying to push as much code into high memory as possible, but you can test without worrying about memory issues.

Jeff
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
jjjtuohyCommented:
Sorry, I was away from this thread for so long.

I found a superb article on:
http://www.computing.net/answers/dos/usb-driver-for-dos-usbaspisys/15568.html
It covers switches, driver links, examples and roubleshooting.


Here are useful excerpts: To detect your USB Mass storage device (.e.g. a USB 2.0 external hard drive) put this line in your boot diskette CONFIG.SYS file
device=USBASPI.SYS /w /v

If you want specify the "L" drive letter for a storage
device, try:
device[high]=[{path}]di1000dd.sys /dL

If the USB devices are already plugged upon power up and you want to enable only the high-speed USB controller and external hard disk drives, try
device=USBASPI.SYS /e /v
device=DI1000DD.SYS



If you have only a single USB port and no internal floppy, use this CONFIG.SYS combination:
device=RAMFD.SYS
device=USBASPI.SYS /w /v /r


If you have a notebook with a USB optical drive, install the ASPI CD-ROM device driver after loading USBASPI.SYS in CONFIG.SYS like this:
device=USBASPI.SYS /w
device=USBCD.SYS /d:USBCD001


and in AUTOEXEC.BAT:
MSCDEX /d:USBCD001


If you want to connect a USB 2.0 optical drive and a USB 2.0 external hard disk simultaneously, put these in the CONFIG.SYS file: device=USBASPI.SYS /e /w
device=USBCD.SYS /d:USBCD001
device=DI1000DD.SYS

and in AUTOEXEC.BAT:
MSCDEX /d:USBCD001

For troubleshooting USB connections, install all your devices and boot from your diskette with this in CONFIG.SYS:
device=USBASPI.SYS /v







0
Mark PrestonSystems EngineerAuthor Commented:
Thanks for trying guys, the more I play the more errors I get and am certainly getting no closer to a working  solution. I don't think I understand enough about what's going on to make best use of your suggestions so I think for now I'm going to have to admit defeat and see if I can find a working solution somewhere and modify it.

Thanks again for trying

mopr
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
System Utilities

From novice to tech pro — start learning today.