Next Previous Contents

## 4. Magneto Optical Drive experiences under Linux

## 4.1 Olympus, Epson, Mitsubishi MK230LK3 - Stephan Shuichi Haupt

Stephan Shuichi Haupt <stephan@bios.t.u-tokyo.ac.jp>

    Hi

    I have noticed that there is not much information about
    magneto-optical disks in the howto, which may be due to the fact that
    these are not very popular in general. In Japan, MO drives are very
    common, especially the 3.5' variety with media in 128MB (maybe not
    available anymore), 230MB, and recently 640MB sizes. I suppose there
    is plenty of info on usage of these drives with Linux in Japanese -
    but that does not help most people for some reason ;-) MODs can be
    used very much like any removable media and are handy for smaller
    backups as the media are relatively inexpensive (about 10US$ / 640MB
    as of 10-98). I can only comment on the usage of 230MB drives with
    SCSI interface.

    Drives used: several, no problems encountered (Olympus, Epson, currently
    Mitsubishi MK230LK3). Drives may have strange jumper setting like "Mac
    Mode" or such - naturally, disable.
    If you decide to get a drive, pay attention the the
    cache size - It can speed things up enormously, still speed will be
    soso compared to hard disks, of course.

    SCSI controllers: NCR53C810-based (Asus PCI-200), Adaptec APA-1460A,
    Adaptec AHA2940.

    Just install the drive as you would do with an additional SCSI hard
    disk. It will show up as such. You don't need a disk in the drive when
    booting.

    There are two ways to format the disks:
    a) A bit like a floppy. Just run mkfs on the raw device i.e. something like
    sdb or sdc. I don't recommend this in general (see below).
    b) Like a hard disk. Do fdisk on the raw device and then mkfs on the
    partition as you would for a hard disk (like sdc0, I have never made
    multiple partitions on a MOD).

    What I have not tried is to boot from MOD, yet I cannot see why it
    should not work. I would only recommend it for emergency system
    recovery, however, due to MO drive performance.

    Note: Purchased disks for Doze or Windog may be formatted "like
    floppies" and cannot be used with either O(gre)S right away while MODs
    formatted under linux as hard disks (partition FAT16 / type 6 and
    mkdosfs) will work fine (only tested with NT 3.5/4.0).  Fdisk will
    issue a warning upon exit that concerned FAT16 partitions and you do
    better to take it seriously (look at the fdisk man-page).  The sector
    size will not be automatically set properly for mkdosfs. Use "mkdosfs
    -s 8". That came from some Japanese Web site in mid 1995 (Thanks to Ken
    Kawabata for finding and deciphering it). Using the vfat file-system
    with the disks works fine. I have only used FAT/DOSfs or Linux/ext2
    formatted disks so far.

    Additional Note: The media are probably a bit sensitive. Of course to
    magnetic fields, but also to mechanical stress, some formats seem
    to be more fragile than others (Mac format seemingly worst, data loss has
    occurred when dropping disks during sneaker net traffic).

    Though this does not steer anyone through particularly dense
    jungle, it may be nice for completeness.

            Steve

    --
    ***********************cut*here*or*do*not********************************
            S. Shuichi Haupt
            email stephan@bios.t.u-tokyo.ac.jp
            http://www.bios.t.u-tokyo.ac.jp/~stephan/

    ---------------- December 11 1998 update from Steve -------------------

    OK, some problems will arise with MO disks occasionally. the safest
    way to avoid them is not to use the disks "off the shelf".  trying to
    mount disks can even result in kernel panics. i accidentally tried to
    mount a 640MB disk (format windows95 it said, so maybe FAT32) as -t
    vfat, this is not a thing to try.

    also, 2.0.x kernels don't support 2048b block size (also 640MB disks).
    a patch for 2.0.3x kernels seems to float around somewhere in Japan,
    but i have not yet gotten hold of it.  here a link that certainly has
    an English description:
    http://elektra.e-technik.uni-ulm.de/~mbuck/linux/patches.html
    or search the u-tokyo.ac.jp domain. the page of the developers is
    hidden somewhere.

    the best way to use these 640MB disks is therefore to do fdisk and
    mkfs first. i have only done this with mke2fs on type 83 partitions:
    mke2fs -b 2048 /dev/sdxy

    i will check it out for FAT16 partitions and mkdosfs when i have some
    spare time and disks.

    my kernel version used is 2.1.124 (for all of the above).

    Steve
    --
    ***********************cut*here*or*do*not********************************
            Stephan Shuichi
    office: Dept. for Mechano-Informatics, Yoshizawa Lab.
            Faculty for Engineering, University of Tokyo
            Tel 03-3812-2111 ext 6390, FAX 03-5802-2957
            email stephan@bios.t.u-tokyo.ac.jp
            http://www.bios.t.u-tokyo.ac.jp/~stephan/
    private: --

## 4.2 Fujitsu DynaMO 640 - Phil Garcia

pgarcia@execpc.com

      You've probably already received a number of messages regarding the
    Fujitsu DynaMO 640 - I have the 640SZI, which is the internal version;
    the model number given in a SCSI probe is M2513-MCC3064SS.  I recently
    installed this drive practically without a hitch.  I say practically
    because the sector size of the 640 MB disks is 2048 bytes, which is
    not supported in the Linux 2.0.x kernel but is supported in the
    development kernels.  A patch for 2.0.x is available at
    http://wwwcip.informatik.uni-erlangen.de/~orschaer/mo/
    -- also at this site is a patched fdisk to use in conjunction with it.

    Otherwise, installing the drive was no different from installing a
    SCSI hard drive.  It runs well, and I'm very happy with it.

    Phil Garcia

## 4.3 Panasonic LF-7010 - Philip Kerr

