# Actual ATAPI burning

## PoLiPiE

you don't need the scsi-modules to write a cd 

if you have an atapi cd writer then do the following 

```
  cdrecord dev=ATAPI:0,1,0 -checkdrive 
```

the 0,1,0 can be something else according to your settings, 

i get the following if i do this 

```

Cdrecord 2.01a16 (i686-pc-linux-gnu) Copyright (C) 1995-2003 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: 1

Vendor_info    : 'SAMSUNG '

Identifikation : 'CD-R/RW SW-240B '

Revision       : 'R403'

Device seems to be: Generic mmc CD-RW.

Using generic SCSI-3/mmc   CD-R/CD-RW driver (mmc_cdr).

Driver flags   : MMC-2 SWABAUDIO BURNFREE FORCESPEED 

Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R96R

```

then i start 

```
 gcombust 
```

and the go to Burn and change the following settings below 

```
 

Device: ATAPI:0,1,0

Driver: mmc_cdr 

```

you can know what drive driver to use when u do the cdrecord stuff 

```
Using generic SCSI-3/mmc   CD-R/CD-RW driver (mmc_cdr).
```

----------

## puggy

Split from CD burning for dummies (SCSI Emulation - Standard Method) which was formerly known as ATAPI burning for dummies, but actually wasn't ATAPI burning at all.

Puggy

----------

## Sequentious

To add a tip for those more console oriented:

I found it useful to make a script that I use for burning iso files created with mkisofs:

```
#!/bin/bash

 

cdrecord dev=ATAPI:0,0,0 driveropts=burnfree speed=12 -v -data $*
```

Put this in your path (/usr/local/bin, perhaps) and you can call it, for example, with "burn-image myimage.iso". It saves alot of time for typing all the options, but is completely unneccessary if you are using gcombust as instructed (and encouraged) above.

----------

## funkmankey

I've none of the emulation or scsi options compiled in or built as modules, but this seems to work just fine:

```
%cdrecord dev=/dev/hdc --checkdrive

Cdrecord 2.01a14 (i686-pc-linux-gnu) Copyright (C) 1995-2003 J?rg Schilling

scsidev: '/dev/hdc'

devname: '/dev/hdc'

scsibus: -2 target: -2 lun: -2

Warning: Open by 'devname' is unintentional and not supported.

Linux sg driver version: 3.5.27

Using libscg version 'schily-0.7'

Device type    : Removable CD-ROM

Version        : 0

Response Format: 1

Vendor_info    : 'HP      '

Identifikation : 'CD-Writer+ 9100 '

Revision       : '1.0c'

Device seems to be: Generic mmc CD-RW.

Using generic SCSI-3/mmc   CD-R/CD-RW driver (mmc_cdr).

Driver flags   : MMC-2 SWABAUDIO

Supported modes: TAO PACKET SAO SAO/R96R RAW/R96R
```

that warning does not sound too good, but gcombust seems to be happy enough.

(using 2.6 test2 mm2)

----------

## billatq

Strangely enough, I couldn't get it to work with the ATAPI:0,1,0 style notation, but /dev/hdd did the trick just fine for me. It's a bit odd. I'm also using the 2.6 kernel though--2.4 never had a problem with the other notation.

----------

## variable

 *PoLiPiE wrote:*   

> 
> 
> ```
>  
> 
> ...

 

actually its 

```
Driver: mmc_cdr
```

----------

## rcxAsh

I think I'm missing something here... cdrecord gives me a command not found, and "emerge -s cdrecord" returns no results.

----------

## skunk

cdrecord is part of cdrtools

----------

## puggy

 *rcxAsh wrote:*   

> I think I'm missing something here... cdrecord gives me a command not found, and "emerge -s cdrecord" returns no results.

 

It's called cdrtools, an emerge -S crdrecord would have shows this up.

Puggy

----------

## rcxAsh

Oh yah, forgot about "-S"   :Embarassed:  Although, it takes forever on my computer.  Anyways, thanks.

Hmm, 

```
 $ cdrecord dev=/dev/hdd --checkdrive 
```

 doesn't work for me.  However, 

```
 $ cdrecord dev=ATAPI:0,1,0 -checkdrive 
