Connetti PDA Con Linux

Da MontelLUG.
Menu
MontelLUG frontpage
Aiuto: Come modificare le pagine
Torna indietro

INTRODUZIONE

La tecnologia di miniaturizzazione permette sempre più di avere a disposizione una grande potenza di calcolo in uno spazio sempre più ristretto. Lo sviluppo inoltre di sempre più avanzate tecnologie di connessione permette di esaltare il carattere di "mobilità" degli strumenti informatici.

In questo scenario, grande importanza assumono i palmari, specie per lo sviluppo improvviso che stanno avendo negli ultimi tempi. A fronte di un prezzo sempre più accessibile, questi apparati hanno una maggiore potenza di calcolo (ai livelli attuali in grado di far girare ogni tipo di applicazione) unità ad una ricca dotazione di periferiche. Oltre all'ormai immancabile touchsceen a colori QVGA, possono essere dotati di slot per schede SD e Compact Flash, schede Bluetooth, WiFi, IrDa, USB, Seriale, moduli GPRS, antenne GPS etc.

Con una tale dotazione hardware e con una disponibilità vastissima di software, i Palmari stanno diventando un pilastro fondamentale del Information Tecnology, andando a coprire quella fascia di utenze con un necessario bisogno di mobilità (non stò parlando dei Top Manager, ma piuttosto di tutte quelle attività che devono essere svolte "sul campo" tipo customer relationship, oppure vicino alle unità produttive tipo "controllo di produzione"). In pratica, nell'ambiente buisness, permettono di accorciare il flusso di raccolta di informazioni, eliminando la necessità di passare per moduli cartacei. Questo, seppure sembra banale, permette di ottenere un flusso di informazioni:

  1. Sincrono
  2. Bidirezionale
  3. Informatico

Alla luce di queste informazioni risulta necessario che Linux sia in grado di interfacciarsi con questi dispositivi, indipendentemente dal tipo di sistema operativo da essi utilizzato. In questo documento vedremo come sia possibile connettere un PDA, nello specifico un Acer N50 Premium, con un sistema Linux, in particolare con Ubuntu.

Questo documento sarà diviso in due parti: una in cui si affronta l'integrazione tra Ubuntu e Windows Mobile 2003, un'altra in cui proveremo ad installare una distro Linux sul PDA e vedremo gli strumenti che questa ci mette a disposizione (andremo quindi al di là della semplice sincronizzazione).

Integrazione con Windows Mobile 2003

Questa sezione sarà divisa in due parti. Prima andremo ad analizzare come sia possibile collegare il palmare al pc, per rendere possibile lo scambio dati. In seguito analizzeremo la parte software, come cioè sia possibile installare programmi sul PDA o sincronizzare le rubriche di evolution etc.

Connessione tra PC e PDA

Wireless

La connessione del PDA con Linux, nel caso sia presente una scheda wireless in entrambi, risulta molto semplice ed efficiente. Di seguito in neretto vi saranno i valori dei parametri di configurazione che io ho abilitato. Questo in modo che possa poi indicare i comandi completi da utilizzare per configurare la scheda di rete in linux.

Vedremo ora le configurazioni da fare sul PDA.

