Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 108176 - growisofs will not close session with PIONEER DVD-RW DVR-109
Summary: growisofs will not close session with PIONEER DVD-RW DVR-109
Status: RESOLVED DUPLICATE of bug 95357
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-10-05 06:49 UTC by Florian Engelhardt
Modified: 2005-10-05 06:51 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Engelhardt 2005-10-05 06:49:52 UTC
There seems to be a bug in the pioneer firmware, so that when growisofs tries
to close the session, the dvd-burner tells the software to wait, and try again
later. but growisofs doesn
Comment 1 Florian Engelhardt 2005-10-05 06:49:52 UTC
There seems to be a bug in the pioneer firmware, so that when growisofs tries
to close the session, the dvd-burner tells the software to wait, and try again
later. but growisofs doesn´t wait, it just terminates with a failure message.
I found a patch that fixes growisofs to handle this corretly:

http://lists.debian.org/cdwrite/2005/04/msg00016.html

Reproducible: Always
Steps to Reproduce:
1.
2.
3.




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;
Comment 2 Florian Engelhardt 2005-10-05 06:51:49 UTC

*** This bug has been marked as a duplicate of 95357 ***