philip_kerr_at_wmc__brsf2@wmcmail.wmc.ac.uk

         Dear Skip

         In your Optical HOWTO, you asked for anyone else's experiences of
         installing optical drives under Linux.

         Please find below details of how I managed to get a Panasonic LF-7010
         (SCSI) working on my Sparc Classic.

         I'm using Redhat, 4.2 and 5.1

         Regards

         Philip Kerr
         philip.kerr@wmc.ac.uk

         ps I'm now trying to get the drive to work under Solaris 2.6... it's
         not an easy a job as it was under Linux!!
         ------------------------

         plugged the drive in (on id5)...

         powered up the Sparc...

         the following came up....

         scsi0 : Sparc ESP100A-FAST
         scsi : 1 host.
         Vendor: SAMSUNG   Model: WN32162U          Rev: 0100
         Type:   Direct-Access                      ANSI SCSI revision: 02

         Detected scsi disk sda at scsi0, channel 0, id 3, lun 0
         Vendor: MATSHITA  Model: LF-7010  (00:06)  Rev: 1.42
         Type:   Optical Device                     ANSI SCSI revision: 02
         Detected scsi removable disk sdb at scsi0, channel 0, id 5, lun 0 scsi
         : detected 2 SCSI disks total.
         esp0: target 3 [period 100ns offset 15 10.00MHz FAST SCSI-II]
         SCSI device sda: hdwr sector= 512 bytes. Sectors= 4236661 [2068 MB]
         [2.1 GB]
         esp0: target 5 [period 248ns offset 4 4.03MHz synchronous SCSI] sdb :
         READ CAPACITY failed.
         sdb : status = 0, message = 00, host = 0, driver = 28 sdb : extended
         sense code = 2
         sdb : block size assumed to be 512 bytes, disk size 1GB.
         sunlance.c:v1.9 21/Aug/96 Miguel de Icaza (miguel@nuclecu.unam.mx)
         eth0: LANCE 08:00:20:04:3d:cf
         eth0: using auto-carrier-detection.
         Partition check:
         sda: sda1 sda2 sda3 sda4 sda5 sda6 sda7 sda8
         sdb:scsidisk I/O error: dev 08:10, sector 0, absolute sector 0 unable
         to read partition table

         I edited my fstab, adding the entry for the drive (on sdb)

         ==========
         /etc/fstab
         ==========
         /dev/sda1          /                       ext2    defaults        1 1
         /dev/sda2          swap                    swap    defaults        0 0
         /dev/fd0           /mnt/floppy             msdos   noauto,user     0 0
         /dev/sr0           /mnt/cdrom              iso9660 noauto,ro,user  0 0
         /dev/sdb           /mnt/optical            ext2    noauto,rw,user  0 0
         none               /proc                   proc    defaults        0 0

         Then mkfs'ed a blank disc as follows...

         [root@localhost me]# /sbin/mkfs -t ext2 /dev/sdb

         mke2fs 1.10, 24-Apr-97 for EXT2 FS 0.5b, 95/08/09 /dev/sdb is entire
         device, not just one partition! Proceed anyway? (y,n) y
         Linux ext2 filesystem format
         Filesystem label=
         118320 inodes, 472448 blocks
         23622 blocks (5.00%) reserved for the super user First data block=1
         Block size=1024 (log=0)
         Fragment size=1024 (log=0)
         58 block groups
         8192 blocks per group, 8192 fragments per group 2040 inodes per group
         Superblock backups stored on blocks:
         8193, 16385, 24577, 32769, 40961, 49153, 57345, 65537, 73729, 81921,
         90113, 98305, 106497, 114689, 122881, 131073, 139265,
         147457,
         155649, 163841, 172033, 180225, 188417, 196609, 204801,
         212993, 221185,
         229377, 237569, 245761, 253953, 262145, 270337, 278529,
         286721, 294913,
         303105, 311297, 319489, 327681, 335873, 344065, 352257,
         360449, 368641,
         376833, 385025, 393217, 401409, 409601, 417793, 425985,
         434177, 442369,
         450561, 458753, 466945

         Writing inode tables: done
         Writing superblocks and filesystem accounting information: done

         rebooted...

         mounted the drive...

         I've since then edited the fstab, adding the following mount-point...

         /dev/sdb           /mnt/dostical          msdos   noauto,rw,user 0 0

         I can now mount ext2 or dos formatted optical carts by mounting either
         optical or dostical.

