buggraveman - Bugs: bug #15717, graveman doesn't detect my writer

 
 

bug #15717: graveman doesn't detect my writer

Submitted by:  None
Submitted on:  Sun 12 Feb 2006 05:20:47 AM UTC  
 
Severity: 3 - NormalStatus: None
Assigned to: NoneOriginator Name: 
Open/Closed: OpenRelease: 0.3.12
Fixed Release: Nonecdrecord version: 

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Thu 06 Jul 2006 02:03:42 AM UTC, comment #2:

I've found an easier way to fix it, in cdrecord.c is something like this:

/* definition de tous les type de bus */
Tsearchdrive listesearchdrives[] = {
{ "", "", "SCSI", 110 }, /* scsi (sg) */
#if LINUX_IDE /* pure ide devices with linux */
{ "dev=/dev/hda", "/dev/hda", "IDE", 100 },
{ "dev=/dev/hdb", "/dev/hdb", "IDE", 100 },
...
#endif
{ "dev=ATA:", "ATA:", "ATA", 60 }, /* ide sg */
{ "dev=ATAPI:", "ATAPI:", "ATAPI", 40 }, /* ide */
{ NULL, NULL, NULL, 0}
};

Just change the order to make it look like this:

/* definition de tous les type de bus */
Tsearchdrive listesearchdrives[] = {
{ "dev=ATA:", "ATA:", "ATA", 60 }, /* ide sg */
{ "dev=ATAPI:", "ATAPI:", "ATAPI", 40 }, /* ide */
{ "", "", "SCSI", 110 }, /* scsi (sg) */
#if LINUX_IDE /* pure ide devices with linux */
{ "dev=/dev/hda", "/dev/hda", "IDE", 100 },
{ "dev=/dev/hdb", "/dev/hdb", "IDE", 100 },
...
#endif
{ NULL, NULL, NULL, 0}
};

The problem is in cdrecord.c, somewhere in that file the command cdrecord -prcap dev=%s is called, but if dev is dev=x,y,z and the device is ATAPI, cdrecord fails to detect the drive, to avoid this, dev should be dev=ATAPI:x,y,z for cdrecord to work properly.

Due to the order of the elements in listsearchdrives[], when ATAPI drives are detected, they get x,y,z devices assigned instead of ATAPI:x,y,z because they are first detected as SCSI, and when it gets to ATAPI detection, drives are already in the drive list (as SCSI, with dev=x,y,z style device names) and are discarded.

makz <makz>
Mon 03 Jul 2006 08:33:16 PM UTC, comment #1:

I have the same problem and i workarounded it by adding the following in the function cdrecord_maj_drive_info in cdrecord.c right after variable declarations:

g_stpcpy(Adrive->dev->data, "ATAPI:0,1,0");

Change it according to your drive's location.

makz <makz>
Sun 12 Feb 2006 05:20:47 AM UTC, original submission:

# grep -i dvd /var/log/dmesg
hdc: SONY DVD RW DRU-800A, ATAPI CD/DVD-ROM drive
hdc: ATAPI 48X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, UDMA(33)

It is detected as a DVD writer, but not as a CD writer. Hence I cannot write CDs.

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

Do you think this task is very important?
If so, you can click here to add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.

 

Please enter the title of George Orwell's famous dystopian book (it's a date):

 

 

No Changes Have Been Made to This Item

Back to the top


Powered by Savane 3.1-cleanup1