Messages in this thread | | | Subject | Re: cdrecord dev=ATA cannont scanbus as non-root [u] | From | "Martin Schlemmer [c]" <> | Date | Wed, 01 Dec 2004 23:16:13 +0200 |
| |
On Tue, 2004-11-30 at 08:16 +0100, Jens Axboe wrote: > On Mon, Nov 29 2004, J.A. Magallon wrote: > > dev=ATAPI uses ide-scsi interface, through /dev/sgX. And: > > > > > scsibus: -1 target: -1 lun: -1 > > > Warning: Using ATA Packet interface. > > > Warning: The related Linux kernel interface code seems to be unmaintained. > > > Warning: There is absolutely NO DMA, operations thus are slow. > > > > dev=ATA uses direct IDE burning. Try that as root. In my box, as root: > > Oh no, not this again... Please check the facts: the ATAPI method uses > the SG_IO ioctl, which is direct-to-device. It does _not_ go through > /dev/sgX, unless you actually give /dev/sgX as the device name. It has > nothing to do with ide-scsi. Period. > > ATA uses CDROM_SEND_PACKET. This has nothing to do with direct IDE > burning, it's a crippled interface from the CDROM layer that should not > be used for anything. scsi-linux-ata.c should be ripped from the > cdrecord sources, or at least cdrecord should _never_ select that > transport for 2.6 kernels. For 2.4 you are far better off using > ide-scsi. > > > The scan through ATA lasts much less than with ATAPI, and you can burn with > > dev=ATA:1,0,0 or dev=/dev/burner, which is the new recommended way. > > No! ATAPI is the recommended way. >
Ok, so I am a bit confused here. We basically have 3 ways to use cdrecord on linux-2.6 without ide-scsi:
1) cdrecord dev=/dev/hdx 2) cdrecord dev=ATA 3) cdrecord dev=ATAPI
Now, if I run all three and grep for '^Warning', I get:
----- $ cdrecord dev=/dev/cdrw -scanbus 2>&1 | grep '^Warning' Warning: Open by 'devname' is unintentional and not supported. $ cdrecord dev=ATA -scanbus 2>&1 | grep '^Warning' Warning: Using badly designed ATAPI via /dev/hd* interface. $ cdrecord dev=ATAPI -scanbus 2>&1 | grep '^Warning' Warning: Using ATA Packet interface. Warning: The related Linux kernel interface code seems to be unmaintained. Warning: There is absolutely NO DMA, operations thus are slow. $ -----
Which means:
1) dev=/dev/hdx - Open by 'devname' is unintentional and not supported. 2) dev=ATA - Using badly designed ATAPI via /dev/hd* interface. 3) dev=ATAPI - Using ATA Packet interface. (And some nice things about it not being maintained and slow)
If I check the source for that, I get:
----- libscg $ grep "Open by 'devname' is unintentional and not supported." * scsi-linux-sg.c: "Warning: Open by 'devname' is unintentional and not supported.\n"); libscg $ grep 'Using badly designed ATAPI via /dev/hd\* interface.' * scsi-linux-sg.c: "Warning: Using badly designed ATAPI via /dev/hd* interface.\n"); libscg $ grep 'Using ATA Packet interface.' * scsi-linux-ata.c: error("Warning: Using ATA Packet interface.\n"); libscg # -----
Which hopefully (without really checking the source) means each are implemented in these source files:
1) dev=/dev/hdx - scsi-linux-sg.c 2) dev=ATA - scsi-linux-sg.c 3) dev=ATAPI - scsi-linux-ata.c
So if I take note of you comment above about scsi-linux-ata.c (or actually give a fart about Jorg's warning about unmaintained and slow), should ATA rather than ATAPI not be the recommended way??
Also, how about having the kernel print a warning when the depreciated interface (ATAPI??) is used ?
Thanks,
-- Martin Schlemmer
[unhandled content-type:application/pgp-signature] | |