## 4.4 FUJITSU MCC3064AP, DYNAMO 640AI - Guido Brunner

    Dear Skip,

    hoping that this is interesting for other Linux-Users, I want to tell You
    about my experiences
    with optical disks under Linux:
    I use an internal 640 MB MO-Drive with IDE-Interface from Fujitsu with
    Linux-Kernel 2.2.x and
    in the meantime it works fine. At Germany this drive is sold as DYNAMO 640
    AI but according
    to it's firmware it is a MCC 3064 AP.
    Booting kernel 2.2.x the drive is detected like "hdx: FUJITSU MCC3064AP,
    ATAPI OPTICAL drive". No driver is loaded, as there still is no ATAPI-
    driver for optical disks. Older kernels
    (2.0.x) do not detect the drive correctly and surely need some patches.
    To use the drive I need kernel support for SCSI-emulation. So I compile
    this (ide-scsi.o)
    as a module together with the SCSI-disk-support (sd_mod.o). Making a
    "modprobe ide-scsi",
    the drive shows up in /proc/scsi/scsi. If it isn't done by kerneld I have
    to make
    "modprobe sd_mod" to be ready to mount the preformatted MO-disk.
    If I want to use the disks with Dos/Windows, I use the Dos/Windows-tools
    for formatting. I tried
    mkdosfs under Linux too, but then most files on the disk seemed to be
    corrupted for Dos.
    They were still o.k. for Linux and could be restored without problems. With
    the Dos-tools I
    prefer the Superfloppy-Format as this can be used with most
    operating-systems and it is slightly
    faster in comparison to a partitioned disk.  This disks can be mounted like
    other
    Windows-Disks (e.g. "mount -t vfat  /dev/sdx /mountpoint").
    Disks for Linux should be in ext2-Format. The 640 MB disks are hardsectored
    with
    2048 bytes/sector (smaller media aren't.) . This is no problem for kernel
    2.2.x, but fdisk and mke2fs do not agree in how to manage this geometry. So
    I don't use fdisk anyway and format
    the disks with "mke2fs -b 2048 /dev/sdx". I have to tell mke2fs about the
    2048 bytes/sector with
    the "-b"-option, otherwise the format will fail. Mke2fs than asks to really
    do his job, as it has do
    format the whole disk not a single partion and I answer with "y".
    Now the disk can be mounted with "mount -t ext2 /dev/sdx /mountpoint",
    which gives a warning
    in /var/log/messages about a nonexisting partion-table. This is o.k. as
    fdisk wasn't used and
    I can now use the disk. The MO-Disks are slow, but the most reliable media
    available.
    Smaller disks (230 MB) are hardsectored for 512 bytes/sector and can be
    partioned with fdisk.
    before formatting. This should be true for the 512 MB disks, but I didn't
    test it.

    Best regards and thanks for Your support for Linux,

    Guido Brunner

## 4.5 Panasonic LF-7010 - Donald Kerns

    Dear Skip,

    I recently aquired a LF-7010 for a project.

    My experience getting it up for Linux under ext2 mirrors what you
    already have.

    The msdos and vfat file systems also worked.

    The project I was working on was based on a SunOS/Solaris formatted MO
    disk. While it *should* have worked under the ufs file system, using
    Redhat 5.2 and the stock 3.0.36 kernel it didn't.

    I got, installed, debugged and compiled the u2fs into the kernel and it
    DID mount the SunOS/Solaris MO disk.

    Please write if you need/want additional details.

    -Donald

     Donald Kerns <dkerns@cruzio.com>

## 4.6 PIONEER DE-C7001 - Paolo Droghetti

    Hi Skip,

    following your request of info from everyone else who is playing with
    optical disks under Linux, here I am.

    I'm an happy user of a PIONEER DE-C7001, mounted in my linux box
    controlled by a PCI SYMBIOS (NCR) 53c815 SCSI controller and running
    slackware 4.
    After having set the jumpers in the correct way ( all the technical docs
    are still available in the Pioneer web pages) and configured the kernel
    for SCSI support ( generic SCSI support and support for SCSI disks), it
    works.
    Here you have the boot details:

    sym53c8xx: at PCI bus 0, device 8, function 0
    sym53c8xx: not initializing, device not supported
    ncr53c8xx: at PCI bus 0, device 8, function 0
    ncr53c8xx: 53c815 detected
    ncr53c815-0: rev=0x04, base=0xe8000000, io_port=0xe000, irq=11
    ncr53c815-0: ID 7, Fast-10, Parity Checking
    ncr53c815-0: restart (scsi reset).
    scsi0 : ncr53c8xx - version 3.2a-2
    scsi1 : SCSI host adapter emulation for IDE ATAPI devices
    scsi : 2 hosts.
    Vendor: PIONEER   Model: DE-C7001          Rev: 0500
    Type:   Direct-Access                      ANSI SCSI revision: 01 CCS
    Detected scsi removable disk sda at scsi0, channel 0, id 1, lun 0
    Vendor: ARCHIVE   Model: VIPER 150  21247  Rev: -005
    Type:   Sequential-Access                  ANSI SCSI revision: 01
    Detected scsi tape st0 at scsi0, channel 0, id 2, lun 0
    Vendor: PHILIPS   Model: CDD3600 CD-R/RW   Rev: 2.00
    Type:   CD-ROM                             ANSI SCSI revision: 02
    Detected scsi CD-ROM sr0 at scsi0, channel 0, id 6, lun 0
    scsi : detected 1 SCSI tape 1 SCSI cdrom 1 SCSI disk total.
    ncr53c815-0-<6,*>: FAST-10 SCSI 10.0 MB/s (100 ns, offset 8)
    sr0: scsi3-mmc drive: 2x/6x writer cd/rw xa/form2 cdda tray
    Uniform CDROM driver Revision: 2.55
    ncr53c815-0-<1,*>: FAST-5 SCSI 5.0 MB/s (200 ns, offset 8)
    sda : READ CAPACITY failed.
    sda : status = 1, message = 00, host = 0, driver = 28
    sda : extended sense code = 2
    sda : block size assumed to be 512 bytes, disk size 1GB.
    PPP: version 2.3.7 (demand dialling)
    TCP compression code copyright 1989 Regents of the University of
    California
    PPP line discipline registered.
    3c59x.c:v0.99H 11/17/98 Donald Becker
    http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html
    Partition check:
    sda:scsidisk I/O error: dev 08:00, sector 0
    unable to read partition table
    hda: hda1 hda2 hda3

    Once the drive has been recognized by the system, I inserted a new disk
    and I created a partition on it with:

    # fdisk /dev/sdanew file system on it :

    After this step I created a new file system :

    # mkfs -t ext2 /dev/sda1

    Linux ext2 filesystem format
    Filesystem label=
    79872 inodes, 318448 blocks
    15922 blocks (5.00%) reserved for the super user
    First data block=1
    Block size=1024 (log=0)
    Fragment size=1024 (log=0)
    39 block groups
    8192 blocks per group, 8192 fragments per group
    2048 inodes per group
    Superblock backups stored on blocks:
    8193, 16385, 24577, 32769, 40961, 49153, 57345, 65537, 73729, 81921,
    90113, 98305, 106497, 114689, 122881, 131073, 139265, 147457, 155649,
    163841, 172033, 180225, 188417, 196609, 204801, 212993, 221185, 229377,

    237569, 245761, 253953, 262145, 270337, 278529, 286721, 294913, 303105,

    311297

    Writing inode tables:  0/39 ..... 38/39 done
    Writing superblocks and filesystem accounting information: done

    and then the disk is usable and accessible as a normal SCSI disk.
    I don't have modified the /etc/fstab and /etc/mtab files, because I
    prefer to mount the disk manually when needed.

    Now I need your help. In my office, I have 3 LMS ( Philips ) LF4500
    rapid changer that are completely not used. The LF4500 holds 5 12" WORM
    optical disk. double sided 5,6 GB capacity. They were originally used
    with a SPARC 1+ controller and a software written for solaris 1.x. The
    controllers and the original sw are completely gone ( nobody knows where
    they are !). I will try to connect one of thisLF4500 to my linux box. I
    will let you know the results but I think I'll be able to see only the
    drive but not the disk exchange device. Could please help in find out
    more info/SW in order to fully drive this rapid changer ?

    :-)  I work for Philips Medical Systems but I'm not able to find more
    info on this formerly Philips product.

    Regards

    Paolo Droghetti <paolo.droghetti@philips.com>