Bisogna configurare una rete wireless:

  • Tap sull'icona, posizionata nella barra in basso a sx, della connessione wireless.
  • Premere il pulsante "configura".
  • Nella maschera "Configurazione reti senza fili" premere aggiungi
  • Impostare il nome della rete (nel mio caso vaio2'), nell'opzione Si connette a: impostare la connessione che utilizza questa rete Impost. predefinite Ufficio, spuntare La connessione in uso è di tipo da dispositivo a dispositivo (ad hoc).
  • Selezionare, sempre nell stessa maschera il tab Chiave di rete, impostare Autenticazione Aperto e Crittografia Dati a Disattivato.
  • Premere OK in alto a sinistra.
  • Si torna quindi nella maschera "Configurazione reti senza fili". Premere il tab Schede di rete per configurare i parametri della scheda wireless.
  • Impostare La scheda di rete si connette a: al valore Impost. predefinite ufficio.
  • Toccare, nella lista delle schede di rete, il nome della scheda wireless (nel mio caso SAMSUNG WLAN CF CARD(SWL-2450)).
  • Impostare l'indirizzo IP (nel mio caso Usa indirizzo IP specifico, Indirizzo IP 192.168.77.1, Subnet Mask 255.255.255.0, Gateway predef. 192.168.77.1.
  • Premere sul tab Server dei Nomi ed impostare il DNS, ad esempio 151.1.1.1. Premere OK in alto a sinistra per tornare alla maschera Configurazione schede di rete.
  • Premere OK per uscire dal programma di gestione wireless.
  • Dal menù start andare in Impostazioni, premere il tab Connessioni, premere l'icona Connessioni, premere il tab Avanzate e premere il pulsante Selezionare reti.
  • Nella maschera Gestione della rete scegliere in entrambe i menù a tendina Impostazioni ufficio.
  • Premere "OK" in alto a sinistra fino a tornare alla schermata iniziale.
  • La configurazione nel PDA è conclusa.

Per quanto riguarda Linux, assumeremo che siano installate nel vostro PC le wireless-tool (i comandi che utilizzeremo per configurare la scheda wireless), che la scheda wifi sia riconosciuta dal sistema (che abbiate quindi caricato il modulo corretto) e che abbiate i diritti di amministratore (per eseguire i comandi che verranno indicati). Assumiamo inoltre che la vostra scheda wireless sia riconosciuta come eth0.

Per configurare la rete e la scheda wifi verranno utilizzati i seguenti comandi, da lanciare in un terminale con un utente amministrarore (root):

  1. ifconfig eth1 192.168.77.2
  2. iwconfig eth1 mode ad-hoc
  3. iwconfig eth1 essid vaio2
  4. iwconfig eth1 channel auto

Analizzeremo singolarmente ora i vari comandi:

ifconfig eth1 192.168.77.2
serve per assegnare l'indirizzo ip alla scheda di rete. In automatico aggiunge la netmask e la rotta nella routing table
iwconfig eth1 mode ad-hoc
istruisce la scheda wifi la modalità di connessione da utilizzare. In questo caso, dovendo connettere direttamente il PDA al PC scegliamo la modalità Ad-Hoc, cioè quella da utilizzare per connettere direttamente due schede wifi senza un access point.
iwconfig eth1 essid vaio2
istruiamo alla scheda di connettersi alla rete con ESSID uguale a vaio2; non strettamente necessario.
iwconfig eth1 channel auto
diciamo alla scheda di scegliere in modo automatico il canale da utilizzare. E' possibile anche specificare un canale particolare inserendone il numero. Se l'impostazione non dovesse funzionare potete provare con il comando iwconfig eth1 channle 10 che imposta come canale da utilizzare il numero 10, impostazione che funziona con il mio PDA

Per maggiori informazioni sul funzionamento dei comandi e delle reti wireless è possibile consultare il manuale del comando iwconfig (man iwconfig) che risulta chiaro ed intuitivo.

Digitando ora in un terminale il comando:

iwconfig eth1

dovreste vedere un output del tipo:


eth0      IEEE 802.11b  ESSID:"vaio2"
          Mode:Ad-Hoc  Frequency:2.457 GHz  Cell: 02:0E:35:22:35:C1
          Bit Rate=11 Mb/s   Tx-Power=20 dBm
          Retry limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=98/100  Signal level=-24 dBm  Noise level=-256 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:9  Invalid misc:83   Missed beacon:0

A questo punto è sufficente accendere il PDA, toccare sull'icona del wireless in basso a dx e selezionare dal menù che appare Accendere WLAN.

Il palmare ora dovrebbe essere connesso al vostro PC. Per verificare è sufficiente provare ad interrogare qualche servizio sul vostro PC

Seriale

Wine permette di far utilizzare le porte seriali del PC ai programmi windows. Quindi in linea di principio è possibile:

  • connettere tramite seriale il PDA al desktop
  • installare il programma di sincronizzazione fornito con il palmare
  • sincronizzare il palmare con il programma di sincronizzazione

Per sperimentare ho provato la porta seriale del mio portatile. Non ho purtroppo avuto successo. Wine infatti dà un errore quando il programma ActiveSync tenta di accedere alla porta seriale. Appena avrò un po' di tempo tenterò di venirne a capo.

USB

Stiamo in questo momento testando la possibilità di connettere il PDA tramite USB al pc per la sincronizzazione tramite synce e multisync. Speriamo quanto prima di avere successo!

Sicuramente la connessione con l'USB sarà una bestia dura. Il PDA infatti non è visto come una periferica standard (ad esempio come una periferica di memoria di massa).

Nelle mie ricerche in Internet non ho trovato alcun modulo per il kernel in grado di permettere la connessione, tanto più che bisogna poi trovare il modo di utilizzare il programma di sincronizzazione in modo da poter nella pratica utilizzare la connessione USB. Sul sito di [synce] vi sono delle istruzioni, che spero di provare quanto prima, per verificare se il modulo per l'ipaq funziona con il vostro PDA.

Una notizia interessante è però che nel progetto wine stanno cercando di rendere disponibile il supporto delle periferiche USB. Questo vorrebbe dire che potrei installare con wine i driver USB per windows, il programma di sincronizzazione e poi utilizzarli come se fossi su una macchina windows. Putroppo lo sviluppo è ancora in fase embrionale.

Anche il programma di emulazione [qemu] nella versione 0.8.0 ha inserito la possibilità di utilizzare periferiche USB. Purtroppo anche in questo caso il supporto è in fase sperimentale.

In conclusione non sono in grado di dare certezze ma spero di avervi dato alcuni spunti. Se riusciste ad ottenere qualcosa vi prego di comunicarlo in modo da poter condividere con tutti la conquista!

Infrarosso

Ancora da testare

Bluetooth

Non potrò provare in quanto non possiedo una scheda bluetooth.

Suggerimenti od integrazioni sono ben accolti! :-)

