Re: cdrecord dev=ATA cannont scanbus as non-root [u]

From: Radoslaw Szkodzinski
Date: Thu Dec 02 2004 - 11:25:36 EST


On Wednesday 01 of December 2004 22:16, Martin Schlemmer [c] wrote:
> 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)
>

Well, dev=ATA:nr,nr,nr will not produce any warning and works correctly with
full performance.
dev=ATAPI:* gives bad performance and as stated above, shouldn't be used.
dev=/dev/hdx is just the same as dev=ATA:/dev/hdx, you can of course replace
it with correct numbers if you know them or an alias
in /etc/defaults/cdrecord.dfl (The path's from Gentoo, may be different
elsewhere.)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/