## 4.7 Fujitsu MCD3130SS - Harald Husemann

    Hi Skip,

    I've used your 'Linux-Optical Disk HOWTO' to setup our magneto-optical
    drive.
    You mentioned somewhere in the HOWTO that you'd like to receive
    additional informations, and since I've used a drive which was not
    included, I'd like to tell you about it. Hope it can help someone!

    Used hardware:

    INTEL Pentium 90
    SCSI-Controller ADAPTEC 2940
    MO-Drive Fujitsu MCD3130SS (1.3 GB Capacity)

    Software:

    S.u.S.E.-LINUX 6.1, Kernel-Version 2.2.5

    There is no "native" driver for the 2940AU, so I used the "aic7xxx"
    which I load as a module during bootup (I didn't want to compile a new
    kernel, because I need many other features, and expect of the MO-Drive,
    everything worked fine before. So, why "change a running system"?!)

    I can mount the MO-Disk, no matter what filesystem is used, entirely.
    In addition to that, I set up autofs to ease my work:

    in /etc/auto.misc, I added the line:

    ==================/SNIP/===============
    /misc/mo-disk -fs auto /dev/sda1
    ==================/SNAP/==============

    With that, I even don't need to mount the drive, I can access it
    whenever I want, no matter what filesystem is used (tested with MSDOS
    and ext2-fs)

    Finally, I used SAMBA to export the drive to our WIN95-Clients with the
    following inserted in /etc/smb.conf:

    =======================/SNIP/======================
    [mo-disk]
    path = /misc/mo-disk
    public = yes
    writeable = yes ;write-only can of course still be controlled by
    flipping the
    ;write-protect-switch at the MO-Disk!
    readable = yes
    browseable = yes
    =======================/SNAP/=======================

    (for further details abt. SAMBA, refer to the excellent HOWTO)

    Now, every WIN-Client can use the MO-Drive as if it was a local hdd,
    with one (minor) caveat:

    When you map the exported SAMBA-Drive to a drive letter in WIN Explorer,
    it's impossible to umount it under LINUX! Everytime you try, you get a
    "device busy"...
    So, unfortunately I can't map the drive during startup in WIN95, but I
    think with some hacking in the SAMBA-Code this problem could be
    solved...
    I don't have the time at the moment, but perhaps somewhat later I will
    try to "dig into the code" to do the hack.

    Of course you can include my e-amil-address in the HOWTO, but please use
    my private one:

    dh9dat@cityweb.de instead of ds@leiterplattentechnik.de!

    with regards,

    Harald Husemann

    LINUX - the operating system for people whose IQ is greater than 98...

     Harald Husemann <ds@www.leiterplattentechnik.de>

## 4.8 Ricoh RO-5031E - Jeremy Hosford

    Hi,

    Just stumbled across your page on Tucows (dated Dec '98 so I hope this
    still reaches you). You asked if anyone had any experience with optical
    storage etc. under Linux, which I have, so here it is!

    I worked for Ericsson (UK) Ltd. and some of their telephone switches use
    optical media for system backups. I have used these optical drives on
    i386 Linux boxes for some years now, with no problems whatsoever.

    The units in question are the Ricoh RO-5031E (scsi) and it's bigger
    brother, which unfortunately I cannot remember that name of (also Ricoh
    + scsi). The RO-5031E is a full-height, 5.25in magneto-optical drive
    that uses 650Mb disk cartridges (325Mb per side), such as Sony's
    EDM-650B. The other drive has similar spec but can use both 1.3Gb and
    650Mb disks. Ricoh's website may have more on these drives, but they're
    quite long in the tooth now and may not feature anymore.

    Usage was very simple - The drives were treated almost as scsi fixed
    disks. Pop a new disk in, use fdisk to create your filesystem (I've
    tried both ext2 & msdos) then format with mkfs. That's it!

    The one weird thing I did find was that a RedHat 6.x system (2.2.x
    kernel) would not read a filesystem that had been created on an old
    Slackware (2.0.x kernel) system, and vice versa. Other than that, 100
    million re-writes... thankyou very much!!!

    All the best // Jem

    P.S. Please feel free to include my email if I've been of any help.

     jem <jem@monty.ericsson.se>

## 4.9 Maxoptix T6-5200 - Donovan Allen

I have used a Maxoptix T6-5200 with re-writable MO media without any problems. Donovan Allen admin@robot-factory.net

## 4.10 Maxoptix TMT3-1300 Magneto Optical drive. - Peter Knaggs

Maxoptix TMT3-1300 Magneto Optical drive. Accepts 1Gb and 1.3Gb magneto-optical read/write cartridges, these are double sided, so half the capacity is on each side, and the cartridge needs to be ejected to access the opposing side.

When configuring a Maxoptix drive for Linux, it should be configured such that the Removable Media Report Disable switch is OFF (the dip switch bank S2, switch 3 is OFF, i.e. in down position).

When configuring a Maxoptix drive for Linux, it should NOT be configured such that Removable Media Report Disable is switched ON (the dip switch bank S2, switch 3 is ON, i.e. in up position).

Setting this switch ON will set the RMB (removable media bit) to 0. This would indicate to Linux that the media is NOT removable, but Linux of course still allows one to eject it using the command eject /dev/sda or by pressing the invitingly large button on the drive itself. This could have the consequence of accidentally corrupting any of the good data stored on cartridges inserted subsequently, since Linux has still cached the directory information of the previous disk.