Comunicazione tra PC e PDA

Copia di file tra PC e PDA

Installazione del programma di Sincronizzazione sul PC

Vi sono due modi di procedere. O si cerca di far funzionare il programma di sincronizzazione della Microsoft ActiveSync, oppure si utilizza un programma opensource compatibile con ActiveSync sul terminale.

Multisync con SynCE

Questa alternativa ha funzionato perfettamente. Innanzitutto è necessario collegare il pda al pc e accendere ActiveSync sul pda. Questo "abilita" la connessione usb del palmare tramite il cavo di sincronizzazione. Se ActiveSync non è attivato sul palmare il vostro pc non riuscirà a riconoscere il palmare come periferica USB. Sul PC aprite un terminale e digitate:

alessandro@galli:~$ lsusb
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 045e:00ce Microsoft Corp.
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 003: ID 09da:0006 A4 Tech Co., Ltd Optical Mouse WOP-35 / Trust 450L Optical Mouse
Bus 001 Device 001: ID 0000:0000

L'output del comando vi darà il vendor (045e) e product (00ce) del vostro palmare. Nel mio caso i codici si riferiscono all'Acer N50 premium. Con queste informazioni è possibile avviare il modulo ipaq con l'istruzione da root:

root@galli:/home/alessandro # modprobe ipaq vendor=0x045e product=0x00ce

Se tutto funziona correttamente. Il driver appena caricato, se avete connesso il pda con la porta USB con acceso ActiveSync, crea un device, di solito /dev/ttyUSB0. Per conferma è possibile vedere l'output del comando dmesg.

Per poter utilizzare questa connessione è necessario installare Multisync e SynCE, che è un programma di sincronizzaizone. In Ubuntu è disponibile come pacchetto, quindi è sufficente utilizzare il comando:

root@galli:/home/alessandro # apt-get install multisync 
root@galli:/home/alessandro # apt-get install libmultisync-plugin-evolution
root@galli:/home/alessandro # apt-get install synce-multisync-plugin

