Italian Linux Society
Matematica C3
Dossier Scuola
Wii Lavagna Digitale
Questo howto si propone di guidarvi passo passo nella configurazione di Debian per ottenere una comunicazione USB con dispositivi che fanno uso del protocollo OBEX (telefoni Nokia con O.S. Symbian ad esempio). Si arriverà ad usare allo scopo anche un frontend grafico: obextool.
Per questo howto è stato usato un Nokia 6630.
Per il corretto funzionamento del tutto servono alcuni pacchetti relativi al protocollo obex e alcune librerie grafiche necessarie ad Obextool.
Installare i seguenti pacchetti tramite APT:
$ apt-get install obexftp obexserver openobex-apps libopenobex1 libopenobex-1.0-0 tcl8.4 tk8.4 bwidget
Scaricate le librerie Tablelist da QUA' e scopattiamole in una locazione a piacere.
Collegate il telefono mediante cavetto usb e proviamo la connessione:
$ /usr/bin/obex_test -u dovreste avere un output simile:
Using USB transport, querying available interfaces
Interface 0: Nokia Nokia 6630 SYNCML-SYNC
Interface 1: Nokia Nokia 6630 PC Suite Services
Adesso vediamo se obexftp funziona a dovere:
$ obexftp -u 1 -c C: -l
questo comando appena digitato permette ad obexftp di connettersi via usb tramite il canale 1 e di listare il contenuto della cartella C: del telefono.
Dovrebbe restituire qualcosa del genere:
Connecting...done
Sending "C:"... done
Receiving "(null)"... < ?xml version="1.0" ? >
< !DOCTYPE folder-listing SYSTEM "obex-folder-listing.dtd"
[ < !ATTLIST folder mem-type CDATA #IMPLIED >
] >
< folder-listing version="1.0" >
< parent-folder / >
< folder name="cache" modified="20050101T020110Z" user-perm="RWD" mem-type="DEV"/ >
< folder name="LOGS" modified="20050101T020110Z" user-perm="RWD" mem-type="DEV"/ >
< folder name="mmsvar" modified="20050101T020106Z" user-perm="RWD" mem-type="DEV"/ >
< folder name="Nokia" modified="20050101T020106Z" user-perm="RWD" mem-type="DEV"/>
< folder name="videos" modified="20060626T104250Z" user-perm="RWD" mem-type="DEV"/ >
< file name="AlonDictaphone" size="223" modified="20060718T190454Z" user-perm="RWD"/ >
< file name="MP" size="47" modified="20060627T002042Z" user-perm="RWD"/ >
< file name="PowerMP3" size="46" modified="20060624T190204Z" user-perm="RWD" / > < /folder-listing>done
Disconnecting...done
Adesso se si vuole provare a scaricare/uploadare dal/sul telefono si usano le flag -g (get) e -p (put). Faccio un esempio:
$ obexftp -u 1 -c 'E:\Videos' -p video.3gp
Se si vuole lavorare usando un interfaccia grafica dobbiamo ricorrere a obextool.
Scaricare obextool da QUA', scompattiamolo in una directory a piacere e modificate il file obexwrap.sh nella cartella etc del programma in modo da farlo puntare al percorso di installazione di obexftp.
Nel mio caso ho modificato la riga:
obexftp -t /dev/modem "$@" in obexftp -t /usr/bin/obexftp -U 1 "$@"
(sostituite il percorso sopra in base al vostro percorso del binario obexftp)
Adesso modifichiamo obextool.tk in modo da farlo puntare al percorso dove abbiamo scompattato le librerie Tablelist. Modifichiamo la riga:
exec wish "$0" ${1+"$@"} in TCLLIBPATH=percorso/tablelist/ exec wish "$0" ${1+"$@"}
Ora modifichiamo il file obextool.cfg, nella cartella etc di obextool andando a settare le righe config.memstatus e config.filemove a "0", mentre config.dir_slash impostarlo a "1".
In conclusione non rimane altro che entrare nella cartella dove avete scompattato obextool e dare:
$ ./obextool.tk
N.B. In alternativa si può installare obextool e le librerie tablelist anche da questi repository:
deb http://www.stud.uni-karlsruhe.de/~ubq7/debian testing main
deb-src http://www.stud.uni-karlsruhe.de/~ubq7/debian testing main
In tal caso i file da modificare sono:
/etc/obextool/obextool.cfg, nello stesso modo di come spigato sopra.
/usr/bin/obextool.sh nel quale la riga 41 OBEXCMD_OPTIONS deve apparire così:
OBEXCMD_OPTIONS=${OBEXCMD_OPTIONS:=obexftp -t /usr/bin/obexftp -u 1}
P.S.Potrebbe esserci qualche imperfezione in quanto ho configurato il tutto sulla mia Debian qualche tempo fa, ma credo che dovrebbe funzionare tranquillamente. In ogni caso, se qualcuno lo prova, mi faccia sapere se incontra problemi contattandomi.