```

 works just as PoLiPiE's did.  

Don't have anything to worth burning now though, so don't know how it will work in its entirety.  

Thanks a bunch though, I've wanted to get my CD Writer working for a while but have been to lazy to get scsi emulation working.

----------

## liuspider

But if u use usb based storage devices, I think the scsi emulation is necessary, isn't it?

----------

## ScubaStreb

K3b detects my ATAPI DVD/CDRW and writes to it perfectly.  No configuration was necessary.  I had problems with .8.1, but .9 is running great!

I had to use 

```
ACCEPT_KEYWORDS="~x86" emerge k3b
```

 to get the right version.

Cheers!

----------

## jekyl

Great tip!!   :Very Happy: 

----------

## DanWSB

xcdroast auto-detected and configured my ATAPI burner without issue, and in my opinion has a cleaner interface than gcombust. xcdroast also includes a wrapper that allows non-rooted users to burn CDs, which is quite nice.

----------

## xlyz

```
 cdrecord dev=/dev/hdb --checkdrive
```

gives me

```
Cdrecord 2.01a14 (i686-pc-linux-gnu) Copyright (C) 1995-2003 Jörg Schilling

scsidev: '/dev/hdb'

devname: '/dev/hdb'

scsibus: -2 target: -2 lun: -2

Warning: Open by 'devname' is unintentional and not supported.

Linux sg driver version: 3.5.27

Using libscg version 'schily-0.7'

Device type    : Removable CD-ROM

Version        : 0

Response Format: 1

Vendor_info    : 'WAITEC  '

Identifikation : 'WT2422EI        '

Revision       : ' 1.4'

Device seems to be: Generic mmc CD-RW.

Using generic SCSI-3/mmc   CD-R/CD-RW driver (mmc_cdr).

Driver flags   : MMC SWABAUDIO 

Supported modes: TAO PACKET RAW/R16

```

but then xcdroast does not find my cd

any hint?

edit

never mind

I just needed to update to alpha14

----------

## MOS-FET

wait wait, does this mean i could burn CDs without having this scsi emulation stuff in my kernel? grub also has an option that says ide-scsi=/dev/hdc or something. my cdr seems to be on ATAPI:0,0,0 (dev/hdc). would be cool if i could remove all this scsi stuff from the kernel.

another question: what's with "packet writing"? is this possible in linux?

tom

----------

## ScubaStreb

 *Quote:*   

> wait wait, does this mean i could burn CDs without having this scsi emulation stuff in my kernel?

 

Yes, you need no scsi emulation and no grub modifications anymore.  I have both K3b and Xcdroast working.  K3b is very nice, but I can't dup cd's with it yet on my laptop since it only has one drive.  I have to use Xcdroast for that.

I'm not sure about packet writing in Linux.

----------

## searcher

I was just wondering, a few months back ATAPI burning was still in alpha status (and was really slow). Has this improved or should i wait a while longer before i drop all the scsi emulation?

~searcher

----------

## ScubaStreb

I haven't noticed any problems with speed.  However, my laptop has a combo DVD/CDRW drive which is pretty slow to begin with.  It's pretty easy to setup SCSI emulation so if that's already working, just go with it.  For a new setup, I'd try ATAPI burning first though.  I'm a firm believer in, "if it ain't broke, don't fix it."

The reason I started experimenting with ATAPI was that I had a problem with my burner where it would not read audio CDs well through SCSI emulation.  By removing SCSI and going to straight ATAPI. it fixed it right up. 

I would be interested in some comparisons between burning speed if anyone can supply them.

----------

## MOS-FET

hmm i have removed all scsi stuff in kernel and grub and my dvd/cdrw still works. but when i start k3b, it complains that cdrdao 1.1.7 doesn't support atapi burning. so what's going on? i thought it's working, or is just cdrecord working and i can't use cdrdao? is cdrdao better or needed at all? what's with speed (i have a 52x burner). well i'll just try to burn a CD now ... hope it works :-)

tom

----------

## volumen1

I was searching for help with cdrdao atapi burning when I saw your question.  Bascially, cdrdao (DAO = disk at once) is a tool for burning cue/bin files.  These files are often (s)vcd discs, but they can be any disc image.  

It seems that cdrdao is no longer in active development, but some people are working on getting cdrdao compiled with the newer cdrtools libraries.  Check out this thread.

https://forums.gentoo.org/viewtopic.php?t=64657&highlight=cdrdaoatapi

----------

## mlang

 *volumen1 wrote:*   

> Bascially, cdrdao (DAO = disk at once) is a tool for burning cue/bin files.

 

I've been burning my bin/cue's with

```
cdrecord -fs=10m speed=48 dev=/dev/hdd -v -dao cuefile=foo.cue
```

to use ATAPI.

----------

## volumen1

Hot dog!  I had no idea you could burn cue files with cdrecord.  Hooo ah!

mlang, if you are ever anywhere near Missoula, MT, you lemme know.  I owe you a beer.

----------

## volumen1

Hmm... I just ran into a problem using cdrecord to burn a bin/cue that was created with vcdimager. 

Here's the thread https://forums.gentoo.org/viewtopic.php?p=589859#589859

Is anyone else burning SVCD images (that they created in vcdimager) with cdrecord?  More specifically, is anyone burning SVCDs that have multiple tracks?

----------

## mlang

volumen1: Read your thread, sorry to say that I know nothing about why it doesn't/won't work. I've only burned single-track vcds.

But if the offer for beer still stands, I'll take you up!   :Very Happy: 

----------

## volumen1

Shoot... if you figure out multi-track SVCDs under cdrecord with ATAPI then I'll make it a case   :Wink: 

----------

## volumen1

I found the problem.  It's a known bug with alpha14, it got fixed in alpha15.  I just upgraded to the latest version in portage (alpha18-something) and I'm rocking!  I found the answer on the cdrecord-support mailling-list, cdrecord-support@lists.berlios.de.

----------

## rommel

i had scsi-emulation for my burner since running gentoo/linux... i just got atapi working with cdrecord... (dont have cdrdao installed) but i was curious to one thing... /etc/devfsd.conf ... the cdrw section was uncommented from before when i was using scsi-em and i left it but changed fstab from 

```
#/dev/sr0   /mnt/cdrw    iso9660   noauto,async,exec,users,rw 0 0
```

 to 

```
/dev/cdroms/cdrom1  /mnt/cdrw  iso9660    noauto,async,exec,users,rw 0 0
```

 in devfsd.conf the cdrom and dvd sections point to /dev/cdroms/cdrom0 but there is no entry in the conf for /dev/cdroms/cdrom1 ...... what did you guys do when setting this up or switching from scsi-emulation?

----------

## volumen1

I don't completely understand your question.  I didn't make any changes to my devfsd.conf.  You have two cdrom/cdrw drives?  Is that correct?

Here's how my /dev entries look:

```
ls -al /dev/cdr*

