USB key read-only in DOS.. how to make it writable?

Started by redfox, December 10, 2009, 11:49:40 AM

Previous topic - Next topic



I created a bootable USB key (Kingston Data Traveller II) with the HP tool and MS DOS 6.22 files.
That's ok, the "drive" is bootable using PLoP Boot Manager.

But, when I try to write anything to the USB key in the DOS environment, I end up with the drive read only error. This is bad, because i wanted to store a partition backup file to the USB key using Norton Ghost.. impossible.
When I tried to disable the original driver and load another one, the USB stick became unrecognized after loading plpdisd.exe and nothing could be done after that.

Well, do you have a USB driver, which is capable to perform both read and WRITE operations on the USB stick?

Thank you.


if you create a ram disk and move all dos files there and then run plpdisd.exe, then you should be able to load another dos usb driver.



Well, sounds quite complicated... I think that the file config.sys (which assignes the USB driver to a device in this case) is loaded in the first line, before the dos files can be copied to a ram drive.

Does your USB driver act as a "CD rom driver", in order to be capable to run at systems not supporting USB boot in Bios?


there is a program (at the moment i can't remember the name) that loads device drivers (like the config.sys) from the command line.

no, my driver does not support usb cdroms


I'll try to get over it... thanks


Quote from: redfox on December 10, 2009, 14:29:24 PM
I'll try to get over it... thanks
Sorry to bug you ... I'm trying to do just the same (i.e., booting from USB via PLoP and then using the same USB key to write on it), but failed miserably in all attempts. What happens to me is that:
1) quite often, while copying several  files from the USB key (still managed thru PLoP) to a RAm disk, the copy stops in the middle of it and I have to reset the PC;
2) even when I successfully end the Autoexec.BAT processing, disabling the PLop driver and then trying another USB driver makes the USB key unreachable.

(using a 1GB USB key with FreeDOS on an old Siemens PC with a 1GHz Intel CPU and a 1.0 USB interface)

Point 1) is what troubles me most ...


Michele Montagni


aismike, I have been working on this problem for two days... got all the available driver launchers (ctload, devlod, devload), tried also my USB driver UHCI.exe..

Copying to a ramdrive was OK.
Disabling the original driver too.

But then, problems occured. Either the driver said "Unknown DOS version" (although I tried different versions) [maybe it could not find the original io.sys, and msdos.sys, because they were stored on the USB stick, before the plpdisd.exe disabled it - these system files are hidden, so can not be copied to a ramdrive under ODS), or

The other problem was, that the drivers could not detect my USB stick at all (as you wrote) [USBASPI.SYS and the others]. When I tried to execute uhci.exe (usb driver too), the system freezed. Maybe there is something the original loader from plop loads into memory, which prevents to do such changes (like the extended memory driver, bc. the himem.sys can't be loaded too - error message another ext. memory driver already present, so even mscdex won't load into extended memory).

This is very strange, but I would really like to get it working. Norton Ghost 2003 detects the USB stick, even if I don't want to write the image on it, and shows the warning, that he wants to mark new drives (the USB stick). Even if I change the location of his errorlog.txt to a HDD, which is writable, it always ends with a general exception, because he want to write the "mark" information to the boot sector of the USB stick, which is read only.
If I use a new HDD for backup (to), he does not mark it either, which can lead the new image to be not bootable (the "mark" feature is not only a license protection tool, but it has a real role in the imaging task).

I wonder, why the original PLoP USB driver is not able to make the USB stick writable. It's a question to the authors.

P.S. Try to increase the RAM drive size, and load it into extended memory, if you did not (/E switch).


Quote from: redfox on December 11, 2009, 16:29:55 PM
I wonder, why the original PLoP USB driver is not able to make the USB stick writable. It's a question to the authors.

there is only one author.

