• Please review our updated Terms and Rules here

Can you read an 8" floppy under Linux?

Malvineous

Experienced Member
Joined
Jun 18, 2010
Messages
119
Location
Brisbane, Australia
Hi all,

A while back I got hold of a DSD440 (rackmountable dual 8" floppy drive w/ PSU) and I have just connected it up to a generic Dell PC via a DBit FDADAP.

Enabling the floppy in the BIOS seems to work (the drive light comes on when the system tries to boot from the disk) however I can only turn the floppy controller on or off, I can't select a drive type. The spindle motor also runs continuously, I'm not sure if this is normal or if it's meant to switch off after a while as with modern drives.

If I boot Linux and try to read raw sectors off the disk with "dd", I get repeated error messages on the screen saying "floppy0: probe failed..." and eventually an error saying the sector couldn't be read. The drive light does come on though and the head loads.

I'm not sure what this probe message means, but I'm wondering whether it's because there is no kernel support for the 8" drive. You can set the floppy type when you boot the Linux kernel (overriding the BIOS value) but only 5.25" and 3.5" drives are listed.

So has anyone got any experience using 8" drives with PCs, especially under Linux? I am currently unsure whether the issue lies with the controller not fully supporting 8" drives, with Linux missing support for 8" drives, or even whether the jumpers and cabling in the DSD440 are set up correctly.
 
What kind of 8" floppies do you want to support? (The variety is even more bewildering than 5.25" ones)

Nominally, you can declare your drives as 1.2M 5.25". The rotation rates and densities are compatible.
 
I'm not sure what the probe error is either, but it would sound to me like it asked the hardware a question and failed to get a reasonable answer. Linux is usually pretty agnostic about the particulars of a storage device. As long as it knows the geometry of it (the size of it), you SHOULD, in theory, be able to "dd" to/from without a problem.
 
Thanks for the quick replies! I can't see anything written on the drives without unbolting them from the rackmount case. They're definitely Shugart drives (from looking in the manual), and look very similar to another SA800 I have. I didn't realise there was so much variety!

That's interesting that you can treat them the same as 5.25" 1.2MB drives. From looking at the floppy source code, it looks like every time a new disk is inserted it tries to probe the media format (e.g. 1.44MB, 1.68MB, etc.) It looks like for one reason or another it was unable to detect how the disk I was using had been formatted, which is quite possible as the disk itself looks pretty old and ratty, and I have no idea what if anything is on it.

It looks like telling Linux that the drive is a 1.2MB 5.25" will mean that all the drive parameters get set correctly, so hopefully I have a disk in a format that is already listed. This is the list of supported floppy formats in the driver, I'd be grateful if anyone can identify whether they are similar to any well known 8" formats:

Code:
            Size
             |  Sectors per track
             |  | Head
             |  | |  Tracks
             |  | |  | Stretch
             |  | |  | |  Gap 1 size
             |  | |  | |    |  Data rate, | 0x40 for perp
             |  | |  | |    |    |  Spec1 (stepping rate, head unload
             |  | |  | |    |    |    |    /fmt gap (gap2) */
static struct floppy_struct floppy_type[32] = {
        {    0, 0,0, 0,0,0x00,0x00,0x00,0x00,NULL    }, /*  0 no testing    */
        {  720, 9,2,40,0,0x2A,0x02,0xDF,0x50,"d360"  }, /*  1 360KB PC      */
        { 2400,15,2,80,0,0x1B,0x00,0xDF,0x54,"h1200" }, /*  2 1.2MB AT      */
        {  720, 9,1,80,0,0x2A,0x02,0xDF,0x50,"D360"  }, /*  3 360KB SS 3.5" */
        { 1440, 9,2,80,0,0x2A,0x02,0xDF,0x50,"D720"  }, /*  4 720KB 3.5"    */
        {  720, 9,2,40,1,0x23,0x01,0xDF,0x50,"h360"  }, /*  5 360KB AT      */
        { 1440, 9,2,80,0,0x23,0x01,0xDF,0x50,"h720"  }, /*  6 720KB AT      */
        { 2880,18,2,80,0,0x1B,0x00,0xCF,0x6C,"H1440" }, /*  7 1.44MB 3.5"   */
        { 5760,36,2,80,0,0x1B,0x43,0xAF,0x54,"E2880" }, /*  8 2.88MB 3.5"   */
        { 6240,39,2,80,0,0x1B,0x43,0xAF,0x28,"E3120" }, /*  9 3.12MB 3.5"   */

        { 2880,18,2,80,0,0x25,0x00,0xDF,0x02,"h1440" }, /* 10 1.44MB 5.25"  */
        { 3360,21,2,80,0,0x1C,0x00,0xCF,0x0C,"H1680" }, /* 11 1.68MB 3.5"   */
        {  820,10,2,41,1,0x25,0x01,0xDF,0x2E,"h410"  }, /* 12 410KB 5.25"   */
        { 1640,10,2,82,0,0x25,0x02,0xDF,0x2E,"H820"  }, /* 13 820KB 3.5"    */
        { 2952,18,2,82,0,0x25,0x00,0xDF,0x02,"h1476" }, /* 14 1.48MB 5.25"  */
        { 3444,21,2,82,0,0x25,0x00,0xDF,0x0C,"H1722" }, /* 15 1.72MB 3.5"   */
        {  840,10,2,42,1,0x25,0x01,0xDF,0x2E,"h420"  }, /* 16 420KB 5.25"   */
        { 1660,10,2,83,0,0x25,0x02,0xDF,0x2E,"H830"  }, /* 17 830KB 3.5"    */
        { 2988,18,2,83,0,0x25,0x00,0xDF,0x02,"h1494" }, /* 18 1.49MB 5.25"  */
        { 3486,21,2,83,0,0x25,0x00,0xDF,0x0C,"H1743" }, /* 19 1.74 MB 3.5"  */

        { 1760,11,2,80,0,0x1C,0x09,0xCF,0x00,"h880"  }, /* 20 880KB 5.25"   */
        { 2080,13,2,80,0,0x1C,0x01,0xCF,0x00,"D1040" }, /* 21 1.04MB 3.5"   */
        { 2240,14,2,80,0,0x1C,0x19,0xCF,0x00,"D1120" }, /* 22 1.12MB 3.5"   */
        { 3200,20,2,80,0,0x1C,0x20,0xCF,0x2C,"h1600" }, /* 23 1.6MB 5.25"   */
        { 3520,22,2,80,0,0x1C,0x08,0xCF,0x2e,"H1760" }, /* 24 1.76MB 3.5"   */
        { 3840,24,2,80,0,0x1C,0x20,0xCF,0x00,"H1920" }, /* 25 1.92MB 3.5"   */
        { 6400,40,2,80,0,0x25,0x5B,0xCF,0x00,"E3200" }, /* 26 3.20MB 3.5"   */
        { 7040,44,2,80,0,0x25,0x5B,0xCF,0x00,"E3520" }, /* 27 3.52MB 3.5"   */
        { 7680,48,2,80,0,0x25,0x63,0xCF,0x00,"E3840" }, /* 28 3.84MB 3.5"   */
        { 3680,23,2,80,0,0x1C,0x10,0xCF,0x00,"H1840" }, /* 29 1.84MB 3.5"   */

        { 1600,10,2,80,0,0x25,0x02,0xDF,0x2E,"D800"  }, /* 30 800KB 3.5"    */
        { 3200,20,2,80,0,0x1C,0x00,0xCF,0x2C,"H1600" }, /* 31 1.6MB 3.5"    */
};

I did find an interesting article explaining how to identify unusual floppy formats, so I may have to try that.

Unfortunately after my first test when I switched it all off I could hear a tiny bubbling sound coming from the unit's power supply, as if some tiny bit of liquid somewhere was boiling. It smelt quite strongly of old cinefilm, so I guess the 1970s-era capacitors are on the way out. I'll probably have to build a new PSU before trying again :-(
 
Back
Top