When the RMB is 0, even after the cartridge is ejected, it is possible to perform the mount command, and have it 'succeed', since Linux has still got the directory structure of the previous disk cached in its buffers, which have not been flushed. One way to force Linux to flush its buffers in this situation, is to do the following sequence: eject /dev/sda (do NOT insert a new cartridge before performing the next two steps)

    mount /dev/sda5 /mnt/max
    umount /mnt/max

    Note that this will show the following on the console (Ctrl+Alt+F10):
    Dec 14 19:32:14 kernel: SCSI disk error : host 1 channel 0 id 6 lun 0 return code = 28000000
    Dec 14 19:32:14 kernel: [valid=0] Info fld=0x0, Current sd08:05: sense key Not Ready
    Dec 14 19:32:14 kernel: Additional sense indicates Medium not present
    Dec 14 19:32:14 kernel: scsidisk I/O error: dev 08:05, sector 2
    Dec 14 19:32:14 kernel: SCSI disk error : host 1 channel 0 id 6 lun 0 return code = 28000000
    Dec 14 19:32:14 kernel: [valid=0] Info fld=0x0, Current sd08:05: sense key Not Ready
    Dec 14 19:32:14 kernel: Additional sense indicates Medium not present
    Dec 14 19:32:14 kernel: scsidisk I/O error: dev 08:05, sector 2

    Now we can insert the new disk, and the new disk's directory structure
    will appear correctly as expected. This method is very error-prone, and not
    recommended as it is very easy to forget to perform the 'dummy' mount before
    inserting a disk, with the consequence of wiping out good data on the new disk.

    The reason this method works is that Linux normally only calls invalidate_buffers()
    (see the file sd.c in the routine check_media_change()) if the RMB is set to 1,
    and the above sequence forces Linux to call invalidate_buffers() once it notices
    that it can't mount the filesystem.
    Performing the 'dummy' mount/unmount after ejecting forces Linux to call invalidate_buffers().

    For Linux, to avoid using the above workaround, we should always have
    the Removable Media Report Disable switch OFF (dip switch bank S2, switch 3, OFF, i.e. in down position).

    When the Removable Media Report Disable switch is correctly set to OFF,
    then attempting to mount the drive when the cartridge
    is not present will show the following on the console (Ctrl+Alt+F10):

    Dec 14 21:35:16 kernel: sda : READ CAPACITY failed.
    Dec 14 21:35:16 kernel: sda : status = 0, message = 00, host = 0, driver = 28
    Dec 14 21:35:16 kernel: sda : extended sense code = 2
    Dec 14 21:35:16 kernel: sda : block size assumed to be 512 bytes, disk size 1GB.
    Dec 14 21:35:16 kernel:  sda:scsidisk I/O error: dev 08:00, sector 0
    Dec 14 21:35:16 kernel:  unable to read partition table
    Dec 14 21:35:16 kernel: sda : READ CAPACITY failed.
    Dec 14 21:35:16 kernel: sda : status = 0, message = 00, host = 0, driver = 28
    Dec 14 21:35:16 kernel: sda : extended sense code = 2
    Dec 14 21:35:16 kernel: sda : block size assumed to be 512 bytes, disk size 1GB.
    Dec 14 21:35:16 kernel:  sda:scsidisk I/O error: dev 08:00, sector 0
    Dec 14 21:35:16 kernel:  unable to read partition table

    --------------------------------------------------------------------------------

    When using the drive by means of an Adaptec PCMCIA card in slot 0,
    if disk is in drive, when the command:

    # cardctl insert 0

    is performed, we see the following message on the console (Ctrl+Alt+F10):

    Dec 14 19:05:31 kernel: aha152x: processing commandline: ok
    Dec 14 19:05:31 kernel: aha152x: BIOS test: passed, detected 1 controller(s)
    Dec 14 19:05:31 kernel: aha152x0: vital data: PORTBASE=0x140, IRQ=3, SCSI ID=7, reconnect=enabled, parity=enabled, synchronous=disabled, delay=100, extended translation=disabled
    Dec 14 19:05:31 kernel: aha152x: trying software interrupt, ok.
    Dec 14 19:05:31 kernel: scsi1 : Adaptec 152x SCSI driver; $Revision: 1.7 $
    Dec 14 19:05:31 kernel: scsi : 2 hosts.
    Dec 14 19:05:32 kernel:   Vendor: Maxoptix  Model: T3-1304           Rev: 1.1c
    Dec 14 19:05:32 kernel:   Type:   Direct-Access                      ANSI SCSI revision: 02
    Dec 14 19:05:32 kernel: Detected scsi disk sda at scsi1, channel 0, id 6, lun 0
    Dec 14 19:05:32 kernel: SCSI device sda: hdwr sector= 512 bytes. Sectors= 904995 [441 MB] [0.4 GB]
    Dec 14 19:05:33 kernel:  sda: sda1 < sda5 >

    If no disk is inserted when booting Linux, get the following message on the console:

    Dec 14 18:55:23 kernel: Detected scsi disk sda at scsi1, channel 0, id 6, lun 0
    Dec 14 18:55:24 kernel: sda: Spinning up disk....<7>ROM image dump:
    Dec 14 18:57:02 kernel: ...................................................................................................not responding...
    Dec 14 18:57:02 kernel: sda : READ CAPACITY failed.
    Dec 14 18:57:02 kernel: sda : status = 0, message = 00, host = 0, driver = 28
    Dec 14 18:57:02 kernel: sda : extended sense code = 2
    Dec 14 18:57:02 kernel: sda : block size assumed to be 512 bytes, disk size 1GB.
    Dec 14 18:57:02 kernel:  sda:SCSI disk error : host 1 channel 0 id 6 lun 0 return code = 28000000
    Dec 14 18:57:02 kernel: [valid=0] Info fld=0x0, Current sd08:00: sense key Not Ready
    Dec 14 18:57:02 kernel: Additional sense indicates Medium not present
    Dec 14 18:57:02 kernel: scsidisk I/O error: dev 08:00, sector 0
    Dec 14 18:57:02 kernel:  unable to read partition table
    Dec 14 18:57:03 kernel: scsi2 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.1.25/3.2.4
    Dec 14 18:57:03 kernel:        <Adaptec PCMCIA SCSI controller>
    Dec 14 18:57:03 kernel: scsi : 3 hosts.
    Dec 14 18:57:08 kernel: scsi : 2 hosts.

    --------------------------------------------------------------------------------

    When using the disks which come pre-formatted with 1024 bytes per sector,
    it's important to use the -b 1024 flag with fdisk, otherwise
    the partitioning isn't correctly written by the hardware,
    and mke2fs hangs, so that the system cannot be shutdown cleanly.

    When making the filesystem using mke2fs, don't use the defaults,
    since depending on the media size, the block size which is chosen by mke2fs
    might only be 1024, which is way too small. We want to always use 4096 as the
    block size, otherwise writing to the disk becomes very slow indeed.

    So for a disk with 1024-bytes per sector, the sequence of commands would be:

    # fdisk -b 1024 /dev/sda
    # mke2fs -b 4096 -m 0 /dev/sda5
    # e2fsck -f -B 4096 /dev/sda5 -b 98304   (-b 98304 uses an alternate superblock)

    # mke2fs -b 4096 -m 0 /dev/sda5
    mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    79680 inodes, 159216 blocks
    0 blocks (0.00%) reserved for the super user
    First data block=0
    5 block groups
    32768 blocks per group, 32768 fragments per group
    15936 inodes per group
    Superblock backups stored on blocks:
    32768, 98304

    Writing inode tables: done
    Writing superblocks and filesystem accounting information: done

    # time (cp ~guest/kernel/linux-2.2.15.tar.gz .;sync;sync;sync)

    real    0m28.411s
    user    0m0.010s
    sys     0m2.590s

    # time (cp ~guest/kernel/*.gz .;sync;sync;sync)

    real    3m54.046s
    user    0m0.060s
    sys     0m2.910s

    -----------------------------------------------------------------------
    For 512-byte sectors, the output of mke2fs is as follows for a 1G disk:

    # mke2fs -m 0 /dev/sda5
    mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
    Filesystem label=
    OS type: Linux
    Block size=1024 (log=0)
    Fragment size=1024 (log=0)
    112896 inodes, 451552 blocks
    0 blocks (0.00%) reserved for the super user
    First data block=1
    56 block groups
    8192 blocks per group, 8192 fragments per group
    2016 inodes per group
    Superblock backups stored on blocks:
    8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

    Writing inode tables: done
    Writing superblocks and filesystem accounting information: done

    # time (cp ~guest/kernel/*.gz .;sync;sync;sync)

    real    3m54.046s
    user    0m0.060s
    sys     0m2.910s

    --------------------------------------------------------------------------------
    Note the difference in storage of a disk formatted for
    1024 bytes per sectos, and 512 bytes per sector,
    for the same 1.3GB capacity claimed on the disk label.
    It is about 9.5% more for the 1024 format.

    1.3 GB 512 bytes/sector:
    df -k .
    Filesystem           1k-blocks      Used Available Use% Mounted on
    /dev/sda5               572436       740    571696   0% /mnt/max

    1.3 GB 1024 bytes/sector, using 4096 block size in mke2fs:
    df -k .
    Filesystem           1k-blocks      Used Available Use% Mounted on
    /dev/sda5               626840    112208    514632  18% /mnt/max

    --------------------------------------------------------------------------------
    This is the output of fdisk partitioning created by Win98 on the 1.3GB 1024 bytes/sector disk:

    Disk /dev/sda: 64 heads, 32 sectors, 311 cylinders
    Units = cylinders of 2048 * 1024 bytes

    Device Boot    Start       End    Blocks   Id  System
    /dev/sda1   ?    937477   1203315 544437093   20  Unknown
    Partition 1 has different physical/logical beginnings (non-Linux?):
    phys=(356, 97, 46) logical=(937476, 3, 15)
    Partition 1 has different physical/logical endings:
    phys=(357, 116, 40) logical=(1203314, 30, 19)
    Partition 1 does not end on cylinder boundary:
    phys=(357, 116, 40) should be (357, 63, 32)
    /dev/sda2   ?    649505    912677 538976288   6b  Unknown
    Partition 2 has different physical/logical beginnings (non-Linux?):
    phys=(288, 110, 57) logical=(649504, 0, 11)
    Partition 2 has different physical/logical endings:
    phys=(269, 101, 57) logical=(912676, 1, 10)
    Partition 2 does not end on cylinder boundary:
    phys=(269, 101, 57) should be (269, 63, 32)
    /dev/sda3   ?    263179    945973 1398362912   53  OnTrack DM6 Aux3
    Partition 3 has different physical/logical beginnings (non-Linux?):
    phys=(345, 32, 19) logical=(263178, 26, 16)
    Partition 3 has different physical/logical endings:
    phys=(324, 77, 19) logical=(945972, 51, 15)
    Partition 3 does not end on cylinder boundary:
    phys=(324, 77, 19) should be (324, 63, 32)
    /dev/sda4   *    680971    680981     21337   49  Unknown
    Partition 4 has different physical/logical beginnings (non-Linux?):
    phys=(87, 1, 0) logical=(680970, 34, 16)
    Partition 4 has different physical/logical endings:
    phys=(335, 78, 2) logical=(680980, 61, 8)
    Partition 4 does not end on cylinder boundary:
    phys=(335, 78, 2) should be (335, 63, 32)

    Command (m for help): q

    Similarly, this is the output of fdisk partitioning created by Win98 on the 1GB 512 bytes/sector disk:

    # fdisk -b 512 /dev/sda

    Command (m for help): p

    Disk /dev/sda: 64 heads, 32 sectors, 441 cylinders
    Units = cylinders of 2048 * 512 bytes

    Device Boot    Start       End    Blocks   Id  System
    /dev/sda1   ?    937477   1203315 272218546+  20  Unknown
    Partition 1 has different physical/logical beginnings (non-Linux?):
    phys=(356, 97, 46) logical=(937476, 3, 15)
    Partition 1 has different physical/logical endings:
    phys=(357, 116, 40) logical=(1203314, 30, 19)
    Partition 1 does not end on cylinder boundary:
    phys=(357, 116, 40) should be (357, 63, 32)
    /dev/sda2   ?    649505    912677 269488144   6b  Unknown
    Partition 2 has different physical/logical beginnings (non-Linux?):
    phys=(288, 110, 57) logical=(649504, 0, 11)
    Partition 2 has different physical/logical endings:
    phys=(269, 101, 57) logical=(912676, 1, 10)
    Partition 2 does not end on cylinder boundary:
    phys=(269, 101, 57) should be (269, 63, 32)
    /dev/sda3   ?    263179    945973 699181456   53  OnTrack DM6 Aux3
    Partition 3 has different physical/logical beginnings (non-Linux?):
    phys=(345, 32, 19) logical=(263178, 26, 16)
    Partition 3 has different physical/logical endings:
    phys=(324, 77, 19) logical=(945972, 51, 15)
    Partition 3 does not end on cylinder boundary:
    phys=(324, 77, 19) should be (324, 63, 32)
    /dev/sda4   *    680971    680981     10668+  49  Unknown
    Partition 4 has different physical/logical beginnings (non-Linux?):
    phys=(87, 1, 0) logical=(680970, 34, 16)
    Partition 4 has different physical/logical endings:
    phys=(335, 78, 2) logical=(680980, 61, 8)
    Partition 4 does not end on cylinder boundary:
    phys=(335, 78, 2) should be (335, 63, 32)

    Question: Which partition is the data in, and how do we mount it?
    None of the start/end values make any sense to Linux.
    --------------------------------------------------------------------------------
    Comparison of media sizes and speeds:
    =====================================

    Using the following files:

    # ls -l ~guest/kernel/*gz
    -rw-r-----   1 guest  users    16371764 May 24  2000 /home/guest/kernel/linux-2.2.15.tar.gz
    -rw-rw-rw-   1 guest  users    17106471 Jun 15  2000 /home/guest/kernel/linux-2.2.16.tar.gz
    -rw-r--r--   1 guest  users    20881782 May 25  2000 /home/guest/kernel/linux-2.3.99-pre9.tar.gz
    -rw-rw-rw-   1 guest  users    21085275 Jun 16  2000 /home/guest/kernel/linux-2.4.0-test1.tar.gz
    -rw-r--r--   1 guest  users    22888582 Oct  3 08:36 /home/guest/kernel/linux-2.4.0-test9.tar.gz

    The tests consisted of simply copying the above files to the drive.
    Sometimes the media is new, sometimes previously written to.
    It seems that new media is slightly faster to write to.
    %-------------------------------------------------------------------------------%

    On media identified as follows:
    P/N 2015382-0010 Max-GL (Optical Glass) Jukebox Certified Rewritable 1.3GB 512

    # fdisk /dev/sda

    Command (m for help): p

    Disk /dev/sda: 64 heads, 32 sectors, 568 cylinders
    Units = cylinders of 2048 * 512 bytes

    Device Boot    Start       End    Blocks   Id  System
    /dev/sda1             1       568    581616    5  Extended
    /dev/sda5             1       568    581600   83  Linux

    # mke2fs -m 0 -b 4096 /dev/sda5
    mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    72800 inodes, 145400 blocks
    0 blocks (0.00%) reserved for the super user
    First data block=0
    5 block groups
    32768 blocks per group, 32768 fragments per group
    14560 inodes per group
    Superblock backups stored on blocks:
    32768, 98304

    Writing inode tables: done
    Writing superblocks and filesystem accounting information: done

    Filesystem           1k-blocks      Used Available Use% Mounted on
    /dev/sda5               572436        20    572416   0% /mnt/max

    # time (cp ~guest/kernel/linux-2.2.15.tar.gz .;sync;sync;sync)

    real    0m29.099s
    user    0m0.010s
    sys     0m1.430s

    # time (cp ~guest/kernel/*.gz .;sync;sync;sync)

    real    4m18.446s
    user    0m0.010s
    sys     0m3.880s

    %-------------------------------------------------------------------------------%

    On media identified as follows:
    P/N 1015386RW Max-GL (Optical Glass) Jukebox Certified Rewritable 1GB 512

    fdisk shows:
    Disk /dev/sda: 64 heads, 32 sectors, 441 cylinders
    Units = cylinders of 2048 * 512 bytes

    Device Boot    Start       End    Blocks   Id  System
    /dev/sda1             1       441    451568    5  Extended
    /dev/sda5             1       441    451552   83  Linux

    # mke2fs -m 0 -b 4096 /dev/sda5
    mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    112896 inodes, 112888 blocks
    0 blocks (0.00%) reserved for the super user
    First data block=0
    4 block groups
    32768 blocks per group, 32768 fragments per group
    28224 inodes per group
    Superblock backups stored on blocks:
    32768, 98304

    Writing inode tables: done
    Writing superblocks and filesystem accounting information: done

    Filesystem           1k-blocks      Used Available Use% Mounted on
    /dev/sda5               437384        20    437364   0% /mnt/max

    # time (cp ~guest/kernel/linux-2.2.15.tar.gz .;sync;sync;sync)

    real    0m34.220s
    user    0m0.100s
    sys     0m5.610s

    # time (cp ~guest/kernel/*.gz .;sync;sync;sync)

    real    4m8.846s
    user    0m0.280s
    sys     0m28.500s

    %-------------------------------------------------------------------------------%

    On media identified as follows: (obtained from eBay:Borismcbin)
    MaxEP Rewritable 1GB 512 (Tahiti P/N 1015387-0040)

    Filesystem           1k-blocks      Used Available Use% Mounted on
    /dev/sda5               437384        20    437364   0% /mnt/max

    # time (cp ~guest/kernel/linux-2.2.15.tar.gz .;sync;sync;sync)

    real    0m30.321s
    user    0m0.010s
    sys     0m1.340s

    # time (cp ~guest/kernel/*.gz .;sync;sync;sync)

    real    3m32.851s
    user    0m0.010s
    sys     0m4.340s

    %-------------------------------------------------------------------------------%

    On media identified as follows: (obtained from eBay:Surpuluseller)
    MaxEP Rewritable 1.2GB 512 (P/N: PN2015383RW)
    "Maxoptix PN2015383RW FORMATTED ERASABLE OPTICAL CARTRIDGE 1.2 GIGABYTE 512 BYTES/SECTOR"

    # fdisk /dev/sda

    Command (m for help): p

    Disk /dev/sda: 64 heads, 32 sectors, 568 cylinders
    Units = cylinders of 2048 * 512 bytes

    Device Boot    Start       End    Blocks   Id  System
    /dev/sda1             1       568    581616    5  Extended
    /dev/sda5             1       568    581600   83  Linux

    # mke2fs -m 0 -b 4096 /dev/sda5
    mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    72800 inodes, 145400 blocks
    0 blocks (0.00%) reserved for the super user
    First data block=0
    5 block groups
    32768 blocks per group, 32768 fragments per group
    14560 inodes per group
    Superblock backups stored on blocks:
    32768, 98304

    Writing inode tables: done
    Writing superblocks and filesystem accounting information: done

    Filesystem           1k-blocks      Used Available Use% Mounted on
    /dev/sda5               572436        20    572416   0% /mnt/max

    # time (cp ~guest/kernel/linux-2.2.15.tar.gz .;sync;sync;sync)

    real    0m28.979s
    user    0m0.000s
    sys     0m2.600s

    # time (cp ~guest/kernel/*.gz .;sync;sync;sync)

    real    4m0.486s
    user    0m0.000s
    sys     0m1.400s

    %-------------------------------------------------------------------------------%

    On media identified as follows:
    HEWLLET PACKARD REWRITABLE OPTICAL DISK (Type R/W - CC Format)
    1.3 Gbytes 1024 Byte/Sector
    Reorder No: 92280T
    Made in Japan.

    # fdisk -b 1024 /dev/sda

    Command (m for help): p

    Disk /dev/sda: 64 heads, 32 sectors, 311 cylinders
    Units = cylinders of 2048 * 1024 bytes

    Device Boot    Start       End    Blocks   Id  System
    /dev/sda1             1       311    636896    5  Extended
    /dev/sda5             1       311    636864   83  Linux

    Command (m for help): q

    Filesystem           1k-blocks      Used Available Use% Mounted on
    /dev/sda5               626840        20    626820   0% /mnt/max

    # mke2fs -m 0 -b 4096 /dev/sda5

    mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    79680 inodes, 159216 blocks
    0 blocks (0.00%) reserved for the super user
    First data block=0
    5 block groups
    32768 blocks per group, 32768 fragments per group
    15936 inodes per group
    Superblock backups stored on blocks:
    32768, 98304

    Writing inode tables: done
    Writing superblocks and filesystem accounting information: done

    # time (cp ~guest/kernel/linux-2.2.15.tar.gz .;sync;sync;sync)

    real    0m28.411s
    user    0m0.020s
    sys     0m1.570s

    # time (cp ~guest/kernel/*.gz .;sync;sync;sync)

    real    4m19.854s
    user    0m0.010s
    sys     0m2.350s

    %-------------------------------------------------------------------------------%

    Peter Knaggs <Peter.Knaggs@oracle.com>

