On 08/03/09 20:35, justin(a)vikingship.co.uk wrote:
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"
Try adding "two_fdc" to this line (and any DMA and/or IRQ setting that you
modprobe floppy "two_fdc floppy=4,4,cmos"
modprobe floppy "two_fdc floppy=4,4,cmos 2,dma 6,irq"
modprobe floppy "debug two_fdc floppy=4,4,cmos 2,dma 6,irq"
The two_fdc setting is needed to make the floppy driver probe for the
second FDC. The CMOS setting is needed to specify the characteristics of
the drive. Unfortunately, the module is not smart enough to infer existence
of a second FDC from the existence of a drive numbered 4, so both options
(two_fdc and 4,4,cmos) need to be given.
If you chose to use insmod, rather than modprobe, the space between the
various options needs to be replaced with a TAB, as new versions of insmod
apparently do their own parsing of the string before passing it to the module.
0x370 is already the default address for the second FDC, no need to specify
The 0x3f6 and 0x376 registers are used by the IDE controller, and the
floppy module is sufficiently smart to not claim it (it claims two ranges
per FDC, in order to leave this one register unclaimed. In case of 0x370,
this would be 0x372-0x375 and 0x377 )
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
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.
Fdutils mailing list