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

 
 

bug #15717: graveman doesn't detect my writer

Submitter:  None
Submitted:  Sun 12 Feb 2006 05:20:47 AM UTC
   
 
Severity:  3 - Normal Status:  None
Assigned to:  None Originator Name: 
Open/Closed:  Open Release:  * 0.3.12
Fixed Release:  None cdrecord version: 
* Mandatory Fields

Add a New Comment Rich Markup
   

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 Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

Only logged-in users can vote.

 

No changes have been made to this item

Back to the top

Powered by Savane 3.13-02a9.
Corresponding source code