## 4.11 Magneto Optical Information, IDE/ATAPI and FAT/VFAT info - Alexander Voropay

Alexander supplied me with some very informative points. He has ask me to pass that information on to you. Without fully understanding all areas that he knows, I am attempting to pass it on to you as best I can;

### Type of 3.5" MO drives

There are two kind of 3.5" Magneto Optical drives : DynamMO and GigaMO

DynaMO : 128Mb, 230Mb, 540Mb and 640Mb (this drive has 2048Kb/sector)

GigaMO : 1.3Gb, 2.3Gb (2048Kb/sector)

### MO Cartridges specifications :

- Sony's GigaMO Media Specifications
- Professional Media Specifications

### MO drives with IDE/ATAPI interface

(Sony, Fujitsu) has a models with different interfaces : SCSI, IDE/ATAPI, USB, FireWire, PCMCIA. I think, we should expand your HOWTO to this models.

For example, to work with IDE/ATAPI interface you should install "ide-scsi" kernel module :

    # modprobe ide-scsi
    # dmesg
    ....
    sscsi1 : SCSI host adapter emulation for IDE ATAPI devices
    Vendor: IomintSA  Model: MCE3130AP-MO1300  Rev: 0011
    Type:   Optical Device                     ANSI SCSI revision: 02
    Attached scsi removable disk sdb at scsi1, channel 0, id 1, lun 0 SCSI
    device sdb: 605846 2048-byte hdwr sectors (1241 MB)
    sdb: Write Protect is off
    sdb:

### Accessing FAT and VFAT MO

You could use "mtool" package to access a FAT/VFAT on MO. Mtools page to FAT and VFAT File systems

    First of all, you should define a new drive M: in
    /etc/mtools.conf
    =====
    drive m: file="/dev/sdb"
    =====

    # minfo m:
    # mformat m:
    # mdir m:

    You should use -I key to format MO media
    with mkfs.vfat :
    # mkfs.vfat -I -v /dev/sdb

    Unfortunately, Linux kernel uses bogus MO drive
    geometry even for SCSI drives. It makes sense only
    for BPB FAT filesystem (ext2fs does not depend on drive
    geometry). To compatibility with Windows system you
    should use real geometry (1 Head) while formatting.
    (See cartridge specifications for real geometry.)

    For example for 230Mb DynaMO you should define in
    /etc/mtools.conf
    =====
    drive m:
    file="/dev/sdb"
    cylinders=17853 heads=1 sectors=25
    mformat_only
    =====

    # mformat m:
    ...
    ## minfo m:

    Alexander Voropay
    <alec@vmb-service.ru>

Next Previous Contents