lr-xr-xr-x    1 root     root            8 Oct 20 14:28 /dev/cdrecorder -> /dev/hdc

lr-xr-xr-x    1 root     root           13 Oct 20 14:28 /dev/cdrom -> cdroms/cdrom0

 

/dev/cdroms:

total 0

drwxr-xr-x    1 root     audio           0 Dec 31  1969 .

drwxr-xr-x    1 root     root            0 Dec 31  1969 ..

lr-xr-xr-x    1 root     root            8 Oct 20 14:28 cdrom0 -> /dev/hdc

```

My /etc/fstab entry is 

```
/dev/cdroms/cdrom0      /mnt/cdrom      iso9660         user,noauto,ro          0 0

```

I think I'm misunderstanding your question, so please fill me in and I'll help.

----------

## rommel

i dont need help just was curious as if there was any entry in devfsd.conf for a cdrw using atapi... but i guess there isnt a need for it... its working fine with both cdrecord and cdrdao under atapi

----------

## wzzrd

I'm going to kick this thread:

when I configure XCDROAST to work with ATAPI CD-writing (phew, lot's of capital letters here  :Razz:  ), it complains about the low qualitiy of the CD's it will produce and the long waiting periods I will suffer.

Is this true? Are CD's written with ATAPI CD writing of lower quality than SCSI-written CD's? If yes, how's that? If no, why does XCDROAST complain about it?

----------

## cuban

When ever I start k3b it complains that cdrdao doesn't support IDE. Is there a way to force it to use cdrecord -dao?

----------

## cuban

Also, what's with ogg's in k3b? It's telling me all my ogg's are 3 seconds long.

----------

## Boris27

Just burned a music CD, and everything after track 1 is skewed. Playing it in my stereo, the first track is fine, but as soon as it continues onto track2, the time gets set to -99:99 and is counting towards zero.

Manually seeking to the track doesn't work either. It justs keeps spinning the disc up and down and moving the lens around.

I burned with kernel-2.6.0-test10-mm1, K3B 0.9, using cdrecored 2.01_alpha19, disc-at-one, 48x, buffer underrun protection on, to a LG 48x24x48x16 Combo drive (thats a 48x cd burner coupled with a 16x DVD reader).

It has happened before, a while ago, using 2.4.22-ck2, with the same other settings.

Anyone know a solution? Perhaps track-at-once mode?

----------

## sklettke

Anyone able to get Arson to work with ATAPI?

I've tried putting /dev=ATAPI:0,0,0 in the extra parameters section, but no burner shows up.

Here's the output of  cdrecord dev=ATAPI:0,0,0 -checkdrive:

```
Cdrecord 2.01a14 (i686-pc-linux-gnu) Copyright (C) 1995-2003 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    : 'MATSHITA'

