Image Hosted by ImageShack.us

Ho finalmente risolto i miei problemi di cd-eject con un masterizzatore scsi..che con k3b propio non ne voleva sapere di uscire,terminata la masterizzazione.
E’ un problema ben noto della versione 1.0.1(ultima release)
Purtroppo bisogna avere i sorgenti per compilare k3b,perche’ bisogna modificare una piccola porzione di codice,che interessa il file

./libk3bdevice/k3bdevice.cpp

Senza questa modifica,e’ possibile comunque ejettare il cd/dvd-rom forzandolo da terminale col comando “eject

1° variante

sudo eject /dev/x

dove x corrisponde al device (scd0,sr0…)

2° variante

sudo eject -m /dev/x

dove -m e’ l’opzione per forzare l’espulsione anche a device “busy” ovvero “occupato”

PREMESSA:la modifica che faremo..probabilmente sara’ inutile,perche’ nella prossima versione di k3b..Sebastian potrebbe avere risolto questo piccolo “bug”..

Per sistemare definitivamente questo problema,procuriamoci i sorgenti di k3b
Dal momento che stiamo installando la stessa versione che abbiamo installato dai repository..il binario di k3b (usr/bin/k3b) verra’ semplicemente sovrascritto..quindi non e’ necessario compilare anche gli altri files che trovate sul sito:

K3b 1.0.1 (KDE 3.2)

* K3b 1.0.1 sources
* K3b internationalization (i18n) sources for K3b 1.0.1
* K3b Monkey’s Audio Encoder and Decoder plugin 3.1 for K3b >= 0.12

..a meno che non abbiate una versione diversa da 1.0.1..

Scompattiamo k3b e spostiamoci nella directory:

libk3bdevice

Apriamo il file:

k3bdevice.cpp

Consiglio kate o kwrite..o comunque un editor dove sia possibile visualizzare i numeri di riga..altrimenti diventa lunga la faccenda..

Free Image Hosting at www.ImageShack.us

quindi da kate–visualizza–mostra i numeri di riga(o premete F11) e spostiamoci alla riga 1571.
La patch e’ la seguente:

— ./libk3bdevice/k3bdevice.cpp
+++ ./libk3bdevice/k3bdevice.cpp
@@ -1571,7 +1571,7 @@
}
if ( success )
return success;
-#endif
+#else

ScsiCommand cmd( this );
cmd[0] = MMC_PREVENT_ALLOW_MEDIUM_REMOVAL;
@@ -1586,6 +1586,7 @@
cmd[4] = 0x2; // LoEj = 1, Start = 0

return !cmd.transport();
+#endif
}

Risparmiandovi l’interpretazione,le uniche 2 cose da modificare sono:

1- togliere endif e mettere al suo posto else

}
if ( success )
return success;
#else

2- alla riga 1586,aggiungere la chiusura condizione endif

cmd[4] = 0x2; // LoEj = 1, Start = 0
return !cmd.transport();
#endif

Il codice corretto sarebbe:

if ( success )
return success;
#else

ScsiCommand cmd( this );
cmd[0] = MMC_PREVENT_ALLOW_MEDIUM_REMOVAL;
cmd[5] = 0; // Necessary to set the proper command length
cmd.transport();

cmd[0] = MMC_START_STOP_UNIT;
cmd[5] = 0; // Necessary to set the proper command length
cmd[4] = 0x1; // Start unit
cmd.transport();

cmd[4] = 0x2; // LoEj = 1, Start = 0

return !cmd.transport();
#endif
}

Salviamo e procediamo con la normale compilazione,dalla directory superiore:

./configure
sudo make
sudo make install

K3b patchato.. si potrebbe anche pacchettizzare in .deb.. cosi’ da rendere piu’ semplice la vita agli utenti.Se qualcuno lo volesse fare saro’ ben lieto di ospitare il link.

Un altro fastidiosissimo inconveniente..che non c’entra con k3b..e’ il pulsante di espulsione del cd-rom..che a molti non funziona.(lock on mount)
Qui non c’e’ nulla da compilare..controlliamo solo che il file /etc/sysctl.conf abbia la seguente riga

dev.cdrom.lock=0

Se cosi’ non fosse,aggiungiamola..
Per sicurezza,impostiamo la stessa opzione per il file:

sudo echo 0 > /proc/sys/dev/cdrom/lock
_________________________________________________________

Per quanto riguarda i problemi dei permessi invece,ricordo che e’ possibile fare tutto dal k3bsetup

kdesu kcmshell k3bsetup2 --lang it

Free Image Hosting at www.ImageShack.us

Related Posts Plugin for WordPress, Blogger...

Il tuo indirizzo ip:
18.206.48.142

Valutazione 3.00 su 5
happy wheels 2 demo

Category:

Senza categoria

Tags:

Commenti via Facebook:

Leave a Reply

Your email address will not be published. Required fields are marked *

*

3 Comments

  • Maramax ITALY 12 anni ago

    L’informazione è buona per chi ha questo problema ma chi ti ha insegnato ad applicare così le patch?
    Non è più semplice e sicuro usare il comando patch (che è fatto apposta)?

      Quota

  • @Maramax
    si in teoria bastava incollare la patch cosi’ come era in un txt e poi applicarla..:-)
    dal momento che la modifica era minima..ho fatto a mano..

      Quota

  • I have fun with, result in I found just what I used to be taking a look for.
    You’ve ended my four day long hunt! God Bless you man. Have a nice day. Bye

      Quota