autodiskmount/mount_cd9660

Discussion in 'Mac Help/Tips' started by WigginsD, Sep 28, 2002.

  1. WigginsD macrumors newbie

    Joined:
    Sep 28, 2002
    Location:
    Indianapolis
    #1
    Anyone else experiencing/experienced this problem? Any help/info is greatly appreciated.

    I have a set of cds that contain MP3 files that I am trying to access. The cds have been burned on multiple brands of cd (Sony, Maxell, Imation), with multiple burners (HP 7200, Plextor 12/10/32). Regular audio cds work fine. After tinkering with mount_cd9660, I found that the title of the disk is read properly and there is a directory created in the /Volumes for the cd, and automount attempts to mount the disk putting the following in /var/log/system.log:

    Sep 29 01:04:13 Computer /sbin/autodiskmount[191]: DiskVolume_mount_foreign: unrecognized return code from foreignMountDevice: -4
    Sep 29 01:04:13 Computer /sbin/autodiskmount[191]: disk1s0 udf no no MP320020221 [not mounted]

    Also after messing with mount_cd9660 I found that I could successfully mount the disk on the directory in the /Volumes directory that (I assume) autodiskmount is creating. And that the contents work properly.

    So this rules out it being a problem with the hardware, the media, firmware, etc. It pretty much has to be a problem with autodiskmount recognizing the disk as a "udf" disk rather than a "iso9660" disk, is there a way around this, so that autodiskmount will pickup the cd properly? thanks in advance...

    System Info: G4 Ti Powerbook 500 running relatively fresh install (two days old) of 10.2 updated to 10.2.1.
     
  2. mmcneil macrumors regular

    Joined:
    Sep 4, 2001
    Location:
    San Diego, CA
    #2
    AutoDisk

    The autodisk function is called at some point during startup. It is in the file /System/Library/StartupItems/Disks/Disks



    The file contains this function:
    StartService ()
    {
    if [ ! -f /var/db/volinfo.database ]; then Uninitialized_VSDB=-YES-; fi

    ConsoleMessage "Checking disks"
    /sbin/autodiskmount -va

    if [ "${Uninitialized_VSDB:=-NO-}" = "-YES-" ]; then vsdbutil -i; fi
    }


    The directory also contains:
    -rwxr-xr-x 1 root wheel 379 Jul 27 18:00 Disks
    drwxr-xr-x 3 root wheel 102 Jul 27 18:00 Resources
    -rw-r--r-- 1 root wheel 138 Jul 27 18:00 StartupParameters.plist

    You might try one of two things:
    1) Put a script CDMount into this directory that contains the executable commands that work. Make sure it has the same permissions as the file Disks. Restart and see if the disk gets executed. You could watch this happen if you put a ConsoleMessage in the file and startup in the Verbose mode - hold down command-V during start.

    2) Modify the Disks file and add the appropriate lines to the StartService () function.

    I actually like 1) better - it's a lot safer and should work. I believe startup goes through every directory and executes all scripts in the directory. Make sure you start the script file with #!/bin/sh - that ensures that it will execute as a shell script.

    StopService is called from . /etc/rc.common which then uses the functions defined in the file Disks - which calls it - an interesting case of indirection:D
     

Share This Page