On Sat, Jun 05, 2010 at 05:21:04PM +0200, Adrian Glaubitz wrote: > On Mon, May 31, 2010 at 07:58:26AM +0200, Thomas Arp wrote: > > > On the other hand we still have the problem that apparently we cannot > > > send any SCSI commands to non-CD/DVD/BD drives on MacOS X. We will > > > need to patch cdrtools as well, so that it will also work with the > > > HiMD. When connecting a USB cdrom, the drive is detected by "cdrecord > > > -scanbus" so it's not an issue with the bus but rather with the drive > > > type. > > > > > > Any ideas? Michael was already suggesting that it's a matter of > > > cdrecord using the SCSI driver from MacOS which provides access to the > > > optical drives only. > > > > Can you check the source code? > > > > Take a look at libscg/scsi-mac-iokit.c on line 137ff. > > "LOCAL char *devnames[]" seems to hold the Services which are > > used by libscg. > > You can try to append "IOSCSIPeripheralDeviceNub" and test > > if this works. > > I appended "IOSCSIPeripheralDeviceNub" and re-compiled > cdrtools. However, cdrecord --scanbus still doesn't see the HiMD > Walkman. However, it seems that you are on the correct trail. > > There is a command line utility called "ioreg" on MacOS X. Calling it > with the HiMD Walkman connected results in: > > minimac2:~ zedv$ ioreg |grep Nub > | | | +-o IOSCSIPeripheralDeviceNub <class IOSCSIPeripheralDeviceNub, id 0x0, registered, matched, active, busy 0 (539 ms), retain 6> > | | | +-o com_sony_driver_SonyMagicGateNub <class com_sony_driver_SonyMagicGateNub, id 0x0, registered, matched, active, busy 0 (199 ms), retain 6> > | | | | +-o ATADeviceNub@0 <class ATADeviceNub, id 0x0, registered, matched, active, busy 0 (225 ms), retain 6> > | | | | +-o IOSCSIPeripheralDeviceNub <class IOSCSIPeripheralDeviceNub, id 0x0, registered, matched, active, busy 0 (62 ms), retain 6> > > So "IOSCSIPeripheralDeviceNub" is the correct interface to use. But > for some reason, cdrecord doesn't see the HiMD Walkman even though it > should be scanning that interface as well. Ok, Michael had a better idea. He suggested to use "IOBlockStorageServices" and not "IOSCSIPeripheralDeviceNub" and voila, it works: bash-3.2# /opt/schily/bin/cdrecord -scanbus Cdrecord-ProDVD-ProBD-Clone 2.01.01a78 (i386-apple-macosx10.3.0) Copyright (C) 1995-2010 J�g Schilling Using libscg version 'schily-0.9'. scsibus1: 1,0,0 100) 'MATSHITA' 'DVD-R UJ-846 ' 'FM3J' Removable CD-ROM 1,1,0 101) * 1,2,0 102) * 1,3,0 103) * 1,4,0 104) * 1,5,0 105) * 1,6,0 106) * 1,7,0 107) * scsibus3: 3,0,0 300) 'SONY ' 'Hi-MD WALKMAN ' '1000' Removable Disk 3,1,0 301) * 3,2,0 302) * 3,3,0 303) * 3,4,0 304) * 3,5,0 305) * 3,6,0 306) * 3,7,0 307) * bash-3.2# And, testing himdformat_scg: bash-3.2# ./himdformat_scg 3,0,0 Cannot open scsi driver. Hmm?! Am I missing something? I'm calling this as root so it can't be a permissions thing. I will continue to test anyway. Adrian