Make your e-book… fatti l'e-book!

per una diffusione globale dei propri testi

come sistemare un bug su Kobo da soli

42 commenti

Qualcuno ricorderà il famoso bug per Kobo Touch introdotto dopo il rilascio di firmware successivi al 2.5.2. Bug che Kobo in 7 mesi non ha risolto. No, nessuna correzione, anche se loro affermano il contrario. Se vi va l’articolo sta qua. Essenzialmente la miniSD non veniva più riconosciuta all’avvio del dispositivo.

Oramai era chiaro che Kobo non avrebbe voluto più saperne di questo bug. Davo solo fastidio. Onestamente non so perché, forse volevano spingere qualcuno (il sottoscritto) alla pazzia o a risolvere il problema spingendo all’uso esclusivo del loro store, niente ePub su miniSD. Se volevi, al limite, li copiavi sulla memoria centrale. In ogni caso, non sapremo mai perché hanno mentito.

Mi sono messo a studiare e mi sono risolto da solo il problema😉 . E meno male, direi, no?

Sono partito da questo indirizzo:

http://www.mobileread.com/forums/showthread.php?t=185660

Dove ci sono i link diretti al firmware che Kobo rilascia. Il firmware è un file compresso (con estensione ZIP) che contiene una serie di file. Ho scaricato le versioni 2.5.2 e 3.0.1. La prima perché sapevo essere quella funzionante, la seconda perché è quella che si è installata da sola appena si sincronizza il Kobo Touch via WiFi.

Ho decompresso i due firmware e ho iniziato a capire come era fatto il sistema GNU/Linux su cui lavora il Kobo.

E ho capito che il file /etc/init.d/rcS dentro il Kobo Touch  era il responsabile di questo bug.

Che file è rcS? È quello che avvia tutte le applicazioni sul Kobo necessarie al suo funzionamento. Da un confronto tra la versione 2.5.2 e 3.0.1 mi rendo subito conto di una cosa. Grossomodo non sono cambiate molte cose in questo script, ma una di sicuro sì.

Quattro righe, ragazzi, 4 righe rimosse dal fondo di questo file. Quali righe? Queste:

(
if [ -e /dev/mmcblk1p1 ]; then
ACTION=add DEVNAME=/dev/mmcblk1p1 /usr/local/Kobo/udev/sd
fi
) &

Chi è /usr/local/Kobo/udev/sd ? È uno script che monta la partizione /dev/mmcblk1p1, che è il nome con cui GNU/Linux vede la miniSD. Lo script esegue essenzialmente questo comando:

mount -r -t vfat -o $MOUNTARGS $DEVNAME /mnt/sd

dove le variabili MOUNTARGS e DEVNAME sono i parametri con cui va montata la scheda e il nome della stessa, definiti qualche riga prima:

DEV="/dev/mmcblk1p1"
MOUNTARGS="noatime,nodiratime,shortname=mixed,utf8"

Capito? Appena una riga prima si lancia l’applicativo che funge da lettore dei nostri ebook su Kobo:

/usr/local/Kobo/nickel -qws -skipFontLoad

e poi con le 4 righe di cui sopra si monta la partizione. L’applicativo se ne accorge e cerca gli ebook nella miniSD e vissero tutti felici e contenti. Ma quelli di Kobo l’avevano rimosse queste 4 righe, quindi era normale che la miniSD dovesse essere inserita solo a caldo e non poteva stare inserita già all’accensione del dispositivo. A mettermici prima avrei capito stesso 7 mesi fa l’origine del problema.

Poi mi sono messo a giocare con il firmware. Sono partito da questo indirizzo:

http://wiki.mobileread.com/wiki/Kobo_Touch_Hacking

E ho abilitato l’accesso telnet al dispositivo così come descritto, partendo dal famoso file di cui sopra (sempre lui /etc/init.d/rcS) che avevo nella versione di firmware 3.0.1.

Ed ecco che processore usa il mio Kobo Touch comprato a Londra circa 3-4 anni fa:

$ telnet 192.168.1.68
Trying 192.168.1.68...
Connected to 192.168.1.68.
Escape character is '^]'.

(none) login: root
[root@(none) ~]# cat /proc/cpuinfo
Processor : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 159.90
Features : swp half thumb fastmult vfp edsp neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part : 0xc08
CPU revision : 5

