Computing.Net > Forums > Disk Operating System > Accessing ext USB2.0 storage in DOS

Computer Problems? Computing.Net has over 1,000,000 posts about all things technology related! Over 90% answered within 24 hours! Click here to start participating now! Also, be sure to check out the New User Guide.

Accessing ext USB2.0 storage in DOS

Reply to Message Icon

Name: madmaxUSB
Date: September 1, 2003 at 02:37:13 Pacific
OS: DOS
CPU/Ram: P4/512MB
Comment:

The USBASPI.SYS Panasonic(TM) USB to ASPI driver v2.06 Reference
Rev 3.1
===========

For a brief history on how I got to research on this very useful driver, check out

http://www.computing.net/dos/wwwboard/forum/13447.html

===========
Description: USBASPI.SYS

File size : 37,903 bytes
File date : 27 Nov 2002

Supports UHCI/OHCI (USB 1.x) and EHCI (USB 2.0) and is compatible with many USB implementations from major chipset manufacturers like INTEL, VIA, NVIDIA, SiS, NEC and TI for most integrated, onboard, PCI bus or CardBus USB 2.0 host controllers.


===========
Download Sources:

The USBASPI.SYS driver is primarily supplied with portable USB 2.0 drives from Panasonic and available in the Japanese market. Here is a Japanese link for the manufacturer's self-extracting drivers:

http://panasonic.co.jp/pcc/products/drive/other/f2h_usb.html

Follow the link to download F2H_USB.exe - these are Japanese files for a startup disk creation tool for their various USB optical drives on popular Japanese portables. USBASPI.SYS is extracted from the F2H subdirectory, and is tested compatible with English version DOS.


===========
Uses:

When used in conjunction with an ASPI Mass Storage Driver, it allows USB storage devices to be accessible in DOS. This is particularly useful in drive cloning, partition resizing and image backup utlities that need to run in DOS mode (e.g. emergency disks for GHOST 2003, Partition Magic, etc...) Examples of USB storage devices are:
1. external hard disks
2. removable storage like Zip, Jaz, LS-120, and floppy drives
3. flash memory like pen drives, or memory cards in USB card readers

Furthermore, with a USB CD-ROM Driver, it allows USB optical drives (like DVD-ROM, CD-ROM drives, and (re)writers) to be used in DOS after MSCDEX extensions are loaded. This makes it possible to install burned images or Operating Systems onto newly formatted systems or replacement hard drives.

Advantages over other drivers for USB storage in DOS:
1. Support for USB 2.0 as well as USB 1.x (There are many other files named USBASPI.SYS but most are actually limited to USB 1.1 devices).
2. Compatible with many USB chipset implementations, including Intel, NEC, VIA, NVidia and SIS - onboard, PCI bus, Cardbus.
3. Automatically obtains configuration parameters from Motherboard PnP/ PCI BIOS to minimize difficulties with I/O, Mem and IRQ mapping.

============================================
NOTE: USB support in DOS is considered experimental!
Most hardware manufacturers do NOT provide support for their USB DOS drivers.
============================================

Recommended Usage:

> To detect and map your USB mass storage device to an ASPI device, add this line to your boot diskettes' CONFIG.SYS file

device=USBASPI.SYS /w /v


===========
USBASPI.SYS Switches:

Here are the known valid switches identified so far with the Panasonic(TM) v2.06 USBASPI.SYS driver in CONFIG.SYS

