Запись дисков через ATAPI в Linux

Автор: AgBr

Есть у меня CD-RW. И на нем я иногда пишу. Однажды я задумался: Что жеэто за извращение такое, эмуляция scsi на ide? И решил я записать дискна ATAPI CD-RW через ATAPI. Что из этого вышло…
   
    Надо сказать конфигурацию моих CD приводов: hdc — DVD-ROM однойизвестной фирмы, hdd — CD-RW другой не менее известной фирмы.Linux-ядро — 2.4.26.
    Cdrecord 2.0 (i686-suse-linux) Copyright (C) 1995-2002 JЖrg Schilling.
   
    Отключил я эмуляцию scsi, стало у меня два нормальных IDE/ATAPIDVD/CD-ROMа. Тут же включил им DMA, одному UDMA/66, другому — UDMA/33.Диски стали читать заметно быстрее, но это к делу не относится. Полезночитать разного рода helpы и мануалы:
    cdrecord dev=help
   
    А вот и первый результат:
   

Supported SCSI transports for this platform:

Transport name: sg
Transport descr.: Generic transport independent SCSI
Transp. layer ind.:
Target specifier: bus,target,lun
Target example: 1,2,0
SCSI Bus scanning: supported
Open via UNIX device: not supported

Transport name: ATA
Transport descr.: ATA Packet specific SCSI transport
Transp. layer ind.: ATAPI:
Target specifier: bus,target,lun
Target example: ATAPI:1,2,0
SCSI Bus scanning: supported
Open via UNIX device: not supported


Transport name: RSCSI
Transport descr.: Remote SCSI
Transp. layer ind.: REMOTE:
Target specifier: rscsi@host:bus,target,lun
Target example: REMOTE:rscsi@host:1,2,0
SCSI Bus scanning: supported
Open via UNIX device: not supported

   
    Надо сказать, что запись через ATAPI поддерживается достаточнодавно, но ни в одном howto я этого не нашел. Поддерживается она на всехпоследних ядрах 2.4.x и на всех 2.6.x.
   
    Дальше все стало понятно:
   
    cdrecord dev=ATAPI:0,0,0 -checkdrive
   

Cdrecord 2.0 (i686-suse-linux) Copyright (C) 1995-2002 JЖrg Schilling
scsidev: ATAPI:0,0,0
devname: ATAPI
scsibus: 0 target: 0 lun: 0
Warning: Using ATA Packet interface.
Warning: The related libscg interface code is in pre alpha.
Warning: There may be fatal problems.
Using libscg version schily-0.7
Device type : Removable CD-ROM
Version : 0
Response Format: 2
Capabilities :
Vendor_info : xxxxxxx
Identifikation : DVD-ROM xxx-nnn
Revision : 1.04
Device seems to be: Generic mmc2 DVD-ROM.
cdrecord: Sorry, no CD/DVD-Recorder or unsupported CD/DVD-Recorder found on this target.

   
    Знакомьтесь — это мой DVD-ROM, но писать он не умеет, где же взять другое устройство? Очевидно оно по адресу ATAPI:0,1,0.
   
    cdrecord dev=ATAPI:0,1,0 -checkdrive
   

Cdrecord 2.0 (i686-suse-linux) Copyright (C) 1995-2002 JЖrg Schilling
scsidev: ATAPI:0,1,0
devname: ATAPI
scsibus: 0 target: 1 lun: 0
Warning: Using ATA Packet interface.
Warning: The related libscg interface code is in pre alpha.
Warning: There may be fatal problems.
Using libscg version schily-0.7
Device type : Removable CD-ROM
Version : 0
Response Format: 2
Capabilities :
Vendor_info : xxxx
Identifikation : CD-RW xxxnnnx
Revision : QYS1
Device seems to be: Generic mmc CD-RW.
Using generic SCSI-3/mmc CD-R driver (mmc_cdr).
Driver flags : MMC-3 SWABAUDIO BURNFREE FORCESPEED
Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R

   
    Ну вот и все, а дальше — как обычно:
   
    cdrecord -v dev=ATAPI:0,1,0 cdr.iso
   
    Целью моей задачи ставилось записать диск через ATAPI — получилось.Может, кто-то скажет, что он давно знал это, но во всех мануалах пишут(в обоих смыслах) через scsi. А не говорю, что это плохо, но можнопо-другому.