# [K3B] Cuelgue a media grabación (abierto)

## pcmaster

Desde hace poco, cuando grabo un DVD-R con K3B. a media grabación se queda parado, y si lo dejo un rato a ver si continua me sale un mensaje de error:

(i) Writing DVD-R in DAO mode

(i) Using Wodim 1.1.10 - Copyright (2006) Cdrkit suite contributors

(i) Starting SAO writing al 16x speed

! Medium or burner does not support writing at 16x speed

! Switching burn speed up to 17x

(i) Performing Optimum Power Calibration

(i) Sending CUE sheet

(i) Starting disk write

X Unable to fixate the disk

X mkisofs crashed

X cdrecord has no permission to open the device

Los tres últimos mensajes salen tras un rato de "colgarse" la grabación, en este caso cuando llevaba ya grabados unos 2114 Mb de un total de 4097 MB.

Además, si repito la grabación, suele volverse a colgar cuando lleva grabado aproximadamente el mismo porcentaje, muchas veces exactamente en el mismo sitio.

Además, me llama la atención el mensaje que dice que grabadora o disco no soportan la velocidad de 16X y la sube a 17, cuando la grabadora es de 16X (Una Plextor PX-740A) y los discos son Verbatim de 16X.

En el log de K3B:

```

...

...

cdrecord

-----------------------

/usr/bin/wodim: Operation not permitted. Warning: Cannot raise RLIMIT_MEMLOCK limits.

scsidev: '/dev/sr1'

devname: '/dev/sr1'

scsibus: -2 target: -2 lun: -2

Linux sg driver version: 3.5.27

Wodim version: 1.1.10

SCSI buffer size: 64512

Beginning DMA speed test. Set CDR_NODMATEST environment variable if device

communication breaks or freezes immediately after that.

TOC Type: 1 = CD-ROM

Driveropts: 'burnfree'

Device type    : Removable CD-ROM

Version        : 0

Response Format: 3

Capabilities   : 

Vendor_info    : 'PLEXTOR '

Identification : 'DVDR   PX-740A  '

Revision       : '1.02'

Device seems to be: Generic mmc2 DVD-R/DVD-RW.

...

...

...

Last chance to quit, starting real write in    2 seconds.

   1 seconds.

   0 seconds.

 Operation starts.

Waiting for reader process to fill input buffer ... input buffer ready.

Performing OPC...

Sending CUE sheet...

Starting new track at sector: 0

Track 01:    0 of 4097 MB written.

Track 01:    1 of 4097 MB written (fifo 100%) [buf  85%]   0.6x.

Track 01:    2 of 4097 MB written (fifo 100%) [buf  85%]   6.8x.

Track 01:    3 of 4097 MB written (fifo  98%) [buf  89%]   7.2x.

...

...

...

Track 01: 2113 of 4097 MB written (fifo 100%) [buf  84%]  12.4x.

Track 01: 2114 of 4097 MB written (fifo  98%) [buf  84%]  12.3x.

Errno: 5 (Input/output error), write_g1 scsi sendcmd: retryable error

CDB:  2A 00 00 10 85 AF 00 00 1F 00

status: 0x0 (GOOD STATUS)

cmd finished after 203.749s timeout 200s

/usr/bin/wodim: A write error occured.

/usr/bin/wodim: Please properly read the error message above.

Errno: 5 (Input/output error), test unit ready scsi sendcmd: no error

CDB:  00 00 00 00 00 00

status: 0x2 (CHECK CONDITION)

Sense Bytes: 70 00 02 00 00 00 00 12 00 00 00 00 04 01 00 00

Sense Key: 0x2 Not Ready, Segment 0

Sense Code: 0x04 Qual 0x01 (logical unit is in process of becoming ready) Fru 0x0

Sense flags: Blk 0 (not valid) 

cmd finished after 1.113s timeout 200s

write track data: error after 2217572352 bytes

Writing  time:  412.873s

Average write speed   7.7x.

Min drive buffer fill was 67%

Fixating...

Errno: 5 (Input/output error), flush cache scsi sendcmd: no error

CDB:  35 00 00 00 00 00 00 00 00 00

status: 0x2 (CHECK CONDITION)

Sense Bytes: 70 00 02 00 00 00 00 12 00 00 00 00 04 01 00 00

Sense Key: 0x2 Not Ready, Segment 0

Sense Code: 0x04 Qual 0x01 (logical unit is in process of becoming ready) Fru 0x0

Sense flags: Blk 0 (not valid) 

cmd finished after 1.200s timeout 200s

/usr/bin/wodim: Cannot fixate disk.

Trouble flushing the cache

Fixating time:    1.200s

/usr/bin/wodim: fifo had 35120 puts and 34930 gets.

/usr/bin/wodim: fifo was 0 times empty and 7005 times full, min fill was 86%.

cdrecord command:

-----------------------

/usr/bin/wodim -v gracetime=2 dev=/dev/sr1 speed=16 -sao driveropts=burnfree -data -tsize=2097877s -

mkisofs

-----------------------

2097877

I: -input-charset not specified, using utf-8 (detected in locale settings)

  0.02% done, estimate finish Mon Mar  8 20:03:13 2010

  0.05% done, estimate finish Mon Mar  8 19:29:31 2010

```

