NOTE: I doubt this will work unless you have linux 2.6.x (but if it does, let me know and I'll change this note).

OK, this one was kind of hard. A little background. I was doing a huge emerge including kde, gnome, and openoffice updates, when my friend says "hey Greg, I need you to burn these CD's for me before tomorrow". Well, historically, I have done all my CD burning in Windows, so I decided, "hey, this is a pretty good excuse to figure out how to do this in Gentoo."

So, I popped onto the forums, and the consensus seemed to be that k3b is a good burning program, but that ide-scsi was the standard way to do this. Well, I compile my ide stuff into my kernel (no modules, which is dumb, since I boot off real scsi)... so ide-scsi was a no-go for my situation.

Now, just to be fancy, I decided to emerge dvd+rw-tools and normalize; these may not be essential. To get dvd+rw-tools to emerge, I did

Code:

# ACCEPT_KEYWORDS="~x86" emerge -p dvd+rw-tools

, figured out what version it wanted, and then edited that ebuild, turning "~x86" temporarily (until the next emerge rsync) to "x86", since I wanted to get the dependencies, but not upgrade 10 million things... then I just did

Code:

# emerge dvd+rw-tools

. If you don't have a dvd then you shouldn't bother with that anyhow. Finally, I just did

Code:

# emerge normalize

.

If you are following this as a step-by-step "guide," STOP DOING THAT NOW AND READ THE ENTIRE THING before you continue... this narrative includes descriptions of some mistakes I made with potentially disasterous consequences. You have been warned!!!

Great, now I think I have the right packages. Now, as root, I run

Code:

# kcmshell k3bsetup2

. Despite the advice of the ebuild, I went ahead and let it set things to run as root. Sketchy, and perhaps very much so, as you will read about below, but I figured, "hey, I'm a stud, I won't do anything stupid". Famous last words, as ever... read below and then decide for yourself if you want to do this (if you do not, you will need to make sure that your user account has read/write access to the ide device where your cd burner is). If you are stumped, play it safe: uncheck the boxes to run things as root.

So I run k3b (neat interface, looks, err.. familiar ).

I set up my friends playlist like he wants it and go to burn. No dice!! It blurts errors at me about using --device option to cdrecord. I found this a little odd, since the posters to the above-mentioned thread did not have this problem... oh well.

Allright, I read some man pages and search the forums a bit more, and figure out that I need to tell cdrecord to use ATAPI. Here's what I (eventually) did (you can do this too, should be safe AFAIK):

Code:

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

You may need to change the first "0" above (they are zero's not alphabetic O's, of course), to the number of your IDE gizmo in your linux. If you can't remember, look for some program that is already set to talk to your cdrom. Follow any symlinks back to the source. It probably looks like "/dev/ide/hostX/busY/targetZ/lun0/cd", where X,Y, and Z are smallish numbers corresponding to the 0,0,0 above, respectively. So, if it was host4, I would use "dev=ATAPI:4,0,0".

Well, that pioneer is my burner. great! So now I know for sure (even though I already suspected) that 0,0,0 is the right thing. The numbers to the left of your unit are the right ones.

So, back in k3b, I opened up the k3b preferences dialog (settings->k3b config), and picked the "Programs" icon on the left, and then the User Parameters on the right. Beside cdrecord, I put in:

Code:

--device=ATAPI:0,0,0

(use the right numbers for your unit; note the equal sign).

Now, here is where it got really dicey. DO NOT DO THIS but I went ahead and tried to burn at this time. My drive would spin, but still no love. Various results happened, things locked up, crashed, etc... finally I tried dmesg, and to my horror I figured out that it was running cdrdao, and trying to burn the darn image to my SCSI drive!!! So, don't do that. Note that, had I followed the instructions I had read from the ebuild, and refused to change things to be run as root, I would have had much less chance to screw up my system. As it stands, I haven't rebooted since then, and I am slightly scared that things will be borked when I do (fdisk says my partition tables are intact, which seems like a good indicator ).

Instead, do the following:

First, go to http://cdrdao.sourceforge.net/drives.html#dt. Find the closest match you can to your drive there. You can use the output from cdrecord you generated above to remind yourself of the exact model of your drive. Then get the text under the "driver" column of this page. In my case, this was "generic-mmc". So, to test it, I put in a blank disk (well, I already had it in after all my previous bumbling), and ran

Code:

cdrdao disk-info --device ATAPI:0,0,0 --driver generic-mmc

(Of course, you should substitude the same X,Y,Z numbers you used above, and the driver you got from the link above. Note that this time, there are no "equals" signs).

I seem to have done everything you did, if you catch something, please let me know. And i didn't just copy your --driver information, i just happen to have the same driver from that list you gave._________________Ban Reality TV!
Adopt an Unanswered Post

BTW, you can compile scsi disk support into the kernel and leave scsi cdrom and ide-scsi and scsi-generic et. al in modules and load them as needed.

there are definite limitations still to using atapi only.

Hmm, "hard" limitations, or fixable limitations, as in "this is alpha software and won't work so great until more people try it and report bugs"? I ask because I had the impression that scsi-emulation was kind of a hack...

Oo.et.oO wrote:

there are also limitations to using gui's for cd burning, lest i digress.....
i'm a pure cdrecord/cdrdao command line guy

Well, k3b apparently just builds an .iso and pipes it to cdrecord, as you can see in the command line it dumps above. Although apparently in snakattak3's case, it's not showing the error output, which I agree is not helpful.

So, sure, I guess it's a philosophical or personal preference type of thing. Personally, I like gui AND command-line computing, they both have a place on my box (and building a CD from .mp3's and .ogg files is more of a gui type of task in my mind... although I could see why the actual burning might be a little less awkward if done at the command-line, especially when it doesn't "just work.")_________________-IHYOS

"All laws which are repugnant to the constitution are null and void."
-Marbury vs. Madison, 5 US (2 Cranch) 137, 174, 176, (1803)

i'm getting this error when try to compile cdrdao. I'm using gentoo-dev-sources-2.6.1 and i don'T want the scsi-ide emulation.

Code:

make[1]: Entering directory `/var/tmp/portage/cdrdao-1.1.7-r3/work/cdrdao-1.1.7/dao'
Makefile:107: port.d: No such file or directory
Makefile:107: data.d: No such file or directory
Makefile:107: CdrDriver.d: No such file or directory
Makefile:107: CDD2600Base.d: No such file or directory
Makefile:107: CDD2600.d: No such file or directory
Makefile:107: PlextorReader.d: No such file or directory
Makefile:107: GenericMMC.d: No such file or directory
Makefile:107: SubChannel.d: No such file or directory
Makefile:107: PQSubChannel16.d: No such file or directory
Makefile:107: PWSubChannel96.d: No such file or directory
Makefile:107: PQChannelEncoder.d: No such file or directory
Makefile:107: GenericMMCraw.d: No such file or directory
Makefile:107: PlextorReaderScan.d: No such file or directory
Makefile:107: RicohMP6200.d: No such file or directory
Makefile:107: TaiyoYuden.d: No such file or directory
Makefile:107: YamahaCDR10x.d: No such file or directory
Makefile:107: TeacCdr55.d: No such file or directory
Makefile:107: SonyCDU920.d: No such file or directory
Makefile:107: SonyCDU948.d: No such file or directory
Makefile:107: ToshibaReader.d: No such file or directory
Makefile:107: CdTextEncoder.d: No such file or directory
Makefile:107: Settings.d: No such file or directory
Makefile:107: dao.d: No such file or directory
Makefile:107: ScsiIf-lib.d: No such file or directory
Makefile:107: main.d: No such file or directory
Creating dependencies for main.cc
Creating dependencies for ScsiIf-lib.cc
Creating dependencies for dao.cc
ScsiIf-lib.cc:37:21: xconfig.h: No such file or directory
ScsiIf-lib.cc:38:22: standard.h: No such file or directory
ScsiIf-lib.cc:39:24: scg/scgcmd.h: No such file or directory
ScsiIf-lib.cc:40:28: scg/scsitransp.h: No such file or directory
make[1]: *** [ScsiIf-lib.d] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/var/tmp/portage/cdrdao-1.1.7-r3/work/cdrdao-1.1.7/dao'
make: *** [all] Error 1

Well, probably not helpful, I'm just making this stuff up... sorry if it isn't helpful If you do get it to work please let us know how you did it.

Will do. I'm beginning to think its something do do with the source code in k3b. I'm taking a look at that, because it seems to pass 2 device options to cdrecord even if you specify your own. ie - it will use

Code:

dev=/dev/ide/....pathto/lun0/target0

, and then add my own device options later on in the command. I guess k3b is still very new to atapi burning, even in cvs. I only really want to get this working because i like having on-the-fly ccopy mode, instead of making it create an image, then burning the image, because i don't like using scsi emulation on my other dvd drive, as it makes dvd playback slow (only because hdparm can't handle scsi devices..they usually are already fast). Anywyas, i'm rambling. I'm taking some more looks at the src-code, and maybe even will email the k3b developers. Wish me luck. Again..if you got an idea, please post._________________Ban Reality TV!
Adopt an Unanswered Post

I don't know why but mine setup fine with k3b setup and you can just click on the text on right side under devices to choose driver, max read speed, and max write speed. only problem is I choose to write @ 8x but was dropped down to 4x complaining that medium only supported up to 4x but these cdrw's are rated for up to 12x

Instead, it should be /dev/ide/host0/busX/targetY/lunZ/cd.
eg. /dev/ide/host0/bus1/target0/lun0/cd
would be ATAPI:1,0,0

(NOT ATAPI:0,1,0)

really... that's interesting, I never thought about it, since in my case it was all zero's either way... but since this notation obviously excludes either the host# or the lun#, I am surprised that the lun# would be used, since it rarely matters (whereas having multiple scsi hosts is just a matter of multiple cards).

Can anyone confirm or deny this?_________________-IHYOS

"All laws which are repugnant to the constitution are null and void."
-Marbury vs. Madison, 5 US (2 Cranch) 137, 174, 176, (1803)