About LONG WRITE IN PROGRESS and SYNCHRONIZE CACHE

vbimport

#1

Hi at all,

I just found this forum and thought that maybe you can help me with a problem I currently have:

I am using a SAMSUNG SH S222A Burner and when I start writing always the 7th WRITE(10) command fails with ASC:ASCQ = 04:08 -> LOGICAL UNIT NOT READY, LONG WRITE IN PROGRESS.

I retry to Write the data at the same address again and again and always after the 13th failed WRITE(10) command the 14th succeeds.

But then at the end of writing the SYNCHRONIZE CACHE command fails with ASC:ASCQ = OC:00 -> WRITE ERROR.
And the following CLOSE TRACK/SESSION command gives me Windows Error 121 -> Semaphore Timeout.

I am using the C++ library “BinaryMagics” and now I am trying to fix this issue in the source code but I do not know how.
Here a log snippet of the SCSI commands:


12:32:336 SEND DVD STRUCTURE     (bf) {50:0c} - 0:0:0 <01> [00016] ... 00:00, 0
12:32:341 RESERVE TRACK          (53) {40:0a} - 0:0:0 <01> [00000] ... 00:00, 0
12:46:624 SEND OPC INFORMATION   (54) {40:0a} - 0:0:0 <01> [00000] ... 00:00, 0
12:46:714 WRITE (10)             (2a) {50:0a} - 0:0:0 <01> [10000] ... 00:00, 0
12:46:715 WRITE (10)             (2a) {50:0a} - 0:0:0 <01> [10000] ... 00:00, 0
12:46:717 WRITE (10)             (2a) {50:0a} - 0:0:0 <01> [10000] ... 00:00, 0
12:46:717 READ BUFFER CAPACITY   (5c) {48:0a} - 0:0:0 <01> [00020] ... 00:00, 0
12:46:718 WRITE (10)             (2a) {50:0a} - 0:0:0 <01> [10000] ... 00:00, 0
12:46:720 WRITE (10)             (2a) {50:0a} - 0:0:0 <01> [10000] ... 00:00, 0
12:46:721 WRITE (10)             (2a) {50:0a} - 0:0:0 <01> [10000] ... 00:00, 0
12:46:722 WRITE (10)             (2a) {50:0a} - 0:0:0 <04> [10000] ... 04:08, 0
12:46:822 WRITE (10)             (2a) {50:0a} - 0:0:0 <04> [10000] ... 04:08, 0
12:46:922 WRITE (10)             (2a) {50:0a} - 0:0:0 <04> [10000] ... 04:08, 0
12:47:023 WRITE (10)             (2a) {50:0a} - 0:0:0 <04> [10000] ... 04:08, 0
12:47:123 WRITE (10)             (2a) {50:0a} - 0:0:0 <04> [10000] ... 04:08, 0
12:47:223 WRITE (10)             (2a) {50:0a} - 0:0:0 <04> [10000] ... 04:08, 0
12:47:323 WRITE (10)             (2a) {50:0a} - 0:0:0 <04> [10000] ... 04:08, 0
12:47:423 WRITE (10)             (2a) {50:0a} - 0:0:0 <04> [10000] ... 04:08, 0
12:47:523 WRITE (10)             (2a) {50:0a} - 0:0:0 <04> [10000] ... 04:08, 0
12:47:623 WRITE (10)             (2a) {50:0a} - 0:0:0 <04> [10000] ... 04:08, 0
12:47:723 WRITE (10)             (2a) {50:0a} - 0:0:0 <04> [10000] ... 04:08, 0
12:47:823 WRITE (10)             (2a) {50:0a} - 0:0:0 <04> [10000] ... 04:08, 0
12:47:923 WRITE (10)             (2a) {50:0a} - 0:0:0 <04> [10000] ... 04:08, 0
12:48:024 WRITE (10)             (2a) {50:0a} - 0:0:0 <01> [10000] ... 00:00, 0
12:48:025 WRITE (10)             (2a) {50:0a} - 0:0:0 <01> [10000] ... 00:00, 0
12:48:027 WRITE (10)             (2a) {50:0a} - 0:0:0 <01> [10000] ... 00:00, 0
.
.
.
16:32:248 WRITE (10)             (2a) {50:0a} - 0:0:0 <01> [10000] ... 00:00, 0
16:32:248 READ BUFFER CAPACITY   (5c) {48:0a} - 0:0:0 <01> [00020] ... 00:00, 0
16:32:250 WRITE (10)             (2a) {50:0a} - 0:0:0 <01> [10000] ... 00:00, 0
16:32:252 WRITE (10)             (2a) {50:0a} - 0:0:0 <01> [10000] ... 00:00, 0
16:32:750 SYNCHRONIZE CACHE      (35) {40:0a} - 0:0:0 <04> [00000] ... 0c:00, 0
18:35:444 CLOSE TRACK/SESSION    (5b) {40:0a} - 0:0:0 <04> [00000] ... 00:00, 121
18:54:928 CLOSE TRACK/SESSION    (5b) {40:0a} - 0:0:0 <01> [00000] ... 00:00, 0
19:38:677 CLOSE TRACK/SESSION    (5b) {40:0a} - 0:0:0 <01> [00000] ... 00:00, 0

I also had a situation where only the LONG WRITE IN PROGRESS error occurred and the SYNCHRONIZE CACHE and CLOSE TRACK/SESSION command succeeded.

I hope someone can help me. I also studied the T10 drafts MMC6 etc. but I could not found a hint how to solve this.

Cheers
Sascha