device=[{path}]USBASPI.SYS [/e] [/o] [/u] [/v] [/w] [/r] [/l[#]] [/f] [/slow] [/nocbc] [/norst] [/noprt]

You can specify more than one controller type (e.g. /e /u). This switch can also be used to force slower speed operation on high-speed USB controllers & devices.
The driver will scan for all types of USB controllers, so use these switches to specify which port types to enable. This allows for faster USB scanning. By specifying /u or /o and omitting /e, it forces Full-Speed mode on High-Speed devices. But a Low-Speed (LS) or Full-Speed (FS) device cannot be made to run at High-Speed (HS).
/e EHCI, for enabling only USB 2.0 controller
/o OHCI, for enabling only add-on/onboard USB 1.1 controller
/u UHCI, for enabling integrated USB 1.1 controller

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.
/v Verbose, shows USB details - excellent troubleshooting tool

These switches modify driver actions
/w Wait, displays prompt message to allow swapping/attaching of target USB device
/l# Luns, to specify highest number of LUN assigned, default /L0
/slow to enter SLOW down mode, gives longer delays when scanning USB devices
/nocbc for NO Card Bus Controller, to disable detection of USB on CardBus slots
/norst for NO ReSeT, this is useful when legacy USB devices (e.g. a USB keyboard or mouse) had been pre-initialized by the BIOS so by preventing a USB reset, these devices would still function after USBASPI.SYS has loaded.

This switch is typically used on portable systems with an external USB floppy drive connected to the single USB port for boot-up. Used in conjunction with RAMFD.SYS so after the boot floppy is copied to a RAM drive, (and after the /W pause...) the USB floppy can be removed, and the target mass storage device can be attached and detected
/r Resident, allows driver to stay resident in memory when USB floppy drive is detected.

There are a number of switches whose specific function is still unknown. Please post your discoveries in the USBMAN end-user forum, or the Computing.Net DOS forum.
/noprt - Have found that on some systems with USB on Intel chipset (1.1 or 2.0), if UHCI is normally I/O mapped, using this switch causes USBASPI.SYS to "hang" while detecting host controllers. Could it be to force I/O port addressing mode?
/f
/p=xxxx - As per F2H documentation, this sets the I/O port address, but have been unable to get this to work on standard desktops. Could it be for CardBus?


===========
Other Useful Files:

The USBASPI.SYS driver is also available from this link:

http://panasonic.co.jp/pcc/products/drive/other/driver/f2h_usb.exe

It is a Windows self-extracting file format. Besides USBASPI.SYS in the F2H subdirectory, some other useful drivers are:

USBCD.SYS v1.00 from Panasonic, USB CD-ROM device driver
RAMFD.SYS v1.01 from Panasonic, copies boot floppy disk contents into a RAM disk, write protects and remaps the RAM disk drive letter.


Since USBASPI.SYS just maps a USB storage device to an ASPI device, an additional driver is needed to map the ASPI mass storage to a DOS drive letter.

For magnetic or flash storage, the "Motto Hairu" driver includes this important piece, and can be downloaded from:

http://www.driver.novac.co.jp/driver/Mhairu_351u_drv/mhairudos.zip
http://www.stefan2000.com/darkehorse/PC/DOS/Drivers/USB/mhairu.zip

UnZip the file to get these files (the latter has an english translation readme file)

DI1000DD.SYS v2.00 from Novac, ASPI Mass Storage Device Driver {reportedly drive needs to be ATA66 or faster)


In case you have compatibility problems, there are some similiar drivers here

http://www.datoptic.com/Drivers/DAT.exe

This image file creates a bootable diskette that supports USB and firewire in DOS. Of relevance are these drivers:
USBASPI.SYS v2.01 from Medialogic Corp, is very similiar but less-featured version than Panasonic's USBASPI.SYS.
NJ32DISK.SYS v1.06 from Workbit Corp. is very similar to Novac's DI1000DD.SYS.
SBP2ASPI.SYS v1.02 from Medialogic Corp provides ASPI mapping of Firewire storage devices.


===========
Examples:

If you want to enable only the high-speed USB controller and the mass storage drive, try

device=USBASPI.SYS /e
device=DI1000DD.SYS


If you have only a single USB port and need to boot from a USB floppy first and then switch to the USB hard drive, use this CONFIG.SYS combination:

device=RAMFD.SYS
device=USBASPI.SYS /w /r
device=DI1000DD.SYS

With a CD-ROM drive, install the ASPI CD-ROM device driver after loading USBASPI.SYS in CONFIG.SYS like this:

device=USBASPI.SYS /v
device=USBCD.SYS /d:USBCD001

and in AUTOEXEC.BAT:

MSCDEX /d:USBCD001

If you want to connect a USB 2.0 optical drive and an external USB2.0 hard disk simultaneously, put these in the CONFIG.SYS file:

device=USBASPI.SYS /e
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 /w /v


===========
Thank you to members of the DarkeHorse, Computing.NET and USBMAN forums for sharing their knowledge and experiences.


===========
Important Notes:

There are other USB 2.0 DOS drivers released on the web, but were found to have a number of limitations in terms of compatibility and configuration:

1. DATOptic's Speedzter supports USB 2.0 & Firewire - their DOS driver seems to be the next best driver in terms of compatibility and functionality.
2. Cypress(TM) DUSE (ver 4.4) supports USB 2.0 and offers many options but seems to have issues for I/O port address or Memory address settings - particularly a limit on the address space range.
3. Iomega(TM) USB & Firewire drivers also support USB2.0 (via ASPIEHCI.SYS) and is also used in Norton/Symantec GHOST but has limited compatibility.


Your boot OS determines what kind of partitions will be supported in your USB device. For FAT32 support, use the DOS boot disk for Windows 98 (MS-DOS 7.10) or the Windows ME Emergency Boot Disk (MS-DOS 8.00). You can add support for long file names using special drivers. Check out these site for relevant links - http://www.opus.co.tt/dave/utils.htm


On the still unknown switches:


/f - does NOT seem to be speed related (as in full-speed or fast device detection). Suspect it could be for "floppy" or "flash memory" devices ...



Sponsored Link
Ads by Google

Response Number 1
Name: madmaxUSB
Date: September 1, 2003 at 02:40:03 Pacific
Reply:

Troubleshooting USB connections using USBASPI.SYS


To isolate USB hardware issue, install all your devices and boot from your diskette with this in CONFIG.SYS:

device=USBASPI.SYS /v

===========
Troubleshooting Info:

With the /v option, USBASPI.SYS provides a lot of useful info regarding the USB devices connected to a PC.

Use this info to determine if a problem is in the hardware level, or a Windows driver/configuration issue.

Example result:

Controller : 00-09-0 VID=1033h PID=0035h (3782h-0035h) OHCI
: MEM=DF000000h-DF000FFFh(4KBytes)
Controller : 00-09-1 VID=1033h PID=0035h (3782h-0035h) OHCI
: MEM=DE800000h-DE800FFFh(4KBytes)
Controller : 00-09-2 VID=1033h PID=00E0h (3782h-01E0h) EHCI
: MEM=DE000000h-DE0000FFh(256Bytes)
USB Device : HOST [00-09-2 VID=1033h PID=00E0h (3782h-01E0h) EHCI]
: |-- VID=05ABh PID=0060h HS
: |-- VID=05E3h PID=0702h HS
: ^-- 2 device(s)
USB Device : HOST [00-09-0 VID=1033h PID=0035h (3782h-0035h) OHCI]
: ^-- nothing
USB Device : HOST [00-09-1 VID=1033h PID=0035h (3782h-0035h) OHCI]
: |-- VID=066Fh PID=4200h FS
: ^-- nothing
ASPI Device : ID:0 LUN:0 = IC25N010 ATDA04-0 0811
: ID:1 LUN:0 = E-IDE CD-ROM 48X/AKU T3A

Interpretation:
1. There are 2 OHCI and 1 EHCI controllers detected. All are running in MEMory map mode (not I/O mapped) with the respective address spaces displayed.
2. Two devices are mapped to the EHCI controller. The HS indicates they are running at High Speed. VID=05ABh PID=0060h is an In-System Design (now part of Cirrus Logic) USB 2.0 ATA Bridge, while VID=05E3h PID=0702h is a Genesys Logic USB 2.0 ATA Bridge.
3. One device is mapped to the 2nd OHCI controller. The FS indicates runs at Full Speed only. ^-- nothing indicates no USB storage devices were found. VID=066Fh PID=4200h is a SigmaTel IrDA Bridge. As it is NOT a storage device, it isn't mapped to an ASPI device.

4. Two of the devices connected are detected as storage devices. Each is mapped to an ASPI ID, and it's identifier is displayed.
5. This config has an IBM 10GB notebook HD & a 48x EIDE CD-ROM drive.

Notes:
1. The actual USB devices can be identified by referring to the 2-byte Vendor IDs and Product IDs.
2. Most of the configuration is automatically obtained from BIOS PnP info. Unfortunately, USBASPI.SYS does not identify IRQ's used.


0

Response Number 2
Name: madmaxUSB
Date: September 1, 2003 at 02:52:49 Pacific
Reply:

BIOS Options affecting USBASPI.SYS

A BIOS Setup option in newer machine (circa 2002 or later) that may cause an error message:

ERROR : EHCI memory mapped I/O can not assigned

is USB Emulation = ON so try setting this to OFF if present in your machine.

Unfortunately, this may prevent use of USB mice, kbd or floppy.

=0=

BIOS Support for USB storage devices

I have tested USB boot functionality on recent system boards using the AMIBIOS 7.0 core (http://www.ami.com/support/doc/amibiosdesktop.pdf). I believe the feature is also applicable to PhoenixBIOS 4.0 (http://www.phoenix.com/en/products/phoenix+cme+firstbios/system+firmware/products/phoenixbios.htm)

The BIOS may offer one or more of the following options in its setup interface that affect USB:
• Enable/disable USB host controller
• Enable/disable legacy USB support
• Assign IRQ to USB host controller
• Monitor IRQ for APM events

This text is taken from (https://www.codidirect.com/shop/thefactsbehindbootability.htm)

" Modern BIOSes add support for USB in one form or another. The most basic support available is known as USB Legacy Device Support. This extension to the PC BIOS supports the use of a USB keyboard and mouse during the boot process. It simply means your keyboard and mouse will work as soon as the PC is turned on.

Many modern BIOS also support, in a limited fashion, the ability to boot from a USB device. Support for this feature does not automatically mean you can boot from any USB device. It means you can boot from some USB devices. Currently, for most BIOS, this means a USB floppy drive. However, some BIOS that claim to support booting from a USB hard disk contain bugs that prevent them from doing so properly, and may require patches or upgrades.

Some BIOS also support booting from a USB zip drive or CDROM but again this is an exception, not the rule.

Support in the BIOS for booting from a USB device is accomplished through "IDE Emulation". IDE Emulation lets the BIOS scan the computer's USB ports looking for actual IDE devices or devices that look like (emulate) an IDE device. So, if a BIOS supports booting from a USB floppy drive, it will look for a real USB floppy drive or another device that can emulate the behavior of a USB floppy drive. "

Note that for an OS/driver/application to take over a USB controller, it has to follow a specific protocol, as failure to do so could result in hanging.

From my tests:
1. Generally, USBASPI.SYS is incompatible with systems where Legacy USB support is enabled if the Legacy mode enables IDE/floppy emulation.
2. When USB legacy is enabled and the USB storage is set as bootable, it becomes the 1st hard drive (C:). and the internal ATAPI drive becomes the 2nd hard drive (D:)
3. When USB legacy is enabled but not the boot device, USB storage is still mapped as a typical ATAPI drive in DOS mode.

However, BIOS support seems to only allow USB 1.1 transfer rates until the OS loads a driver that properly takes over USB protocols.

=0=

Transfer rates of USB HD's

USB 1.1 allows DOS file transfer rates of about 1.25 ~ 1.39 MB/sec. This is quite close to the theoretical 12Mbps limit.

USB 2.0 allows DOS file transfer rates of about 3.3 ~ 6.5 MB/sec. This is only a fraction of the theoretical 480Mbps limit, and is attributed to current USB-IDE chips and DOS file handling limitations.

(Tested using HD's with GL811 and ISD-300A1 bridge chips on i875P based USB2.0)


0

Sponsored Link
Ads by Google
Reply to Message Icon

Related Posts

See More







Post Locked

This post is quite old and has been locked from receiving new replies. Please create a new posting instead.


Go to Disk Operating System Forum Home


Sponsored links

Ads by Google


Results for: Accessing ext USB2.0 storage in DOS

USB2.0 storage in DOS = USBASPI.SYS www.computing.net/answers/dos/usb20-storage-in-dos-usbaspisys/13288.html

USB storage in DOS - USBASPI.SYS www.computing.net/answers/dos/usb-storage-in-dos-usbaspisys/13679.html

Accessing USB storage in DOS www.computing.net/answers/dos/accessing-usb-storage-in-dos/14618.html