Bug 141040

Summary: growisofs fails to write DVD+R double layer discs.
Product: [openSUSE] SUSE LINUX 10.0 Reporter: Ramon Garcia <ramon.garcia.f+suse>
Component: ConsoleAppsAssignee: Adrian Schröter <adrian.schroeter>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P5 - None    
Version: Stable Snapshot 2   
Target Milestone: ---   
Hardware: i686   
OS: SuSE Linux 10.0   
Whiteboard:
Found By: Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Ramon Garcia 2005-12-26 13:15:35 UTC
While burning a double layer disk with growisofs, after the write finishes, growisofs complains:

/dev/dvdrecorder: flushing cache
/dev/dvdrecorder: closing track
/dev/dvdrecorder: closing session
:-[ CLOSE SESSION failed with SK=2h/ASC=04h/ACQ=07h]: Resource temporarily unavailable
/dev/dvdrecorder: reloading tray

The same unit and disc brand burns fine under Windows.
After searching the mailing lists cdwrite@other.debian.org the following patch was suggested:

diff -ur dvd+rw-tools-5.21.4.10.8/growisofs_mmc.cpp dvd+rw-tools-5.21.4.10.8.fixed/growisofs_mmc.cpp
--- dvd+rw-tools-5.21.4.10.8/growisofs_mmc.cpp	2004-07-16 14:48:57.000000000 +0200
+++ dvd+rw-tools-5.21.4.10.8.fixed/growisofs_mmc.cpp	2005-04-09 18:16:09.000000000 +0200
@@ -1484,8 +1484,17 @@
 	cmd[1] = 0x01;		// "IMMED"
 	cmd[2] = mode;		// "Close session"
 	cmd[9] = 0;
-	if ((err=cmd.transport()))
-	    sperror ("CLOSE SESSION",err);
+	
+	// it seems, that pioneer is a bit crappy
+	while (err=cmd.transport()) {
+	    if (SK(err)==0x2 && ASC(err)==0x04 && ASCQ(err)==0x07) {
+		    sperror ("CLOSE SESSION (but try to continue)",err);
+		    usleep(10000);
+	    } else {
+		    sperror ("CLOSE SESSION",err);
+		    break;
+	    }
+	}
 
 	if (wait_for_unit (cmd)) break;
  

Since I could recover the disk by issuing by hand the CLOSE SESSION command (with a C program for that purpose), it seems that this patch is likely to
correct the problem.
Comment 1 Adrian Schröter 2006-07-03 12:22:40 UTC
this has been solved by the new version