La versione disponibile sul repository di Ubuntu, la 0.9.0, non funziona con la mia versione di ActiveSync. Ho quindi scaricato e installato i sorgenti della versione 0.9.1 dal sito [http://sourceforge.net/projects/synce/]. L'installazione è molto semplice, non richiede particolari dipendenze e si attua con i soliti comandi ./configure;make;make install' eseguiti da root.


Avviare multisync e premere l'icona New... per aggiungere un nuovo percorso di sincronizzazione. Scegliere come primo plugin SynCE Plugin, come secondo plugin Ximian Evolution 2, infine premere ok.

Ora è necessario configurare SynCE, digitando il seguente comando.

root@galli:/home/alessandro # synce-serial-config /dev/ttyUSB0

/dev/ttyUSB0 è il device creato dal modulo ipaq.

Assicurarsi ora che il palmare sia connesso al pc con ActiveSync avviato.

Bisogna avviare il server dccm che si occupa di mantenere la connessione tra il palmare e il pc. Poi è possibile attivare la connessione. I comandi sono riportati di seguito:

alessandro@galli:~$ dccm
alessandro@galli:~$ su -
Password:
root@galli:/home/alessandro # synce-serial-start

Synce-serial-start deve essere lanciato con i diritti di superutente. Se questo comando risponde in modo affermativo sarà attiva la connessione con il palmare (sul palmare apparirà la scritta connesso sulla maschera di ActiveSync).

A questo punto sarà sufficente aprire la multisync e premere il pulsante Sync sulla barra per avviare la sincronizzazione.

Troubleshooting

Può essere utile avviare il server dccm con il comando:

alessandro@galli:~$ dccm -d 2 -f
dccm[30599]: Running in foreground
dccm[30599]: Running command: /home/alessandro/.synce/scripts/dccm.sh start
ERROR: Couldn't attach to DCOP server!
dccm[30599]: Listening for connections on port 5679

Questo avvia il server con livello di debug 2 e fa in modo che mandi in console tutti i messaggi. Qui potete vedere quello che succede tra il vostro pda e il computer.

ActiveSync su Linux

Per fare questo è necessario avere un'installazione funzionante di wine sul vostro PC. Per aiutarvi in un'eventuale installazione inserisco il mio file di configurazione. Vi avverto del fatto che io utilizzo wine senza appoggiarmi ad un'installazione preesistente di Windows. La versione di wine che ho utilizzato è la 20050725.

A questo punto è possibile installare il programma di sincronizzazione. Nel mio caso ho installato ActiveSync 3.7.1 (build 4034). Per farlo è sufficiente eseguire il programma di setup che avvia l'installer di ActiveSync. Nello specifico basta inserire il cd fornito assieme al PDA, aprire un terminale e spostarsi nella cartella in cui vi è il setup e digitare: wine Setup.exe

In seguito basta rispondere alle domande che vengono poste.

A questo punto è possibile avviare il programma di sincronizzazione che sarà installato nella vostra directory Programmi (o Program Files nella versione inglese) nella vostra installazione di windows (reale o fittizia), dentro la cartella "Microsoft ActiveSync". In quest'ultima cartella digitare:

wine WCESMgr.exe

per avviare il programma di sincronizzazione.

Il programma teoricamente può funzionare collegando il palmare con il cavo seriale, dato che wine supporta le porte seriali. In alternativa si può provare ad utilizzare il cavo usb e il modulo ipaq (che crea un device di seriale per parlare con il vostro pda). In ultima analisi è possibile attendere che wine sviluppi il supporto alle periferiche USB.


Installazione programmi sul PDA

I programmi per i palmari vengono ditribuiti principalmente in due forme. L'installazione risulta molto agevole in entrambi, anche senza avere fatto funzionare il programma di sincronizzazione.

Se il programma è distribuito come file con estensione .cab è sufficiente copiare il file nel palmare e farci click sopra. L'installazione avviene automaticamente.

Se invece il programma è distribuito come file con estensione .exe è necessario avere installato wine. Il file in questione infatti è un installer che va lanciato dal pc desktop. In windows l'installer non fa altro che creare dei file .cab e poi invocare il programma di sincronizzazione per inserirli nel palmare (quando questo è collegato). In linux è sufficente avviare il programma .exe con wine. Anche se il programma di sincronizzazione non riesce a dialogare direttamente con il palmare, dall'eseguibile verranno estratti dei file .cab. In genere questi ultimi vengono messi o in una cartella con il nome del programma della directory c:\programmi oppure all'interno della directory di installazione di ActiveSync. Per installare i programmi è quindi sufficiente prelevare il file .cab estratto dall'installer, copiarlo nel palmare e farci click sopra.

E' d'obbligo precisare che i file .cab, come ogni altro programma, sono specifici per un'architettura. Questo significa che perchè l'installazione funzioni bisoga utilizzare il file adatto al processore del vostro palmare.

Sincronizzazione Rubrica

Sincronizzazione Mail

Sincronizzazione Appuntamenti

Integrazione con OPIE