site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=xPi9v9crovBvuGwqdxJT/aGwpIOd0vbxN3CClu0a5z8=; b=hhCnYUB3D1juN51NrLojMKBG1wgHKEJc3sjLUS+qfGJ8rFV4YPYsIp0afbf3XhMRF2 djXd6QNjAaaMvuid4CmIatUAAuqPkoi2+9ldnFROhV+hB3pO5NVWprQp9hbYTATEL/69 FobQ3eUJcxmRHrli1XFcAEdnTveXL+C2OJTpU= Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=tZENpU1z4eaODy8epmS4NEZr1i3LOqY1Js5fHY0dZ1fqr67ceM0bl0XVpOhx/P+FJi UOd3P47DHg7lcKduPbu5xmoV6NuDha5Q0osX3LVfEsYnKTYbbcTXn/nzNFHD58+uwYZI l62RbsAUrF3YoGztphWPqSpIuhGnIv3qt4az4= Hi, WorkingwithSAM.pdf also states that: $00 for block storage devices that comply with the SCSI block commands specification $05 for multimedia devices that comply with the SCSI multimedia commands specification $07 for magneto-optical devices that comply with the SCSI block commands specification $0E for reduced block command devices that comply with the SCSI reduced block commands specification Now how do I check if a device falls in a particular category. Is there anyway I know that a device is $00,05,07 or 0E ? Also, I see that SCSI commands require SCSITaskDeviceInterface **interface ex: void Inquiry(SCSITaskDeviceInterface **interface) On looking further I see this: interface = ( *mmcInterface )->GetSCSITaskDeviceInterface ( mmcInterface ); But this is only for MMCDevice Interface. What about SCSI devices? Thanks On 7/24/09, mlists@ugsoft.de <mlists@ugsoft.de> wrote:
Am 24.07.2009 um 05:55 schrieb Terry Lambert:
Since no one else posted...
Apparently the last machine I used had your tools installed on, which generated BSD device stubs for my QIC tape drive when I plugged it it. 8-).
Ok. What we are doing with our tools is to create pseudo device files in /etc/UGSdev, e.g. /etc/UGSdev/nst0, which can be passed as remote devices (e.g. 127.0.0.1:/etc/UGSdev/nst0) to command line tools such as tar, xtar, dump/restore, mt, etc., so that our rmt will communicate with the SCSI, FireWire, USB and FibreChannel tape/changer devices. Please take a look at http://www.ugsoft.de/intl/faq.html#xtarntape for more information on that.
For those who are interested: The tools esbdump, esbrestore, esbmt, rmt and the smtc tape device "driver" are free to use and are included in ES-Backup http://www.ugsoft.de/intl/esbackup . No registration nor activation keys required to use the shell commands. See included License document. Since no source code is included one won't be able to learn how to do the SCSI programming on OS X, though. In addition to the functionality of the corresponding Unix tools such as the standard dump tape format, our tools offer support for Mac OS X file attributes, resource forks, etc., as well as direct tape positioning during restore which make them usefull for today's large amounts of backup data. Also, these tools are used in our commercial product ES-Backup on Mac OS X Intel and PPC, Solaris SPARC and x86, Linux x86 - but this is off-topic.
The officially supported interface is SCSITaskDeviceInterface, from a user
client. Sorry for the confusion.
I thought I've missed something ;-)
Uwe
Rohan: This means "no, you can not use an ioctl".
-- Terry
On Jul 23, 2009, at 7:04 AM, mlists@ugsoft.de wrote:
Am 23.07.2009 um 13:26 schrieb Terry Lambert:
Did you go to <http://developer.apple.com> and read the document "SCSI
Architecture Model Device Interface Guide"?
It states:
"By design, Mac OS X does not allow applications to send SCSI or ATA
commands to storage devices unless the application developer also provides an in-kernel device driver that supports the commands."
One of the intents if this is to allow the driver to model state for
such coomands such that the state if the device is known to the driver at all times.
For standard tape devices, you should not need to write your own
driver; if you plug the device in, it will show up in /dev,
Never seen a tape drive, neither SCSI, FireWire, USB nor FibreChannel connected to Mac OS X 10.2 up to 10.5 which shows up in /dev. What device filename should I look for?
and you can at least issue reads, writes, and standard commands, such as causing a rewind, via the device file. For non-standard commands, such as you would use to control loading and unloading tapes in a tape robot, etc., you will need to write an in-kernel driver that knows how to talk to the hardware and subclasses the more generic device (i.e. the IOKit model lets you write only the missing pieces implementing the missing control commands; you don't write a whole driver that implements read/write/etc.).
Instead we use SCSITaskDeviceInterface functions from userland as described in Apple's SCSI Architecture Model Device Interface Guide "WorkingWithSAM.pdf" in order to implement a "SCSI pass-thru" functionality. No additional driver required.
Uwe
On 7/24/09, mlists@ugsoft.de <mlists@ugsoft.de> wrote:
Am 24.07.2009 um 05:55 schrieb Terry Lambert:
Since no one else posted...
Apparently the last machine I used had your tools installed on, which generated BSD device stubs for my QIC tape drive when I plugged it it. 8-).
Ok. What we are doing with our tools is to create pseudo device files in /etc/UGSdev, e.g. /etc/UGSdev/nst0, which can be passed as remote devices (e.g. 127.0.0.1:/etc/UGSdev/nst0) to command line tools such as tar, xtar, dump/restore, mt, etc., so that our rmt will communicate with the SCSI, FireWire, USB and FibreChannel tape/changer devices. Please take a look at http://www.ugsoft.de/intl/faq.html#xtarntape for more information on that.
For those who are interested: The tools esbdump, esbrestore, esbmt, rmt and the smtc tape device "driver" are free to use and are included in ES-Backup http://www.ugsoft.de/intl/esbackup . No registration nor activation keys required to use the shell commands. See included License document. Since no source code is included one won't be able to learn how to do the SCSI programming on OS X, though. In addition to the functionality of the corresponding Unix tools such as the standard dump tape format, our tools offer support for Mac OS X file attributes, resource forks, etc., as well as direct tape positioning during restore which make them usefull for today's large amounts of backup data. Also, these tools are used in our commercial product ES-Backup on Mac OS X Intel and PPC, Solaris SPARC and x86, Linux x86 - but this is off-topic.
The officially supported interface is SCSITaskDeviceInterface, from a user
client. Sorry for the confusion.
I thought I've missed something ;-)
Uwe
Rohan: This means "no, you can not use an ioctl".
-- Terry
On Jul 23, 2009, at 7:04 AM, mlists@ugsoft.de wrote:
Am 23.07.2009 um 13:26 schrieb Terry Lambert:
Did you go to <http://developer.apple.com> and read the document "SCSI
Architecture Model Device Interface Guide"?
It states:
"By design, Mac OS X does not allow applications to send SCSI or ATA
commands to storage devices unless the application developer also provides an in-kernel device driver that supports the commands."
One of the intents if this is to allow the driver to model state for
such coomands such that the state if the device is known to the driver at all times.
For standard tape devices, you should not need to write your own
driver; if you plug the device in, it will show up in /dev,
Never seen a tape drive, neither SCSI, FireWire, USB nor FibreChannel connected to Mac OS X 10.2 up to 10.5 which shows up in /dev. What device filename should I look for?
and you can at least issue reads, writes, and standard commands, such as causing a rewind, via the device file. For non-standard commands, such as you would use to control loading and unloading tapes in a tape robot, etc., you will need to write an in-kernel driver that knows how to talk to the hardware and subclasses the more generic device (i.e. the IOKit model lets you write only the missing pieces implementing the missing control commands; you don't write a whole driver that implements read/write/etc.).
Instead we use SCSITaskDeviceInterface functions from userland as described in Apple's SCSI Architecture Model Device Interface Guide "WorkingWithSAM.pdf" in order to implement a "SCSI pass-thru" functionality. No additional driver required.
Uwe
_______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... This email sent to site_archiver@lists.apple.com
participants (1)
-
rohan a