Identifikation : 'UJDA730 DVD/CDRW'

Revision       : '1.00'

Device seems to be: Generic mmc2 DVD-ROM.

Using generic SCSI-3/mmc   CD-R/CD-RW driver (mmc_cdr).

Driver flags   : MMC-3 SWABAUDIO BURNFREE

```

Thanks!

Scott

----------

## sklettke

I've made a script that works:

```
#!/bin/sh

cdrecord dev=ATAPI:0,0,0 -scanbus

```

Then, I use /home/scripts/cdrecord in Arson and the CD burner shows up as it should.

However, I'm suspecting that actually burning a cd won't work because it will still be using the script (which includes the -scanbus part).  As mentioned above, I've tried putting dev=ATAPI:0,0,0 in the extra parameters section.  However, I looked at the command log window and that text is being ignored.  Anyone know how to get Arson to actually use the extra parameters?

Also, if I don't have -scanbus in my script, the process fails.  When I run:

```
 ./cdrecord -scanbus 
```

the -scanbus gets ignored by the script.  Is there anyway for the above command to work.  ie. Can a script accept a command line argument?  Because if this would work, then I could force Arson to use my "extra parameters."

Scott

----------

## sklettke

Here's the answer:

ln -sf /dev/ide/host0/bus1/target1/lun0/cd /dev/sg1 

This was originally posted in another thread by a guy who also found it in another thread.  I have really no idea whom to thank.  :Wink: 

Scott

----------

## dabooty

i just wanted to add that it's also possible to use gtoaster for atapi burning

all you have to do is go to the recorder tab and replace everything that looks like $scsi_drive (or something, now that it's replaced i don't remember) by ATAPI:/dev/hdd or whatever you drive is on.

works fine for me, i never could burn music cd's with gcombust and it's a terrible interface (well so is gtoaster, but less imo;))

----------

## mikeraach

I just tried atapi burning with 2.6.1 kernel and reading of audio cds were REALLY REALLY slow.  Not to mention after the 1st audio track, the wrest were unreadable.

Back to scsi-emulation I go...

----------

## gkmac

 *mikeraach wrote:*   

> reading of audio cds were REALLY REALLY slow.

 

If you actually mean reading audio cds (as opposed to writing) then yes. Upgrading to 2.6 kernel series slowed cdparanoia down to a crawl on both my desktop and laptop. cdda2wav is alright though.

----------

## PoLiPiE

K3B supports ATAPTI writing but you have to add the folowing stuff 

www.pckliniek.be/k3b.png

then it works like a charm

----------

## Slyde

```
/usr/bin/cdrecord: Success. send opc: scsi sendcmd: no error

CDB:  54 01 00 00 00 00 00 00 00 00

status: 0x2 (CHECK CONDITION)

Sense Bytes: 70 00 03 00 00 00 00 0C 00 00 00 00 64 C0 00 00

Sense Key: 0x3 Medium Error, Segment 0

Sense Code: 0x64 Qual 0xC0 (illegal mode for this track) [No matching qualifier] Fru 0x0

Sense flags: Blk 0 (not valid) 

cmd finished after 5.116s timeout 200s

/usr/bin/cdrecord: OPC failed.
```

Any ideas?  :Crying or Very sad: 

----------

## Slyde

An extended error:

```
Cdrecord-Clone 2.01a25 (i686-pc-linux-gnu) Copyright (C) 1995-2004 Jörg Schilling

TOC Type: 0 = CD-DA

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.8'.

Driveropts: 'burnfree'

SCSI buffer size: 64512

atapi: 1

Device type    : Removable CD-ROM

Version        : 0

Response Format: 1

Vendor_info    : 'ARTEC   '

Identifikation : 'WRR-4848        '

Revision       : '1.00'

Device seems to be: Generic mmc CD-RW.

