A causa di una serie di motivi, collegare i cellulari Nokia, sia attraverso il cavo USB che via Bluetooth su Slackware e sostanzialmente su tutti i sistemi GNU/Linux, può generare una serie di problemi. Per questa ragione in questo tutorial vedremo un esempio di come fare per collegare correttamente via USB al fine di trasferire file tra il cellulare e un sistema Gnu/Linux, nello specifico su Slackware.
Prima di ogni cosa è necessario essere sicuri di avere nel sistema l'utility di base che consentirà lo scambio di file tra cellulare e pc come se stessimo facendo uso di un comune applicativo ftp per lo scambio di file. [...]L'applicativo in questione è Obextool (grafico) che comprende ObexFtp (testuale) con relativeopenobex-apps.
NB: l'how-to è scritto per Slackware 12.1 e versioni superiori, in cui il pacchetto openobex-apps e anche obexftp è già presente di suo. Se per una ragione qualunque non dovesse essere così, si potrà reperire con facilità dal web e nel caso specifico per Slackware anche già inserito per l'uso.
Il primo passo, accertata la presenza di obexftp e affini, ci assicureremo che il kernel riconosca il cellulare come un normale dispositivo di scambio di file in USB.
NB: affinchè l'operazione possa avere una buona riuscita, bisognerà considerare che tutto il procedimento si basa sul demoneudev. Se non fosse stato abilitato di default all'avvio di Slackware sarà bene dapprima verificare la sua presenza e in caso contrario startarlo da user root:
- Codice: ~# ps x | grep udev 1002 ? S<s 0:02 /sbin/udevd --daemon
se non restituisce il processo provvediamo a startarlo:
che dovrebbe restituire un uscita simile a questa:
- Codice:usb 4-1: new full speed USB device using uhci_hcd and address 2 usb 4-1: configuration #1 chosen from 1 choice cdc_acm 4-1:1.8: ttyACM0: USB ACM device usbcore: registered new interface driver cdc_acm drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters
- Codice:Bus 005 Device 001: ID 0000:0000 Bus 004 Device 002: ID 0421:043a Nokia Mobile Phones N70 USB Phone Parent Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 001 Device 003: ID 0c45:602c Microdia Clas Ohlson TWC-30XOP WebCam Bus 001 Device 001: ID 0000:0000
- ~# ls -al /dev/ttyACM0 crw-rw---- 1 root uucp 166, 0 2009-05-17 22:35 /dev/ttyACM0
I due valori sono riconosciuti dal sistema già dal precedente comando "/sbin/lsusb" che ci ha restituito:
Spuntiamo dove preferiamo i due valori sottolineati in rosso. Trovati i due valori dovremmo comunicare ad udev che una volta collegato il dispositivo non dovranno esserci problemi di permessi.
NB: in casi generali udev permetterà di vedere il dispositivo e quindi la transazione FTP solo all'utente root. Per evitare tutto questo, e far si che il normale user posso eseguire le transazioni da pc a del cellulare e viceversa, aggiungeremo una regola ad udev nella directory /etc/udev/rules.d/ con il nostro editor preferito, essendo già precedentemente muniti dei valori id "Vendor & Product" cellulare come segue:
- ~# vi /etc/udev/rules.d/80-nokia.rules ACTION!="add", GOTO="nokia_rules_end" #SUBSYSTEM!="usb_device", GOTO="nokia_rules_end" LABEL="nokia_rules_start" ATTR{idVendor}=="0421", ATTR{idProduct}=="043a", OWNER="root", GROUP="users", MODE="0660" LABEL="nokia_rules_end"
Nota da non sottovalutare: é buona norma essere certi che il proprio utente sia appartenente ai gruppi generici di sfruttamento di periferiche che in casi generali dovrebbero risultare come i seguenti:
- Codice:~ $ id uid=1000(...) gid=100(users) gruppi=5(tty),7(lp),11(floppy),17(audio),18(video),19(cdrom),81(messagebus),82(haldaemon),83(plugdev),93(scanner),100(users)
- Codice:~# usermod -G floppy,audio,video,cdrom,haldaemon,plugdev,scanner,tty,uucp mio_utente ~# newgrp nostro_gruppo_di_appartenenza_utente esempio: ~# newgrp users
Restartato il demone udev, riattaccheremo il cavetto USB e verificheremo la connessione traSlackware e il nostro Nokia da terminale come segue:
- Codice:~$ obex_test -u Using USB transport, querying available interfaces Interface 0: Nokia Nokia N70 SYNCML-SYNC Interface 1: Nokia Nokia N70 PC Suite Services Use 'obex_test -u interface_number' to run interactive OBEX test client
- Codice:~$ obexftp -u 1 -c C: -l If USB doesn't work setup permissions in udev or run as superuser. 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> <!ATTLIST folder label CDATA #IMPLIED> ]> <folder-listing version="1.0"> <parent-folder /> <folder name="cache" modified="20070821T120632Z" user-perm="RWD" mem-type="DEV"/> <folder name="Data" modified="20081118T024304Z" user-perm="RWD" mem-type="DEV"/> <folder name="Nokia" modified="20060101T020012Z" user-perm="RWD" mem-type="DEV"/> <folder name="Notepad" modified="20081113T010836Z" user-perm="RWD" mem-type="DEV"/> <file name="BlasterSettings" size="73" modified="20070919T140206Z" user-perm="RWD"/> <file name="CellTrack" size="47" modified="20070914T215856Z" user-perm="RWD"/> <file name="DSPROFILEEDITOR.EXE" size="3881" modified="20070822T095218Z" user-perm="RWD"/> <file name="MP" size="47" modified="20070920T222404Z" user-perm="RWD"/> <file name="PDPhotoLibCache.txt" size="16" modified="20090509T213150Z" user-perm="RWD"/> <file name="Photo Express M-Style" size="42" modified="20070904T160312Z" user-perm="RWD"/> <file name="PowerMP3" size="46" modified="20070902T191346Z" user-perm="RWD"/> </folder-listing>done Disconnecting...done
Finalmente vedremo il contenuto della memoria del nostro cellulare Nokia e da questo momento potremo effettuare via obexftp le transazioni come se stessimo usando un normale applicativo FTP.
Come da esempio seguente utilizzeremo:
- Codice:-p (PUT) per l'upload -g (GET) per il download $ obexftp -u 1 -c 'E:/muvee' -p esempio.3gp $ obexftp -u 1 -c 'C:/Nokia/Sounds/Digital' -g 'Sound.amr'