Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Immutable Page
  • Info
  • Attachments


Introduzione

Questa guida serve per aiutare a collegare tramite Synce il vostro palmare WM 5/6/6.1 alla vostra Ubuntu Box tramite cavo USB.

La guida è stata scritta per Ubuntu Hardy Heron 8.04, ma ho aggiunto anche le parti che eventualmente divergono per Intrepid Ibex 8.10 (repository citati, alcuni comandi). Non ho purtroppo idea della compatibilità con le versioni precedenti.

Inoltre spiega anche come sincronizzare contatti, calendario, attività e files con Evolution. Se poi trovassi anche un modo per sincronizzare la posta ...

Preparazione

Innanzittutto il vostro palmare/smartphone deve essere configurato per usare RNDIS

  • WM5: Microsoft non fornisce un programma per modificare il comportamento del collegamento che pertanto è già di default con RNDIS. Se si hanno problemi, controllate l'esistenza di un programma per modificare i parametri USB sul vostro apparecchio (alcuni produttori forniscono strumenti di terze parti insieme al vostro device per farlo).
  • WM6/6.1: Andate su Start -> Impostazioni -> Connessioni -> USB a PC e verificate che sotto ActiveSync sia abilitato il check per "Attiva le funzionalita' avanzate di rete".

ATTENZIONE: Non è detto che in tutti i device sia esattamente questa la procedura. Per esempio il modello Asus P535 necessita dell'attivazione del Turbo Mode nelle Impostazioni USB.

Fate quindi riferimento al manuale del proprio device/terminale per sapere come fare.

Quando collegate il terminale al computer, dmesg deve darvi un messaggio simile al seguente:

[  156.340020] usb 7-3: new high speed USB device using ehci_hcd and address 4
[  156.500511] usb 7-3: configuration #1 chosen from 1 choice

