Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
It seems though there is still soemthing elementary im not doing. When I run the command;
cdrecord -scanbus
I get the following output;
Cdrecord 2.0 (i686-pc-linux-gnu) Copyright (C) 1995-2002 J?rg Schilling
cdrecord: No such file or directory. Cannot open '/dev/pg*'. Cannot open SCSI driver.
cdrecord: For possible targets try 'cdrecord -scanbus'. Make sure you are root.
cdrecord: For possible transport specifiers try 'cdrecord dev=help'.
i tried also deleting the link from /dev/cdrom1 to /dev/hdc but didnt have a /dev/sr0... although thats probably machine specific. I have a /dev/scd0 and /de/scd1. Is there any way of finding out hoe to make my link point to the right device?
Once I get this working I can then use DH's command line for trying to get the files to actually burn to disc.
Im sure im only a couple of steps away from cracking this
On my system, I have a burner hooked up over IDE. It's referred to with two different device nodes:
/dev/scd0
/dev/sg0
Here are the two file listings in /dev for those entries:
Code:
brw-rw---- 1 root disk 11, 0 Jan 30 2003 /dev/scd0
crw-rw---- 1 root disk 21, 0 Jan 30 2003 /dev/sg0
If you're using a 2.4 series kernel, one thing you could try is to forcibly create the appropriate device entry. 2.6 kernels create devices dynamically, and I'm not sure how to go about setting that up. You can try this with a 2.6 kernel, and if it works, you could make it a part of your startup sequence as a temporary solution until you find the "proper" way of getting udev to do what you need.
Anyway, you create device files with the mknod command. For instance:
Code:
mknod -m 660 /dev/sg0 c 21 0
The "-m 660" sets the permissions to 660. /dev/sg0 is the path to, and name of, the device file to create. The 'c' indicates it is a character-based device (that corresponds to the first letter of the ls output for /dev/sg0 above). The "21 0" are the major and minor numbers for the device. These numbers specify what kind of device this file represents. Think of it as a mapping for the kernel between a device and a driver. You'll need to be root to execute the command, and you'll need to substitute the device cdrecord was looking for in its output. I honestly don't know if there is any pattern to naming the device sg0, sr0, or whatever. The only things that matter are the major & minor numbers, and matching the device name that cdrecord is expecting.
If you give it a try, and don't meet with success, then delete the device file as a precaution. You can get rid of it with good ol' rm.
Last edited by Dark_Helmet; 01-25-2005 at 04:05 PM.
I'm a little lost here. The error posted from the -scanbus command earlier said it couldn't read/access a device ('/dev/pg*' - typo?). The only reason I'm aware of to get that error is if the device file does not exist or the user doesn't have permission to access it. Then it's mentioned later that the device file does exist, or at least /dev/sg0 exists. So, is /dev/sg0 the same device file that the -scanbus command was looking for? Were you root when you ran the -scanbus command? If /dev/sg0 is not the device -scanbus wanted, what was it expecting, and does that device file exist?
Oops! My bad. There's something you need to add to your bootloader's kernel line to boot with the appropriate capabilities. Google up a copy of "Karnervor's Linux HOWTO", which gives step-by-step instructions, with examples, of which files to edit, and what to enter. Adapt the entries to your system.
Hi DH, sorry for not replying sooner, if did run the commands as root. The device it is looking for is pg0 it wasnt a typo.
Im going to try a little something later tonight and see how it goes. There a Linux PC at work and its running RH9 like mine at home and it has the same problem it seems, the CDR drive is not a LITEON either. Its definately a config thing. I'll keep on bashing away here
heres an output from my cmd line for those pg* devices
[root@LinuxPC dev]# ls -l pg*
crw-rw---- 1 root disk 97, 0 Jan 30 2003 pg0
crw-rw---- 1 root disk 97, 1 Jan 30 2003 pg1
crw-rw---- 1 root disk 97, 2 Jan 30 2003 pg2
crw-rw---- 1 root disk 97, 3 Jan 30 2003 pg3
[root@LinuxPC dev]# cdrecord -scanbus
Cdrecord 2.0 (i686-pc-linux-gnu) Copyright (C) 1995-2002 J?rg Schilling
cdrecord: No such file or directory. Cannot open '/dev/pg*'. Cannot open SCSI driver.
cdrecord: For possible targets try 'cdrecord -scanbus'. Make sure you are root.
cdrecord: For possible transport specifiers try 'cdrecord dev=help'.
[root@LinuxPC dev]# cdrecord dev=ATAPI -scanbus
Cdrecord 2.0 (i686-pc-linux-gnu) Copyright (C) 1995-2002 J?rg Schilling
scsidev: 'ATAPI'
devname: 'ATAPI'
scsibus: -2 target: -2 lun: -2
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'
scsibus0:
0,0,0 0) 'LITE-ON ' 'LTR-32123S ' 'XS0X' Removable CD-ROM
cdrecord: Warning: controller returns wrong size for CD capabilities page.
0,1,0 1) 'LITEON ' 'CD-ROM LTN301 ' 'ML16' Removable CD-ROM
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
So I dont really know what the dev=ATAPI means but i read it somewhere on the web.
Quote:
Google up a copy of "Karnervor's Linux HOWTO",
I tried this but i couldnt find anything. I really know b*gger all when it comes to Linux
Actually, I had never seen the "dev=ATAPI" option before. It made me pull up the man page, and after a quick search, saw where it was mentioned.
In short, using ATAPI tells the computer that you're using scsi emulation for an IDE device. That's really not that important though.
Ok, so looking at the output from the ATAPI version with the -scanbus option, you have two drives. I don't know if you have two LITEON drives or if it's a single drive showing up at two different IDs. If you only have one drive, it may very well be that the CDR functionality was achieved by making the device look like two different devices (that's entirely speculation on my part). Anyway, I can't tell from the printed descriptions which one you should use. So, it's now experimentation time.
I assume you have an iso file you can burn (or that you can make one easily enough). As soon as you have one, execute (as root) a cdrecord command, and test both devices.
If one of them works, then make a note, and you're in business. If not, then you may be forced to search for the howto bigrigdriver mentioned, because my bag of tricks is definitely empty at this point...
Originally posted by MarkieC [root@LinuxPC curtis]# cdrecord dev=ATAPI 0,0,0 speed=30 Piccies.iso
cdrecord: No such file or directory. No read access for '0,0,0'.
[root@LinuxPC curtis]# cdrecord dev=ATAPI 0,1,0 speed=30 Piccies.iso
cdrecord: No such file or directory. No read access for '0,1,0'.
The stuff in red, is that exactly the command used? The man page for cdrecord implies it needs to be ATAPI:0,0,0
To double-check me, do man cdrecord, hit the forward slash ( / ), type ATAPI, and hit the Enter key. A few lines down, you should see some text about the dev= option. I'd paste it if I could, but I can't at the moment.
If the commands you pasted are the commands you issued, give it another try using the colon. If you actually did use a colon and it got lost in the copy-paste, then ignore everything I just wrote...
I tried it on our Linux box here at work, and it worked!!!
WHOOPEEE!
I still have to get it to work at home though :worried:
one more question, though, after buring to the CD I couldnt do it again, does the CD-R always finalise after burning in Linux, and what do the speed relate to, if the drive is a 4x write drive shoudl i use a speed=30 option?
Originally posted by MarkieC one more question, though, after buring to the CD I couldnt do it again, does the CD-R always finalise after burning in Linux, and what do the speed relate to, if the drive is a 4x write drive shoudl i use a speed=30 option?
There are options you can give to cdrecord that will specify how the disk should be finalized. The man page is one of the longer pages I've come across. So, you may have to trudge through a lot of information that doesn't apply.
The speed is how fast you'd like to burn the CD. It's the same value as your burner's rating (8x, 16x, 32x, etc., but without the 'x' of course). From what I can tell, if you give it a value higher than your CD supports, then the process throttles down to a speed the drive can handle. I don't have a lot of experience with different types of burners. So, your mileage may vary.
Congratulations on getting it working! As much as I'd like to take credit for it, you were the one that found the ATAPI thing. All I did was point out a missing colon
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.