¿Alguna idea?

----------

## esteban_conde

No he leido toda la salida pero por la pinta a mi me parece que tiene que ver con growisofs el cual elimina el limite de los dos GB.

----------

## pcmaster

Gracias. De todas formas, a velocidad inferior (8x) ha funcionado, aunque a 16X no falla siempre, pero sí de vez en cuando.

¿Estará muriendo mi grabadora? ¿Tendrá algo que ver con esa indicación de que graba a 17X (aunque durante la grabación no ha alcanzado esa velocidad)?

Otra cosa que me he fijado es que, aunque no falle, durante la grabación va haciendo pequeñas "pausas" en las que el contador de Mb del K3B no avanza, auqnue son de muy poca duración (quizá entre 0,5 y 2 seg) y cuando falla lo hace tras una pausa larga (más de un minuto).

----------

## pcmaster

Hola de nuevo,

He probado a cambiar cdrkit por cdr-tools, y más de lo mismo:

```

Track 01:  956 of 3029 MB written (fifo  95%) [buf  90%]   9.4x.

Track 01:  957 of 3029 MB written (fifo  97%) [buf  85%]   9.3x.

/usr/bin/cdrecord: Input/output error. write_g1: scsi sendcmd: retryable error

CDB:  2A 00 00 07 7B 30 00 00 10 00

status: 0x0 (GOOD STATUS)

cmd finished after 204.484s timeout 200s

/usr/bin/cdrecord: A write error occured.

/usr/bin/cdrecord: Please properly read the error message above.

/usr/bin/cdrecord: Input/output error. test unit ready: scsi sendcmd: no error

CDB:  00 00 00 00 00 00

status: 0x2 (CHECK CONDITION)

Sense Bytes: 70 00 02 00 00 00 00 12 00 00 00 00 04 01 00 00

Sense Key: 0x2 Not Ready, Segment 0

Sense Code: 0x04 Qual 0x01 (logical unit is in process of becoming ready) Fru 0x0

Sense flags: Blk 0 (not valid) 

cmd finished after 1.007s timeout 200s

write track data: error after 1004109824 bytes

Writing  time:  327.309s

Average write speed   7.0x.

Min drive buffer fill was 80%

Fixating...

/usr/bin/cdrecord: Input/output error. flush cache: scsi sendcmd: no error

CDB:  35 00 00 00 00 00 00 00 00 00

status: 0x2 (CHECK CONDITION)

Sense Bytes: 70 00 02 00 00 00 00 12 00 00 00 00 04 01 00 00

Sense Key: 0x2 Not Ready, Segment 0

Sense Code: 0x04 Qual 0x01 (logical unit is in process of becoming ready) Fru 0x0

Sense flags: Blk 0 (not valid) 

cmd finished after 1.208s timeout 1000s

/usr/bin/cdrecord: Cannot fixate disk.

Trouble flushing the cache

Fixating time:    1.208s

/usr/bin/cdrecord: fifo had 30771 puts and 30644 gets.

/usr/bin/cdrecord: fifo was 0 times empty and 3824 times full, min fill was 61%.

```

----------

## quilosaq

Yo tuve unos síntomas parecidos y efectivamente la grabadora estaba fallando. Mi grabadora tenía 2 lentes de grabación; una para cds y otra para dvds (que fue la que falló). Los cds los grababa, y aún lo hace, correctamente.

