Libretto Floppy driver

A driver for Y-E Data Incorporated PC-Card Floppy Drive
David Bateman
Christian Gennerat
Version 2.03


This driver is for use with the Y-E Data Incorporated FlashBuster PC-Card floppy drive. These are commonly found on the Toshiba Librettos and are available as a separate product (at least in Japan).

This driver was written by David Bateman on his Libretto 50, so the only machine he'll vouch for it working on is his own. However it should work without difficulty on any of the Libretto machines. This code was developed on a linux 2.0.34 kernel, and later ported to a 2.1.122 kernel.

It has been upgraded for 2.2 and 2.4 kernels by Christian Gennerat.

For most floppy disk controllers (FDC's) data is sent between the CPU and the FDC using a DMA channel. However the PCMCIA 2.0/2.1 standard doesn't support DMA transfers, and consequently data must be
written to the FlashBuster with programmed I/O (PIO). The linux kernels floppy driver doesn't support PIO, and so this new method of communicating with FDC's is added to the floppy driver.

Unfortunately, as it stands, the linux floppy driver assumes that all FDC's will use the same means of communicating. Hence the fact that the FlashBuster uses a different method of talking to the FDC limits the floppy driver from supporting a FlashBuster and another FDC at the same time. In addition supporting two FDC's is further complicated by the issue of sharing the interrupt line (IRQ) between the two FDC's. Working around these problems will require a significant level of alteration to the floppy driver, which I might do
at a future date.

Other machines

Can be used on Fujitsu Point510 tablet (Now with Mandrake 8.2)
Can be used on Sony VAIO GRX316G (Now with Debian 3.0)



Rev 2.00 Date 2000/11/01 12:34:56 (Christian Gennerat)
Adapt patch and driver for kernel 2.4.0 with pcmcia code integrated in kernel source.
Update installation procedure.
This version is not compatible with older kernel, versions 2.0, 2.1, 2.2.
Rev 2.01 Date 2001/01/11 12:34:56 (Christian Gennerat)
Adapt patch to the recent updates of the kernel.
Rev 2.02 Date 2001/09/25 12:34:56 (Christian Gennerat)
Adapt patch to the recent updates of the kernel (2.4.10)
Rev 2.03 Date 2001/11/25 12:34:56 (Christian Gennerat)
Adapt patch to the recent updates of the kernel (2.4.14)
Move 'pcmcia' parameter definition to floppy.h
Rev 2.04 Date 2001/11/25 12:34:56 (Christian Gennerat)
First version for 2.5 kernels
Rev 2.05 Date 2002/12/02 12:34:56 (Christian Gennerat)
Add GPL license and fix bugs for 2.4.19


Debian Woody

On debian Woody (3.0) with DEVFS active, you must create the device before loading the module. This is done (in Debian) by the file:
> cat /etc/modutils/floppy
pre-install floppy /bin/mknod /dev/fd0 b 2 0

post-remove floppy /bin/rm -f /dev/fd0

But the aliases must be off, unless kernel attempts to load floppy module every time it is started, even without floppy hardware.
> grep '/flop\|/fd' /etc/modutils/1devfsd
#alias     /dev/floppy  floppy
#alias     /dev/fd*       floppy
alias     /dev/floppy   off
alias     /dev/fd*        off

Theese files are used by  /sbin/update-modules to make the /etc/modules.conf