Hardware : Freescale MX50 ARM2 Board
Revision : 50011
Serial : 0000000000000000
[root@(none) ~]#

Un bel processore ARMv7 su scheda Freescale MX50 ARM2 Board. Ora posso tornare a usare questo lettore ebook. Sarebbe stato davvero un peccato doverlo buttare. Non si può comprare un lettore ebook ogni volta che qualcosa va storto e che il supporto fa lo gnorri.

Alla prossima versione di firmware si creerà di nuovo il problema, ma ora so bene dove mettere mano e in 3 secondi avrò corretto il bug che Kobo sostiene di aver rimosso e che in realtà sta lì bello bellino.

Aggiungi le 4 righe a rcS e lo spari nel dispositivo come aggiornamento e, magia, ecco di nuovo gli ebook della miniSD comparire sulla pagina iniziale del Kobo Touch.

Alla prossima.

Autore: giovanni

Scrivo su http://giovanniventuri.com/ e faccio e-book per professione su https://makeyourebook.me/

42 thoughts on “come sistemare un bug su Kobo da soli

  1. ciao, ho letto la tua super guida e ti faccio i miei complimenti, adesso provo pure io ad eseguire la procedura vedendo di risolvere il problema della microsd, te ne intendi di linux? io sul mio kobo avrei un bel problema in fato di wifi, l’interno è perfetto e non si è staccato nulla, ma quando vado a fare la ricerca di una rete wifi, senza trovare niente e senza nemmeno iniziare la ricerca mi indica che non sono presenti reti wifi, il mio è un kobo touch n905 e da un bel po’ di tempo, circa un anno non và il wifi, vorrei provare a caricare un firmware abbastanza vecchio per risolvere il problema ma non riesco a capire quale sia abbastanza vecchio, l’ho comprato a luglio 2012 e per qualche aggiornamento ha funzionato =) ti andrebbe di aiutarmi?
    grazie!
    Luke alias Square.

    • Ciao,
      io e Linux siamo amici di vecchia data, almeno 15 anni. Ci sviluppo codice C/C++/Qt, script bash, python e ho anche prodotto un po’ di patch per progetti come KDE😉 .
      Dovresti capire quale firmware funzionava. Potrebbe essere che hanno modificato lo script di avvio del WiFi. O, peggio ancora, corrotto i driver WiFi del tuo Kobo… Cos’è un Touch? Dove lo hai comprato? Perché se lo hai comprato da Mondadori e hai lo scontrino te lo cambiano. Mica l’hai fatto cadere a terra e s’è rotto il Wifi?
      Ti aiuterei anche, ma non ho molto tempo e se non sei pratico di Linux è decisamente impossibile. Dovrei pubblicare il mio sesto ebook.

  2. allora di linux non ho le basi ma solitamente riesco a capire =)
    ho provato a montare il firmware di ottobre 2012, il modello è un kobo Touch N905, praticamente i primi usciti touch a quanto mi pare di aver capito, non era ancora uscito in italia e lo comprai su amazon, mi è arrivato dalla germania se non sbaglio.
    il kobo non è mai caduto, io credo sia corrotto il driver del wifi, ho caricato un video su youtube per far capire meglio il problema.

    eviterei di scrivere alla mondadori/kobo online, perchè non capiscono un tubo in pratica prima di questi aggiornamenti avevo notato che ogni tanto il kobo non leggeva la micro sd da 8gb, il problema alla fine me lo son risolto da solo, non la legge quando la batteria è un bel po’ scarica -.-” ma tanto non avevano capito niente e mi dicevano prova a formattare la memory… incompetenti a livello 1000!!!

    se intuisci cosa potrebbe non funzionare te ne sarei grato.. con questi ultimi aggiornamenti sembra comodo l’utilizzo di internet, e vorrei provarli, ma senza wifi beh è un po’ impossibile =)

    • Del Kobo Touch esistono tre modelli: N905, N905B, N905C. Il mio è di sicuro un N905.
      Confermo che non ne capiscono nulla. In 7 mesi mi hanno dimostrato la loro profonda NON conoscenza.
      Se con un aggiornamento precedente ti funziona non è detto che si può capire qual è il problema reale.
      Dovresti resettare il dispositivo, ricavare la versione del firmware che ha di default il tuo Kobo e verificare che il WiFi funziona. Appena attivi il WiFi, ti si aggiorna il firmware e ti installa il 3.0.1. A quel punto puoi sperare che sia un problema di script e non di driver. Perché sennò ci può fare ben poco. Tra la 2.4.x e la 2.5.1-3.0.1 credo abbiano cambiato il kernel Linux, sono passati a un 2.6.35-kobo, ma, se è il driver, non puoi sostituire quello di default. Mi spiego meglio. Se hai un firmware di default inferiore al 2.5.1 hai un kernel precedente al 2.6.35. Aggiornando (arrivi al firmware 3.0.1 con kernel 2.6.35) non puoi sostituire il driver del WiFi compilato per un kernel 2.6.35 con un driver per una versione di kernel precedente. Non te lo caricherebbe mai. Compilarti il driver per il nuovo kernel non è fattibile, perché devi compilarlo non per un processore x86, ma per un ARM. Si deve studiare e comunque ho dubbi sulla fattibilità pratica. Kobo ha rilasciato dei sorgenti. Forse ci sono anche i sorgenti della loro versione di kernel 2.6.35, ma la difficoltà è compilare per processore ARM, forse serve un gcc-arm. Non lo so. Magari è banale. Fatto sta che non l’ho mai fatto.
      Puoi fare una cosa. Scarichi il firmware di default del tuo Kobo (se ti funziona il WiFi, perché se non funziona allora ti si è rotta l’antenna) e ti scarichi il 3.0.1. Li decomprimi e cerchi di confrontare gli script di WiFi.
      Partendo dal mio articolo ti abiliti il telnet, accedi al Kobo (blocca l’aggiornamento che parte in automatico, magari stacca il router ADSL e lascia solo l’access point acceso) e con il comando “ifconfig” vedi quante interfacce di rete ti vede. Se c’è una wlan0 o similare (ora non ricordo esattamente, ma mi pare la vede come wlan0). Su quello tuo originale dovrebbe esserci. Aggiorni il firmware e ti rimodifichi il tutto anche con il firmware 3.0.1 e fai la stessa prova.
      Inoltre con il comando “iwlist scan” vedi se trova reti WiFi. Lo dai col tuo firmware originale e con il 3.0.1.
      Il tuo è un problema molto tecnico.

  3. Ciao scusami ho provato anche io a giocare con il mio kobo touch che ha lo stesso problema con la SD card letta solo a caldo, ma aggiungendo le 4 righe a fondo codice nel firmware 3.2.0 non ho ottenuto risultati.
    Per il firmware nuovo tu hai risolto in qualche altro modo o sbaglio io qualche cosa? (anche se copia a incollare 4 righe alla fine di un fil da blocco note credo sia alla mia portata :D)
    grazie mille e buona Pasqua!

      • ALla fine ho scaricato un firmware vecchio e copia/incollato il codice invece che dal tuo post del blog direttamente dal li, risolvendo il tutto😉
        Evidentemente anche se avevo tolto gli “a capo” c’era qualche carattere nascosto o qualche spazio mancante che non faceva funzionare il tutto, col codice del vecchio firmware invece va che è una meraviglia.
        Grazie mille, comunque, per questa soluzione, era dall’uscita del firmware buggato che dovevo levare e mettere la SD dopo ogni spegnimento!

  4. Ma alla fine si può avere i lfile compilato come dovrebbe esserlo per riconoscere la scheda? Grazie

    • Da Kobo? Kobo non te lo dà, al più ti dà i numeri da giocare al lotto. Devi fare da solo modificando il famoso script di avvio dei servizi Kobo Touch. Come descritto nell’articolo.

  5. No no, infatti! Intendevo da te🙂 Visto che da quel che ho capito mancano certi spazi e certe righe… Grazie per la celerità e l’irnoia🙂 MI hai fatto spataccare🙂

  6. Certo, diverso ma ho provato ad aggiungere le righe finali e non funziona comunque. grazie comunque

  7. Scusa se vado O.T., ma vista la tua abilità, ci provo… E’ possibile modificare il firmware per ottenere la sincronizzazione anche dei contenuti acquistati fuori dal KoboStore, ad esempio utilizzando un cloud esterno tipo DropBox?

    • Ci sono due problemi.
      Uno. I file ePub comprati altrove vengono letti da Kobo in modo completamente diverso, non ti indica quanto tempo ti resta per finire l’ebook e a che pagina sei… o meglio la pagina te la dice, ma la cambia a seconda dell’umore ogni 4-6 pagine reali, diciamo che dipende di quante parole si compone la pagina stessa e che dimensione ha il carattere, i margini imposti e le dimensioni dell’interlinea e stai sicuro che il risultato per i file non comprati su Kobo è pessimo. In particolare perché non sai quando finirai di leggere l’ebook, puoi sapere al limite a che percentuale di lettura sei ed eventualmente regolarti in maniera molto approssimata dall’errato numero di pagine indicato.
      Secondo problema. Non penso superabile. Per fare il tipo di integrazione che chiedi hai sbagliato a comprare il lettore ebook. Dovresti avere a disposizione il codice sorgente del software di Kobo, cosa che nessuno ha. Si fa prima a cambiare il firmware, anzi, visto che nessuno ha messo a disposizione un firmware per Kobo alternativo a Kobo stesso, fai prima a cambiare lettore ebook. Esiste un lettore ereader che permette di accedere a Dropbox come chiedi tu, ma non lo vendono in Italia. Lo vendeva IBS poi ha ben pensato di cambiare ereader ogni 6 mesi. Oggi vendono Tolino, tra 6 mesi troveranno qualche altro produttore. L’ebook reader in questione è il PocketBook che ha anche la funzione di lettura con sintesi vocale. Si parla però di installare sopra il firmware originale di PocketBook rimuovendo quello di IBS modificato. Ma IBS non lo vende più quindi il problema non si pone: http://obreey-products.com/news/store-books-in-dropbox-sync-and-read-them-on-pocketbook-touch-lux
      Oppure andrebbe visto se DropBox ha un’API che permette comandi HTTP studiando: https://www.dropbox.com/developers/core/docs e cercando di capire se da Kobo riesci a dare i comandi che servono. Io ne dubito, ma, in ogni caso, appena ti si aggiorna il firmware Kobo va tutto a Kaput.
      Kobo non vale. Poteva fare grandi cose, ma alla fine è un lettore che sconsiglio a prescindere. Dà problemi. Il supporto su problemi molto tecnici risponde in maniera casuale, tipo quando tiri i dadi e non hai un supporto italiano in caso di rottura. Mondadori e Feltrinelli se ne lavano le mani nonostante siano loro a venderlo in Italia.
      Ti consiglio, se vuoi cambiare lettore, di comprare un bel Kindle Paperwhite che di qualità ne ha da insegnare a tutti e a tutti i livelli. Amazon lo vende con 30 euro di sconto a 99 euro fino al 24 dicembre. Io ho risolto così. Non compro più niente su KoboBooks. Mi restano da leggere gli ePub presi in passato, ma non mi azzardo a comprare più mezzo ebook anche perché tra le tante tragedie di Kobo se ti capita l’ebook difettoso o un bug (ce ne stanno così tanti) nel software Kobo puoi pure addio alla lettura del tuo ebook, vedi: https://makeyourebook.me/2014/05/06/un-ripristo-al-giorno-su-kobo/.

      • Grazie per la risposta.
        Scusa per il ritardo con cui ti rispondo, ma non mi è mai arrivata la mail di notifica della tua risposta (forse mea culpa non ho flaggato la box qui sotto… chissà)

        Pare di capire che non si può… peccato perché a me Kobo piace come lettore… Ho avuto la fortuna di non incappare mai nei problemi descritti in questi post (e quindi di non aver mai avito la necessità di rivolgermi al servizio clienti), e finora mi sono trovato bene, a parte qualche piccolo freeze (da acceso) o tilt (da spento) che resetto con la graffetta che mi porto sempre dietro…
        Trovo che al giorno d’oggi non poter sincronizzare un libro fra più dispositivi sia una grave pecca, che però riscontro ad esempio anche in software tipo Aldiko…
        Grazie del consiglio su Kindle, ma se ben ricordo Kindle legge un suo formato proprietario e non gli ePub, giusto? La mia azienda mette a disposizione ePub formativi protetti dal sistema di Adobe (DRS?) che Kobo mi legge senza problemi. E poi… Kindle sincronizza con DropBox?

        • Kindle ha un suo formato proprietario, ma Calibre converte (converte vuol dire che comunque l’ebook che produce può soffrire di qualche problema) da ePub a kindle. Kindle non accede a dropbox, non puoi mettere file su dropbox e far sincronizzare kindle. C’è un ereader che legge ePub che fa questa cosa di Dropbox, ma non lo vendono più in Italia. Prima era su IBS prima che cambiassero con Tolino. Si chiama PocketBook. In realtà nessuno grande store ti sincronizza tuoi file personali col suo cloud proprietario, però su kindle puoi mandarti un file Mobi o azw per email. Il tuo Kindle ha una propria e-mail e dovresti riuscire ad avere il documento sul Kindle tramite sincronizzazione, ma non ho mai provato. Più facile caricarli via usb.

  8. Ciao Giovanni, ho letto tutto ciò che hai scritto, e premetto che non sono molto esperta, anzi…
    Oggi ho avuto un grosso problema col mio kobo. Di punto in bianco mi ha chiesto di essere configurato, ho scaricato gli aggiornamenti e dopo aver fatto tutto ho perso tutti i libri che avevo scaricato, ma nel mio kobo non ho inserito la micro sd, per cui i libri erano tutti nel kobo, la versione che ora ho è la 3.11 e il kobo è il N905. Non so come fare, e non so se devo fare quello che hai descritto nei post precedenti. Il fatto è che non riesco manco ad entrare nel kobo da pc, perchè risulta totalmente vuoto… Mi puoi aiutare? Grazie

  9. L’ho configurato come mi ha chiesto, wi-fi e account; con riscaricare intendi riacquistare? Va bene che i libri che avevo li ho letti tutti, ma riacquistarli non lo voglio fare assolutamente, erano tanti…😦

  10. Ci sto provando, ma mi dice di acquistarli… che guaio…

    • Vedi nella tua libreria ebook da dispositivo. Ci trovi un tastino che porta il simbolo di una freccia verso il basso. Ci premi sopra e te lo scarica, mi pare che c’è anche “scarica tutti”.

  11. Mi dice che la mia libreria è vuota… li ho persi mi sa…😦

  12. Le sto provando tutte… anche con l’altra mail, ma con l’altra mail che ho di google mi dice addirittura che non ho un account con quella mail, anche se poi le mail del kobo mi arrivano lì, non ci sto capendo più niente…

  13. Salve, so che da quando ha scritto questo post è passato un pò di tempo ma volevo esporle il mio problema perchè magari può aiutarmi. Io ho un kobo Aura (ormai fuori produzione) da più di un anno e non ho mai avuto particolari problemi (tranne una volta in cui mentre sottolineavo, da solo ha effettuato un ripristino alle impostazioni di fabbrica). Ora, qualche settimana fà, ho acquistato un Kobo Glo per mia madre (è la nuova versione credo perchè non ha più lo slot per la microSD quindi la memoria non è espandibile). Quando oggi ho provato a collegarlo al pc per trasferire i file con “Calibre” in pratica il computer non lo riconosce come un dispositivo di archiviazione. Appena lo collego mi viene chiesto di formattare il dispositivo, una volta avviata la formattazione si interrompe dicendo che è impossibile formattare perchè o il dispositivo non è collegato o perchè è un dispositivo di sola lettura. Ho ripristinato allora il Kobo Glo alle impostazioni di fabbrica e ho provato questa volta a configurarlo via cavo tramite il programma Kobo Desktop, quando collego il Kobo al pc lo riconosce inizialmente ma poi quando procedo con la configurazione il programma mi notifica quanto segue “Impossibile trovare l’eReader Kobo. Il dispositivo deve essere collegato al computer durante il setup. Assicurati che sia connesso e l’impostazione continuerà automaticamente.” ovviamente il Kobo è collegato al pc ma è come se fosse riconosciuto per metà. Non so cosa fare… Credo sia un problema di firmware…
    La ringrazio in anticipo per un’eventuale risposta

    Cordiali saluti
    Martina

    • Deve usare il WiFi per configurarlo e non credo possa trasferire file non presi su Kobo. Oppure si interrompe perché non usa un cavetto USB funzionante? Non saprei. Non va formattato nulla.

  14. Ciao giovanni, visto che rispondi a tutti a sto punto ci provo anche io.
    sono in possesso di un kobo touch con versione 3.19.5761 e riscontro il problema della sd non letta. il fatto è che una volta scaricato il firmware 2.5.2 dal sito da te linkato non so dove mettermi le mani (non capisco nulla di queste cose purtroppo).

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...