----------

## Inodoro_Pereyra

En caso de que sea problema de hardware (Que me da toda la impresión de que así es):

Si falla exactamente en el mismo punto siempre, puede que se trate de un problema mecánico. Lubrica con vaselina en crema los dos barrales sobre los que se desplaza el pick-up. Si esto no lo arregla, entonces el servo que hace girar al CD/DVD puede que esté ligeramente desgastado, lo que produce una oscilacíon vertical mínima que no es apreciable a simple vista y que se vuelve mas pronunciada cuanto mayor es la distancia que separa el pick-up del centro del CD.

Cambiar el servo no es complicado, suelen ser tres tornillos. El problema es conseguir el repuesto, que con lo que vale una DVDRW nueva, por lo general ni vale la pena.

Nero para windows tiene una genial aplicación llamada cd/dvd speed que proporciona un gráfico cartesiano de RPM del servo contra tasa de transferencia, es lo que uso siempre para diagnosticar este tipo de fallas. Con esta aplicación es facilmente identificable cual de los dos es tu problema.

Lamentablemente no he encontrado nada parecido para linux...

Salud!

----------

## ZaPa

Hola.

Debo añadir, que TODOS los dispositivos que lean cd & dvd, implementan 2 bobinas, una de cd's y otra de dvd's (como ha dicho el usuario: quilosaq).

En este caso yo tambien probaria a cambiar la marca de los compactos, puede ser también fallos de los dvds o cds (no es la primera vez que me pasa).

Intenta cambiar los compactos y nos cuentas.

En el caso que no sean los compactos y sea algúna averia del lector,  la posible solución (antes de cambiarlo) puede ser calibrar dicha bobina (cd o dvd).

Esto es fácil, lo único más complejo es acceder al interor del mecanismo del lector, una vez dentro, para calibrar el laser óptico solamente ahi que girar un tornillo hacia la derecha (muy poquito) y probar.

Muchas veces, con el desgaste de lectura/grabación de estos lectores/grabadores, hace falta una calibración.

Esto pasa mucho con las consolas, ps2,ps3,xbox360,etc.... cuando los tipicos viciados de turno tienen casi 24h la consola encendida jugando y jugando...esto provoca el desgaste en el laser óptico, y como he dicho, muchas veces la solución es la calibración del laser óptico.

CUIDADO! Si pretendes calibrar el laser óptico, lleva cuidado al girar el tornillo, una vuelta muy grande puede hacer que te quedes definitivamente sin bobinas, avisado quedas jeje.

Un saludo.

----------

## pcmaster

Hola de nuevo,

Hoy he intentado grabar otro DVD-R y la grabación ha salido OK. Antes de grabar he actualizado k3ba  la última versión no estable en el portage (~amd64) por si acaso fuera problema de software (aunque no descarto que sea el hardware).

He realizado una simulación y, como ha salido correcta, he realizado la grabación. Ambas OK, sin embargo entre ambas ha salido esto en el dmesg:

```
sr 8:0:0:0: [sr1] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE

sr 8:0:0:0: [sr1] Sense Key : Illegal Request [current] 

sr 8:0:0:0: [sr1] Add. Sense: Logical block address out of range

end_request: I/O error, dev sr1, sector 0

Buffer I/O error on device sr1, logical block 0

sr 8:0:0:0: [sr1] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE

sr 8:0:0:0: [sr1] Sense Key : Illegal Request [current] 

sr 8:0:0:0: [sr1] Add. Sense: Logical block address out of range

end_request: I/O error, dev sr1, sector 0

Buffer I/O error on device sr1, logical block 0
```

Y tras acabar la grabación, al apagar la grabadora (conectada por USB) hald ha producido un segfault:

```

hald[5321]: segfault at 680 ip 00007fe38728b15a sp 00007fff34ef00f0 error 4 in libglib-2.0.so.0.2200.4[7fe38725f000+e3000]

```

sobre el que ya hay un bug creado.

----------

## Inodoro_Pereyra

A ver si era solamente eso, un problema de HAL  :Very Happy: 

