Before you start scratching your head, let me repeat that this is not related to your favorite linux distro's or Windows XP/W2K/98/ME's USB support, this has to do with people like me, booting some flavor of DOS to copy files around or using DOS-based partition back-up software.
Imagine that you want to use Paragon Drive Backup, Powerquest's Drive Image, or Norton Ghost, to backup your hard disk partitions to that nice 120gb external USB 2.0 hard disk you just bought. You can't do it. Or if your wife/husband has managed to mess up her/his system so badly that it can't boot anymore, yet she/he wants you to have a copy of those nice digital pictures stored on a compactflash card plugged into the compactflash reader?. No way, Jose. Not from DOS, used to be the phrase.
Well, now you CAN.
The minor miracle here is using a driver file called "USBASPI.SYS" ("Panasonic v2.06 ASPI Manager for USB mass storage"). Given the right parameter incantations, this 16-bit Panasonic-developed DOS driver will let your system boot good-old DOS -any flavour, maybe even Caldera's OpenDOS and recognize all USB devices connected to the respective controllers. So this USB device identification is also useful for debugging/troubleshooting purposes.
However, it should be noted that this driver will only map mass storage devices like external hard disks, cd- roms, cd-rw, dvd-rom, zip, jaz, ls-120, and flash memory to ASPI devices. Then you need an elusive "ASPI mass storage driver" to map HDs and flash disks it to a drive letter in DOS. This one goes by the name "di1000dd.sys", commonly referred to as the "Motto Hairu USB Driver". Don't ask why, it's called that, I don't know.
Before you continue reading and decide to go out and do "bad things" let me mention that legalese on the Panasonic site most probably prevents you from downloading and using this driver on non-Panasonic devices, yet according to reports that are floating around on the Interweb, people have been able to use these "universal drivers" on a wide range of systems with different USB connectivity, UHCI, OHCI, and USB 2.0's EHCI with the NEC chipset.
The Panasonic DOS drivers seem to work on most USB chipset implementations, including Intel and NEC, as well as NVidia, VIA, and SIS. It seems Panasonic engineers didn't want to have to write a driver every time for every different chipset, so they wrote this "universal" driver to work with all possible USB controllers.
Now the hairy details for DOS old-timers like myself who actually enjoy editing config.sys [Cough. Ed.]:
The driver switches you can use are: device=(path)USBASPI.SYS [/e] [/o] [/u] [/w] [/v] [/l[=n]] [/f] /r] [/slow] [/nocbc] [/norst] [/noprt]
The driver scans all three USB controller specs by default, but you can limit which controllers are enabled using these switches:
/e EHCI spec (USB 2.0)
/o OHCI spec (newer USB 1.x)
/u UHCI spec (older USB 1.x)
And so far I learned what these switches mean:
/w Wait, displays text message for attaching or swapping USB devices
/v Verbose, shows status messages - recommended
/l[=n] LUN, specifies highest LUN # to be attached to device ID (default=0)
Example config.sys and autoexec.bat files on a DOS boot diskette with USB support for an usb cd-(rom/rw) and hard disk look like this:
rem The following line loads Panasonic's universal USB- controller driver
devicehigh=USBASPI.SYS /v /w /e
rem the following is an aspi mass storage driver for usb- connected HDs and compactflash memory cards
rem The following one loads CD-ROM driver
REM the following line adds a drive letter to the usb cd(rom/r/rw) mounted
LH MSCDEX /d:USBCD001
The Panasonic driver also seems to recognise some TI cardbus controllers, making it possible to use USB peripherals attached to USB (even 2.0!) Cardbus cards. Your mileage might vary. Knowledge of the Japanese language might be required to read and understand the Panasonic licence agreement or the cease-and-desist letters. Explore at your own risk.
Comments? Drop me a line here. µ
Another week of Google news in brief
It was nice knowing you, sort of
Third time unlucky
Customers are unable to make payments or transfer money