Current: 0x0009

Profile: 0x0008

Profile: 0x0009 (current)

Profile: 0x000A

Using generic SCSI-3/mmc   CD-R/CD-RW driver (mmc_cdr).

Driver flags   : MMC-2 SWABAUDIO BURNFREE FORCESPEED

Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R96R

Drive buf size : 1359872 = 1328 KB

FIFO size      : 4194304 = 4096 KB

Track 01: audio   57 MB (05:44.66) no preemp

Track 02: audio   54 MB (05:21.20) no preemp

Track 03: audio   38 MB (03:47.66) no preemp

Track 04: audio   37 MB (03:43.36) no preemp

Track 05: audio   60 MB (05:57.30) no preemp

Track 06: audio   39 MB (03:54.56) no preemp

Track 07: audio   35 MB (03:29.06) no preemp

Track 08: audio   29 MB (02:57.93) no preemp

Track 09: audio   40 MB (04:01.17) no preemp

Track 10: audio   34 MB (03:24.60) no preemp

Track 11: audio   43 MB (04:20.42) no preemp

Track 12: audio   30 MB (03:00.04) no preemp

Track 13: audio   36 MB (03:34.26) no preemp

Track 14: audio   47 MB (04:41.13) no preemp

Track 15: audio   30 MB (02:58.42) no preemp

Track 16: audio   46 MB (04:34.77) no preemp

Track 17: audio   51 MB (05:03.46) no preemp

Track 18: audio   56 MB (05:33.02) no preemp

Total size:      774 MB (76:41.09) = 345082 sectors

Lout start:      774 MB (76:43/07) = 345082 sectors

Current Secsize: 2048

ATIP info from disk:

  Indicated writing power: 5

  Is not unrestricted

  Is not erasable

  Disk sub type: Medium Type A, high Beta category (A+) (3)

  ATIP start of lead in:  -11634 (97:26/66)

  ATIP start of lead out: 359846 (79:59/71)

Disk type:    Short strategy type (Phthalocyanine or similar)

Manuf. index: 3

Manufacturer: CMC Magnetics Corporation

Blocks total: 359846 Blocks current: 359846 Blocks remaining: 14764

Forcespeed is OFF.

Starting to write CD/DVD at speed 24 in real TAO mode for single session.

Last chance to quit, starting real write    0 seconds. Operation starts.

Waiting for reader process to fill input buffer ... input buffer ready.

BURN-Free is ON.

Performing OPC...

Starting new track at sector: 0

Track 01:   57 of   57 MB written (fifo 100%) [buf 100%]  20.3x.

Track 01: Total bytes read/written: 60799200/60799200 (25850 sectors).

Starting new track at sector: 26002

Track 02:   33 of   54 MB written (fifo 100%) [buf 100%]  20.7x.cdrecord: Input/output error. write_g1: scsi sendcmd: no error

CDB:  2A 00 00 00 A0 1B 00 00 1B 00

status: 0x2 (CHECK CONDITION)

Sense Bytes: F0 00 04 00 00 9D A0 0C 00 00 00 00 09 01 00 00 00 00 00 00

Sense Key: 0x4 Hardware Error, Segment 0

Sense Code: 0x09 Qual 0x01 (tracking servo failure) Fru 0x0

Sense flags: Blk 40352 (valid)

cmd finished after 7.621s timeout 40s

write track data: error after 35244720 bytes

cdrecord: A write error occured.

cdrecord: Please properly read the error message above.

cdrecord: Input/output error. flush cache: scsi sendcmd: no error

CDB:  35 00 00 00 00 00 00 00 00 00

status: 0x2 (CHECK CONDITION)

Sense Bytes: 70 00 03 00 00 00 00 0C 00 00 00 00 0C 00 00 00 00 00 00 00

Sense Key: 0x3 Medium Error, Segment 0

Sense Code: 0x0C Qual 0x00 (write error) Fru 0x0

Sense flags: Blk 0 (not valid)

cmd finished after 6.471s timeout 120s

Trouble flushing the cache

Writing  time:   63.190s

Average write speed  77.9x.

Min drive buffer fill was 69%

Fixating...

Fixating time:   22.307s

BURN-Free was never needed.

cdrecord: fifo had 1577 puts and 1514 gets.

cdrecord: fifo was 0 times empty and 1282 times full, min fill was 87%.

```

I don't believe it is hardware because I have seen other people run across the same problem. Any help would be appreciated...

----------