Zapa, el "tornillo" que mencionas no se debe mover nunca. Ese tornillo es lo que se conoce como "preset". No es mas que una resistencia variable que controla la ganancia del emisor láser, por eso en unidades que pueden leer CD y DVD hay dos, uno por cada emisor láser.

Si el preset en cuestión se gira en sentido horario (visto desde arriba) mas de la cuenta, el laser se quema. Punto. Nunca mas lo toques.

El hecho de haber mejorado una unidad de CD o DVD al aumentarle la ganancia al laser implica que has tenido algún otro problema adicional, por lo general óptico o mecánico.

Tengo en mi haber, sin ánimo de presumir, infinidad de unidades reparadas. Jamás toco el preset. El 90% de los casos se arregla limpiando todos los cristales interiores del pickup (lo que está debajo del lente movil, para que se entienda). El otro 10% es siempre mecánico y se arregla lubricando o reemplazando pedazos.

Salud!

----------

## ZaPa

Hola de nuevo.

Inodoro_Pereyra gracias por tus aclaraciones, no tenia ni idea de que este tornillito mágico (jeje) se llamaba preset.

No te imáginas los lectores de cd/dvd y consolas que estan ahora mismo funcionando debido a mover un poquito el preset (moviendo el preset de la bobina correspondiente,cd o dvd).

También es cierto que limpiando la lente inferior (la que más suciedad acumula) se nota una gran mejora al leer lo que antes no leia o le costaba leer al lector. También es verdad, que si desmontas las bobinas para limpiar la lente inferior, despues, (casi seguro) que debas calibrar las bobinas de nuevo si no nos funcionará nada de nada (y esto se hace con un osciloscopio) creo recordar.

Por eso, yo casi siempre evito tocar la lente inferior ya qué, se han muerto en mis manos lentes, por tocar la lente inferior al intentar limpiarla.

Las consolas ps2, algunos modelos traian una lente un poco "caca" que al tiempo hacia falta una calibración del laser (como he comentado antes) y con esto se dejaban funcionando 100%.

Según comentas, no es recomendable tocar esta resistencia, pero te aseguro que moviendolo (con mucho cuidado) y midiendo con el tester, se puede "revivir" un lector.

Un saludo.

PD: Porcierto, inodoro_pereyra probaste el tema de connlimit para limitar conexiones simultaneas como te comenté en otro post? Yo actualmente estoy haciendo algo bastante trabajoso con iptables, un firewall propio con balanceo de carga y demás. ¿Has llegado a hacer algo asi?

----------

## Inodoro_Pereyra

Acerca de los laser, tengo un colega que vive pura y exclusivamente de la reparación de consolas de video juegos. Pilas y pilas de play station II de esos para donde uno mire. El fué el que me instruyó en las oscuras ciencias del funcionamiento de un pickup. (Y tampoco toca el preset para nada).

Para la limpieza interna uso gas inerte y cuando esto no alcanza agua altamente purificada (se compra en laboratorios de química) que después seco con gas inerte, pero nunca llego a desarmar el pickup por completo. Es que desde que todo eso se fabrica en china y vienen todas las partes pegadas entre si con esas pistolas de derretir plástico siliconado, desarmar implica no poder calibrar nunca mas... Pickups eran los de antes, cuando los hacían para que duren.  :Very Happy: 

Como te sugería mas arriba, si mover el preset del fotodiodo arregla el problema es por que con una limpieza también se arreglaba y te evitabas reducir la vida útil del mismo, pero bueno, reconozco que la de tocar el preset es mucho mas rápida y facil (y no hay que desarmar mucho tampoco).

Por otro lado, si mover el preset no sirvió de nada, entonces o se quemó el fotodiodo o bien una limpieza tampoco hubiera ayudado y el problema es mas grave.

Y no, acerca de connlimit hice muchas pruebas en su momento pero se me rompió el mother del router, necesitaba algo que ruterara inmediatamente y terminé instalando un smoothwall en otra pc viejita, en 5 minutos ya tenía internet nuevamente. De esto hace unos meses ya y no he tenido tiempo ni ganas de armar otro gentoo por ahora.

Smoothwall trae una implementación QoS bastante rudimentaria pero efectiva al fin y al cabo, por ahora me viene dando muy buenos resultados. Puedo hablar por teléfonos IP y descargar P2P en simultáneo sin que se note. Con eso me basta.

Salud!

----------

