Ottenuti i dati di accesso al cellulare attraverso Bluetooth oppure attraverso USB è possibile effettuare una prima connessione di prova per verificare il corretto funzionamento della connessione, senza effettivamente aggiornare i dati all’interno del cellulare.
Dopo aver verificato che sul cellulare siano attive le sincronizzazioni di contatti, appuntamenti o note, ed aver recuperato l’indirizzo del server e il nome dei database da sincronizzare, se non è stato ancora installato il pacchetto libsyncml-utils effettuare l’installazione adesso con:
sudo apt-get install libsyncml-utils
Quindi eseguire una connessione col cellulare col client SyncML di prova fornito nel pacchetto libsyncml-utils. Nel caso si usasse Bluetooth si può utilizzare:
syncml-obex-client \ -b 00:1F:E3:F1:E1:23 10 \ --identifier "PC Suite" \ --wbxml \ --slow-sync text/x-vcard Contacts
Dove 00:1F:E3:F1:E1:23 corrisponde all’indirizzo MAC Bluetooth del cellulare, 10 corrisponde al canale del servizio SyncML, PC Suite corrisponde al nome dell’host e Contacts corrisponde al nome del database dei contatti configurati sul client SyncML.
Per utilizzare la connessione USB invece:
sudo syncml-obex-client \ -u 0 \ --identifier "PC Suite" \ --wbxml \ --slow-sync text/x-vcard Contacts
Naturalmente 0 sarà il canale USB sul quale il client SyncML è in ascolto, sono tutte informazioni che abbiamo visto nella parte precedente.
Questa operazione avvierà una sincronizzazione lenta (slow-sync), cioé richiederà al cellulare tutti i dati presenti nel database richiesto (in questo esempio i contatti) anziché le sole variazioni dall’ultima sincronizzazione. Per ottenere soltanto i cambiamenti dall’ultima operazione di sincronia utilizzare il parametro –sync anziché –slow-sync.
Una risposta tipica somiglia alla seguente:
connection with device succeeded Received an Alert for the DS Server at Contacts: Type: 200, Last 20090123T194948Z, Next 20090123T200426Z Slowsyncing Just received a new session with ID 1 Session 1 reported final. flushing Received an reply to our Alert Going to receive 26 changes Session 1 reported final. flushing Received a added entry 1 of size 179 and type text/x-vcard Data: BEGIN:VCARD VERSION:2.1 REV:20090118T234142Z N:Franco;Pallino;;; TEL;CELL;PREF:+393211234567 X-CLASS:private END:VCARD Received an reply to our Sync: 200 Session 1 reported final. flushing Session 1 has ended
I dati restituiti mostreranno i contatti presenti nella rubrica. In maniera similare è possibile richiedere gli appuntamenti e le altre attività dell’agenda utilizzando:
syncml-obex-client \ -b 00:1F:E3:F1:E1:23 10 \ --identifier "PC Suite" \ --wbxml \ --slow-sync text/x-vcalendar Calendar
Dove naturalmente Calendar corrisponde al nome del database dell’agenda assegnato sul telefono. Altresì possono essere scaricate le note (annotazioni) mediante:
syncml-obex-client \ -b 00:1F:E3:F1:E1:23 10 \ --identifier "PC Suite" \ --wbxml \ --slow-sync text/plain Notes
Qui Notes indicherà il nome del database delle annotazioni. Infine è prevista anche la sincronizzazione degli SMS utilizzando:
syncml-obex-client \ -b 00:1F:E3:F1:E1:23 10 \ --identifier "PC Suite" \ --wbxml \ --slow-sync text/x-vMessage SMS
Quest’ultima sul mio cellulare non funziona, resta eternamente su connessione in corso, ma penso meriti accenno, magari a qualcun altro funzionerà. Ovviamente SMS sarà il nome del database configurato sul telefono.
Seguono le cause più comuni di errori:
Received an transport error: Bluetooth connect error Received an transport error: Link Error
Questo messaggio indica un errata indicazione del MAC del cellulare oppure del canale associato.
connection with device succeeded Received an transport error: Request not successfull: 79
L’errore 79 indica l’avvenuta connessione col cellulare ma l’impossibilità di scambiare dati a causa dell’errato formato. Assicurarsi di aver indicato il parametro –wbxml che trasmetterà i dati in formato binario XML. Se l’errore continuasse a ripresentarsi provare a togliere il parametro –wbxml.
connection with device succeeded Received an transport error: Request not successfull: 67
Il codice di errore 67 è dovuto all’errata indicazione del nome del servizio nel parametro –identifier. Generalmente sui nokia si tratta di PC Suite ma comunque sia verificare come indicato nella parte tre.
Received an transport error: Request not successfull: 68 Received an transport error: Request not successfull: 64
Gli errori 68 o 64 si riferiscono all’errata indicazione del numero del canale, cercando di usare un canale esistente ma riservato ad altre comunicazioni (GPS, modem, PC Suite, auricolare, etc).
Infine se semplicemente non si riceve nessuna comunicazione dati, senza errori come la seguente:
connection with device succeeded Just received a new session with ID 1 Session 1 reported final. flushing Session 1 has ended
La causa più frequente è l’errata indicazione del nome del database associato, verificare sul telefono il nome del database dell’applicazione.
Se si riscontrassero ancora problemi di comunicazione è possibile modificare il protocollo usato col parametro –version e indicando 1.0, 1.1 o 1.2.
Alternativamente è possibile usare i parametri –recvLimit per limitare il numero di bytes nella richiesta e –maxObjectSize per limitare la dimensione di un oggetto da trasferire. Un esempio di questi parametri sarà:
sudo syncml-obex-client \ -u 0 \ --identifier "PC Suite" \ --wbxml \ --version "1.0" \ --recvLimit 1000 \ --maxObjectSize 50 \ --slow-sync text/x-vcard Contacts
Ricordo che syncml-obex-client non è un client SyncML completo, ma risulta utile per effettuare una diagnostica o delle prove prima di utilizzare OpenSync, che non avrà lo stesso livello di chiarezza delle informazioni.
Pubblicato inCellulare, Comandi Console, Connessioni, Linux, Pacchetti, Ubuntu Tagged: agenda, appuntamenti, bluetooth, Cellulare, contatti, nokia, obex, pc suite, sincronizzazione, symbian, syncml, usb Image may be NSFW.
Clik here to view.
Clik here to view.