Inoltre dovete inserire nel vostro /etc/apt/sources.list le seguenti righe {{{deb http://ppa.launchpad.net/synce/ubuntu hardy main deb-src http://ppa.launchpad.net/synce/ubuntu hardy main}}}

o, per Intrepid {{{deb http://ppa.launchpad.net/synce/ubuntu intrepid main deb-src http://ppa.launchpad.net/synce/ubuntu intrepid main}}}

e dare il classico

sudo apt-get update

per caricare il nuovo repository

Installazione

Nota Bene : Come detto, sia per WM5 che per WM6/6.1 si userà il modulo RNDIS e non più il vecchio modulo ipaq, per cui la prima cosa da fare è installare e compilare il modulo usb-rndis-host. Il sito di Synce riporta che dal kernel 2.6.24 in poi, il modulo è già correttamente installato, ma in realtà funziona solo con alcuni PDA e c'è al momento un bug risolto in attesa di patch (che non è ancora stata implementata nel 2.6.28) che rende veramente compatibile con tutti i PDA i moduli inseriti nel kernel. Vale perciò la pena passare direttamente al passo Installazione Librerie e solo se il comando synce-pls dovesse dare errori, tornate qui e seguite il passo successivo, perchè il vostro PDA non è compatibile con i moduli presenti nel kernel (HTC in particolare)

Installazione Modulo usb-rndis-host

Procedura per Hardy Heron

  1. Per prima cosa provate a rimuovere i moduli che potrebbero già essere installati

sudo rmmod rndis_host cdc_ether usbnet

Se vi dice che i moduli non erano installati, niente paura e proseguite.

  1. Se erano installati, conviene rimuoverli anche fisicamente dal file system.

sudo rm /lib/modules/`uname -r`/kernel/drivers/net/usb/{rndis_host,cdc_ether,usbnet}.ko

Può essere che vi dia errore. Non è un problema e proseguite.

  1. Ora scarichiamo e compiliamo i nuovi moduli

{{{sudo apt-get install usb-rndis-source cdbs sudo module-assistant auto-install usb-rndis}}} Al termine, avrete installato il modulo corretto. È utile riavviare prima di proseguire.

Procedura per Intrepid Ibex

È più semplice ma meno immediata.

  1. Dovete installarvi il client di subversion (dovete abilitare il repository Universe) e alcune librerie per la compilazione:

sudo apt-get install subversion libdbus-glib-1-dev pkg-config libglib2.0-dev python python-all-dev python-pyrex autotools-dev libgnet2.0-dev libhal-dev automake libtool build-essential
  1. Da terminale, andate in una cartella nella vostra home in cui vi viene bene scaricare i dati di cui sotto e digitate :

 svn co http://synce.svn.sourceforge.net/svnroot/synce/trunk/usb-rndis-lite
  1. Nella cartella usb-rndis-lite appena scaricata, entrate e digitate in sequenza:

{{{sudo ./clean.sh sudo make sudo make install}}} Se vi stupisce l'uso di sudo davanti a clean.sh e make, il motivo è legato al fatto che clean.sh va a rimuovere i moduli presenti nel kernel per preparare la compilazione e l'installazione dei moduli di Synce. Siccome poi configura anche una parte dei sorgenti, make non ha più diritti per compilarli a meno che non lo lanciate come superuser. Non ho trovato altra soluzione.

Dopo l'installazione, fate un bel reboot e i nuovi moduli sono operativi.

Installazione Librerie

Dal mese di Luglio 2008, Synce ha rilasciato la versione 0.12 di synce-hal che ha risolto molte delle magagne della vecchia versione. Pertanto andremo a usare synce-hal per effettuare la connessione, ma se non vi funzionasse potete sempre installare odccm. I due sono mutualmente esclusivi, pertanto o si installa uno o si installa l'altro. Le dipendenze settate sono in grado di dire ad Apt di installare uno e rimuovere l'altro e viceversa.

Andiamo a installare synce-hal

sudo apt-get install synce-hal librra0-tools librapi2-tools

Connessione al palmare

A questo punto, se non l'avete già fatto, collegate il palmare, attivate ActiveSync su di esso, tornate al pc, aprite il terminale e digitate :

synce-pls

Se l'output è una cosa simile : {{{amministratore@linux-server:~$ synce-pls Directory 2008-09-16 13:00:12 Immagini/ Directory 2008-09-16 13:00:14 Modelli/ Directory 2008-09-16 13:00:14 Personale/ Directory 2008-09-16 13:00:14 Lavoro/ Directory 2008-09-16 13:00:14 Musica/ Directory 2008-09-16 13:00:14 Suonerie/ Directory 2008-09-16 13:02:10 Video/ Directory 2008-09-16 13:02:12 UAContents/ Directory 2008-09-16 13:02:12 Voci/ Directory 2008-11-13 15:30:06 Chiamate/ Directory 2008-11-17 15:59:54 Condivisione Bluetooth/ ...}}}

Complimenti ! Funziona tutto. In caso contrario, seguono le possibili soluzioni ai problemi più comuni :

Troubleshooting

Interfaccia di rete

La prima cosa da verificare è che il palmare/smartphone/WM5/6/6.1 sia visto come interfaccia di rete. Per fare questo basta dare un

dmesg

subito dopo aver collegato il device via USB, per verificare se viene visto, riconosciuto e quale device gli viene assegnato. E'possibile anche farlo dando il seguente comando

ifconfig -a | grep 80:00:60:0f:e8:00  | cut -d " " -f 1

(potrebbe essere necessario avviarlo con sudo davanti).Se avete installato il modulo usb-rndis-host, il device sarà quasi sicuramente rndis0, ma un controllo ovviamente non fa mai male.

A quel punto, se in dmesg avete delle righe simili a questa :

[  158.179058] rndis0: register 'rndis_host' at usb-0000:00:09.2-3, RNDIS device (SynCE patched), 80:00:60:0f:e8:00
[  168.612010] rndis0: no IPv6 routers present

siete già a buon punto. Aprite /etc/network/interfaces con un editor di testo, e aggiungete una riga come questa

auto rndis0
iface rndis0 inet dhcp

tenendo bene a mente che rndis0 dovete aver prima verificato se è il vostro device oppure se ha un altro nome. Nel caso sostituitelo con il device appropriato. Riavviate la rete con

sudo /etc/init.d/networking restart

ricollegate il palmare (killando ActiveSync sul palmare prima di ricollegarlo, così siete sicuri) e riprovate con

synce-pls

Potreste aver già risolto.

Firewall

Come seconda cosa, verificate che il vostro firewall, se ne avete uno, non stia bloccando il passaggio dei dati. Potrebbero infatti non esserci regole per il device rndis0. Disabilitate il firewall per un attimo (è la cosa più veloce da fare) e ritentate il collegamento (usando poi synce-pls per vedere se vedete i dati). Se tutto è a posto, il firewall è il problema e pertanto va configurato. Tenendo a mente che questa guida è solo per sincronizzare i dati fra palmare e computer e non ritiene di usare la connessione a internet sul palmare tramite USB, il mio suggerimento è di aggiungere una regola sul firewall che accetti tutto il traffico in entrata e in uscita sull'interfaccia rndis. Praticamente è come disabilitare il firewall per la connessione del palmare. Ne consegue che se invece pensate di sfruttare la connessione a internet del computer per navigare con il palmare, una regola così può essere abbastanza pericolosa (teniamo a mente che stiamo usando Windows Mobile ...). Pertanto vi rimando alla documentazione del vostro firewall (che sia iptables o ufw o quant'altro) per scrivere una regola adeguata a consentirvi il traffico fra pc e palmare ma a bloccare gli ingressi provenienti da internet, a meno che non espressamente richiesti da voi (è il caso dei browser, per esempio)

Blacklisting Moduli Precedenti

Le prime due operazioni dovrebbero bastare per quasi tutti, ma è possibile che prima di avere un device WM5/6/6.1, voi possedeste un palmare WM2002/2003 e che aveste già tentato (con successo o meno) di collegarlo al computer. Pertanto, 99 su 100, avrete installato il modulo ipaq nel kernel. Ma questo va in conflitto con tutto il processo di connessione e pertanto è opportuno blacklistarlo e rimuoverlo. Per blacklistarlo, basta aprire,con diritti di amministratore, con un editor di testo il file

/etc/modprobe.d/blacklist

e aggiungere la riga

blacklist ipaq

in fondo al documento. Dopodiché, rimuovetelo dando

sudo rmmod ipaq

nel terminale.

Configurazione

  1. Una volta verificato che il PDA viene letto dal pc, per configurare la sincronizzazione bisogna innanzittutto installare i seguenti pacchetti :

sudo apt-get install multisync-tools opensync-plugin-evolution opensync-plugin-synce

Se ci sono utenti KDE, possono usare opensync-plugin-kdepim invece che opensync-plugin-evolution.

  1. Il motore di Synce (synce-sync-engine) dovrebbe partire in automatico ogni volta che ci si collega (non ha interfaccia grafica, per cui potete vederlo solo frugando tra i processi attivi), però potrebbe aver bisogno di un file di configurazione. Io personalmente non ne ho avuto bisogno, ma potrebbe essere utile per qualcuno. Per ottenerlo e configurarlo fate :

mkdir ~/.synce
wget -O ~/.synce/syncengine.conf.xml http://synce.svn.sf.net/svnroot/synce/releases/0.11.1/sync-engine/config/config.xml
nano ~/.synce/syncengine.conf.xml
  1. Ora bisogna creare la partnership (o profilo di sincronizzazione) per dire a synce quali sono le parti da sincronizzare.

Windows Mobile supporta fino a due profili, per cui, se avete già delle partnership attive (se avevate o avevate tentato o una configurazione con un WM2003, è probabile che ci siano), il consiglio è di cancellarle (con il comando synce-delete-partnership, a meno che non necessitiate di esse per la configurazione con altri PDA). Nel caso non possiate cancellarle , vi consiglio di usare un nuovo nome per la partnership così non vi confondete. Per creare la partnership scrivete:

synce-create-partnership "Linux desktop" "Contacts,Calendar,Tasks,Files"

Sincronizzazione


CategoryHomepage