lkml.org 
[lkml]   [2004]   [Dec]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: cdrecord dev=ATA cannont scanbus as non-root [u]
    From
    Date
    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]
    \
     
     \ /
      Last update: 2005-03-22 14:08    [W:3.336 / U:0.088 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site