Think I've discovered another issue with the floppy driver.....
Basically, if won't play ball with a 360K 5.25" Matsushita drive (JA-551).
The mobo's BIOS is configured for one drive (A:) - 360K 5.25"
There's no secondary FDCs, and the JA-551 is the only FDD connected.
If I boot FreeDOS (1.0 and an earlier version), it formats, reads, writes a
number of disks perfectly
If I then boot Linux (System Rescue CD 1.1.4), I am unable to mount or
format any DSDD disk :-(
With System Rescue CD, I have to modrobe the floppy module; and that then
gives me a
....with minor number 4; which is correct, as I understand things.
If I then format with :
....it fails everytime with FDFMTTRK : Input / Output error
It also fails with :
It's the same story with Slackware 12.1 (booted from CD)
Under FreeDOS, I can simply type :
format b: /u
....and it formats perfectly everytime
incidentally, FreeDOS sees the FDD on b: because FreeDOS itself uses A:
(bootable floppy image on the FreeDOS CD)
Earlier in the day, I was formatting 1200Kib disks in a HD 5.25" FDD under
System Rescue CD, so the problem is confined to 360K DSDD FDDs :-(
If further info is needed; please don't hesitate to ask
Cheers for now
Have played some more, and here's where I'm at :
Primary FDC (on mobo) has 1.44Mb drive connected and powered
Secondary FDC (on AHA-1542B) has 1.44Mb drive connected and powered
I boot System Rescue CD, and type the following command :
modprobe floppy "floppy=4,4,cmos"
and I get the following in /var/log/messages :
Aug 03 16:11:47 sysresccd floppy4: setting CMOS code to 4
Aug 03 16:11:47 sysresccd Floppy drive(s): fd0 is 2.88M AMI BIOS, fd4 is 1.44M
Aug 03 16:11:47 sysresccd FDC 0 is a post-1991 82077
There's no mention of "FDC 1", and /dev only gets populated with device files
for fd0; nothing gets created for fd4. So I type :
mknod /dev/fd4 b 2 128
chgrp floppy /dev/fd4
chmod 640 /dev/fd4
So /dev/fd4 looks as follows :
brw-r----- 1 root floppy 2, 128 2009-08-03 16:12 /dev/fd4
Then as soon as I try and access fd4; with
something like :
mount /dev/fd4 /mnt/floppy
I get :
mount: /dev/fd4 is not a valid block device
It's as though the second FDC isn't getting detected. The jumper is set for
0x370, and the AHA-1542B works fine as a primary FDC (jumper set for 0x3F0)
Surely this should work ? I'd be inclined to suspect the FDC on the AHA-1542B,
but it works fine as a primary FDC
One thing I did notice; I ran cat /proc/ioports | grep 37, and got the
0376-0376 : 0000:00:07.1
0376-0376 : pata_via
0378-037a : parport0
037b-037f : parport0
Is the pata_via blocking the secondary FDC IO port ? I notice my main PC shows
something similar :
0376-0376 : 0000:00:06.0
0376-0376 : ide1
0378-037a : parport0
I'm going to try an ISA I/O card, an older PC, and maybe another Linux
distro, but I really would welcome any suggestions.
Okay, I've re-jumpered the AHA-1542B thus :
IOport : 0x370
.....and I've had SOME success.
I have managed to access fd0 and fd4.....just not at the same time.
To get fd0 recognised, I type :
modprobe floppy "floppy=two_fdc 2,dma 6,irq 0,4,cmos"
....obviously "modprobe floppy" would have sufficed here.
To get fd4 recognised, I type
modprobe floppy "floppy=two_fdc 3,dma 10,irq 4,4,cmos"
....and I'm able to access /dev/fd4
I just can't access fd1 and fd4 at the same time; because I can't get FDC-0
and FDC-1 recognised at the same time.
It's either one or the other; but not both.
SO, I tried playing with the modprobe command :
modprobe floppy "floppy=two_fdc 2,3,dma 6,10,irq 0,4,cmos 4,4,cmos"
modprobe floppy "floppy=two_fdc 2,dma 6,irq 0,4,cmos 3,dma 10,irq 4,4,cmos"
.....and no joy.
I even tried loading the floppy module twice - once for each FDC - just
returns the prompt, without echoing anything to /var/log/messages
SO.....Question now; is how can I load the floppy module, such that I can
specify both IRQs and both DMA channels ?
It's as though the floppy module is happy to play with either FDC.....just
not both :-(
So near.....was primed for that jig ;-)
---------- Forwarded message ----------
From: Justin Eastham <jceastham(a)googlemail.com>
Date: Mon, Aug 3, 2009 at 9:44 PM
Subject: Re: [Fdutils] Second FDC not recognised.
To: David C Niemi <niemi(a)tuxers.net>
I'm beginning to think it's the PC.
The distro I'm using (System Rescue CD) seems to have all the necessary
I'm sure the AHA-1542b is okay, because when it's set to be the primary FDC
(mobo's FDC disabled), then I can boot from the FDD connected to the
Did PCs from a certain point in time stop supporting a second FDC ? But even
then; I'm not convinced as the kernel is just talking to an IO port (in this
case 0x370) and using standard stuff like IRQs and DMA channels.
If the AHA-1542b will play ball on 0x3F0, then why not 0x370 ?
I'm satisfied I'm using the correct modprobe floppy command (unless I'm told
I'm going to try with an older PC, but I'm running out of ideas :-(
It's frustrating, as I know this should work. I can't use a pre-PCI machine,
because I've got a Catweasel PCI card to go in.
The plan was to have a "floppy" PC, with :
2.88Mb 3.5" as fd0
360K 5.25" as fd1
....both connected to the primary FDC via the Catweasel. This means I can
read all the DOS formats (apart from 1200K 5.25"), plus Amiga and C64 disk
The secondary FDC was to connect the 1200K 5.25" FDD as fd4
Then I could have a single PC that would handle all the different disk
formats and filesystems (FAT, Amiga, C64 etc)
Just tried an ISA I/O card, but it looks like the FDC is broken on it, as it
won't even function when configured to be the primary FDC (with the mobo's
Any help is much appreciated - like what era of PC have people had success
On Mon, Aug 3, 2009 at 8:26 PM, David C Niemi <niemi(a)tuxers.net> wrote:
> Hello Justin,
> It's probably been 15 years since I last did this sort of work. I think
> you're on the right track -- if it found FDC 1 it would have said so, so
> something must be blocking or disabling it.
I have an Adaptec 1542B ISA card, which works fine as a primary FDC
(jumpered for 0x3F0), but I can't get Linux to see it as a secondary FDC
(jumpered for 0x370)
I've read the fdutils documentation; specifically the sections on
floppy=two_fdc and floppy=drive,type,cmos, but I'm not clear. It doesn't
explain how to express drive; is it a single digit ? Is if fdx, where x is a
single digit ?
Based on the following setup :
Primary FDC (on motherboard) - 2.88Mb 3.5" FDD, and 360K 5.25" FDD
Secondary FDC (AHA-1542B) - 1200K 5.25" FDD
....could somebody shed some light on the parameters I need for the
"modprobe floppy" command ?
Thanks in advance