the driver is read only because of some size limitations i implemented only the most required things. i have to put 4 drivers (ide cdrom, usb uhci ohci and ehci) and all the other stuff into the boot manager and this all have to fit into 60 sectors (yeah, great) for the harddisk installation. it would be possible to make different versions that are specialized for ex. usb ehci with many features but this would confuse too much. i like to have all in one version. however write access is primary dos related.  linux and windows don't have this problem.

maybe i make an extra driver to load it from dos to provide write access, but i am thinking to sell it for a few euros/dollars. i don't know, maybe it became freeware too.



Quote from: Elmar on December 11, 2009, 17:44:38 PM
maybe i make an extra driver to load it from dos to provide write access, but i am thinking to sell it for a few euros/dollars. i don't know, maybe it became freeware too.

Emar, I'm ready to pay !!! ;-)))

Seriously, your idea of PLoP is so good that it really merits success, so having the ability too boot a USB stick via PLoP
on a USB1.0 machine and having it WRITABLE would be the
perfect solution for a lot of people who still hang to (or don't
have the money to upgrade ...) this kind of machines.

A suggestion: the current best effort to support USB in a DOS
environment seems to be Bret Johnson's ( : why not getting in touch with him and join forces for the complete solution ?

Best wishes and thanks for a great piece of software.

Michele Montagni


Yes, how make writeable USB? I make tests with USB-SD reader:

1. Format SD 16MB with HP tool (DOS files)

2. Try boot from PLOP USB

PC boot to MS-DOS OK but no access write. I test some other PC's with USB boot from BIOS.

ThinkPad X61 boot from Phoenix BIOS USB 2.0 - write access OK
Abit BF6 (coreboot) boot from coreboot v4 USB 1.1 - write access OK
Soltek SL-75DRV4 boot from AWARD BIOS USB 1.1 - write access OK
Abit BF6 (coreboot) boot from PLOP USB 1.1 - no access write!

Press F12 for boot menu.

Select boot device:

1. Floppy [drive A]
2. DVD/CD [ata1-0: OEM     CD-ROM F563E ATAPI-0 DVD/CD]
3. ata0-0: Maxtor 2F020J0 ATA-7 Hard-Disk (19881 MiBytes)
4. USB MSC Drive Generic- SD/MMC 1.00
5. gPXE (PCI 00:11.0)


I tested more USB DOS drivers (Panasonic USBASPI.SYS, DUSE, bretjohnson, DOSUSB) like this:

1. Copy USB DOS drivers to pendrive and try boot PC from PLOP USB menu (PLOP is running from other media e.g. BIOS ROM, FDD):

PC boot from USB but DOS drivers hangs PC

2. Make FDD boot with USB DOS drivers and try boot from FDD:

PC boot from FDD OK and USB DOS drivers start OK & now possible write to USB :-)

Probably after PLOP boot from USB, PLOP driver USB stays in memory and if now try load other DOS USB drivers this hangs PC because have conflict with drivers PLOP in RAM.

Complete solution for working write to USB after boot from PLOP USB:
Write to USB support after boot PC over PLOP USB menu


I'm glad to hear that write access can be obtained by using DOS USB drivers after starting with PLOP. I hope I can get it to work!

I'm willing to pay a few dollars for a version of PLOP that allows write access to USB. I put in the plop floppy and booted that with a non bootable USB flash drive in. Then I removed the plop floppy and put in a Windows 98 start up floppy. I selected USB and that failed. It may have been the MBR on the USB drive that printed the error. I pressed any key to continue and it continued to boot up from the Windows 98 floppy. Since PLOP installed a BIOS USB drive interface C: became the USB drive. I started setup.exe from the Windows 98 CD on E: but I found that C: is actually read only so it couldn't do anything.

I assume that Windows NT based operating systems do not require USB write access when starting from the boot loader.

It would be nice if there was a check box to install the USB BIOS interface when booting from a floppy or CD-ROM so that a flash drive will show up as C: when booting DOS from a floppy.

Thanks for making PLOP! Is there a reason for why it has to fit in 60 sectors?