Hi,
        Recently, I restart to work on my burner program. I plan to add
DVD-RW support to my program. But I met a strange problem about
the "write(10)" command.
 
    I found that DVR-A03 will fail to write data at some positions. I
try to observe log generated by the dvd-rw patch for cdrtools-1.11a08
by Nicolae Mihalache. It seems the following command will be retried
about 697 times.
 
Executing 'write_g1' command on Bus 0 Target 1, Lun 0 timeout 200s
CDB:  2A 00 00 00 02 6C 00 00 1F 00
Sending 63488 (0xF800) bytes of data.
Write Data:  00 00 01 BA 44 00 45 2B A6 03 01 89 C3 F8 00 00 01 E0 07 EC 81 00 00 EF BF 23 2B 10 2C A4 DC 35 04 13 00 E4 E4 D4 7E 8F B8 04 3D 94 47 89 5D FA 52 46 CD 96 26 B7 06 E2 6A 3A 46 93 DF C9 18 67 A8 37 E2 F0 1D 7B 52 4D 47 DD F1 39 A5 4A BA B9 3A D3 86 10 93 D2 90 FD DD 4A 10 6D 57 CC 8E 31 67 8F EE 06
ioctl ret: 0
host_status: 00 driver_status: 28
./cdrecord: Input/output error. write_g1: scsi sendcmd: no error
CDB:  2A 00 00 00 02 6C 00 00 1F 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 02 00 00 00 00 0E 00 00 00 00 04 08 00 00
Sense Key: 0x2 Not Ready, Segment 0
Sense Code: 0x04 Qual 0x08 (logical unit not ready, long write in progress) Fru 0x0
Sense flags: Blk 0 (not valid)
cmd finished after 0.006s timeout 200s
 
 
After 697 times retry, DVR-A03 will write the 0x1F sector at 0x026C successfully.
I remember some other cdrw drive have the same behavior (Yamaha 2100 and 2200).
Is there anyway to avoid this? Or I have to retry the command until it success?
 
But while I try to let my program retry until the "write" command successful. It will
be failed after hundreds times with
 
FAIL!!! CDB: 2A  0  0  0  2 6C  0  0 1F  0
?: Input/output error.  : scsi sendcmd: no error
CDB:  2A 00 00 00 02 6C 00 00 1F 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 05 00 00 00 00 0E 00 00 00 00 21 02 00 00
Sense Key: 0x5 Illegal Request, Segment 0
Sense Code: 0x21 Qual 0x02 (logical block address out of range) [No matching
qualifier] Fru 0x0
Sense flags: Blk 0 (not valid)
cmd finished after 0.005s timeout 20s
 
Why? I retry to write the same address but fail with "INVALID ADDRESS FOR WRITE"?
Is there anybody can tell me why? Or how to avoid this?
 
 
Jack Ciao
 
 

Reply via email to