PocketPC




Per discutere degli argomenti qui descritti, partecipa alla board Hardware del forum.

Problemi in questa pagina? Segnalali in questa discussione



Introduzione

Questa guida contiene delle istruzioni utili alla sincronizzazione della rubrica e del calendario del proprio PocketPC con Evolution, all'installazione dei programmi e alla gestione dei file presenti nel palmare. La presente guida è stata realizzata usando GNOME come ambiente grafico e non è totalmente compatibile con KDE.

Tutti i palmari e gli smartphone con WindowsMobile fino al 2003 Seconda Edizione dovrebbero essere compatibili. In fondo alla presente guida è possibile trovare una lista di modelli per i quali è stata verificata la compatibilità; per ciò che riguarda i dispositivi dotati di WindowsMobile 2005 o seguente è possibile trovare informazioni direttamente sul sito del progetto SynCe.

Preparativi

Per verificare se il sistema riconosce il PocketPC bisogna fare quanto segue:

  1. Collegare il PocketPC al computer tramite il cavo USB, aprire un terminale e digitate

    dmesg

    dovrebbe apparire un output simile al seguente

    usb 4-2: new full speed USB device using uhci_hcd and address 3
    ipaq 4-2:1.0: PocketPC PDA converter detected
    usb 4-2: PocketPC PDA converter now attached to ttyUSB0

    Prendete nota della ttyUSB, anche se nella maggioranza dei casi dovrebbe essere ttyUSB0 come nell'esempio.

  2. Opzionale, digitare nel terminale

    cat /proc/bus/usb/devices

    per verificare che il dispositivo usi il modulo del kernel per l'iPaq, tra le varie linee di output dovrebbe esserci un gruppo simile a questo

    T: Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 4 Spd=12 MxCh= 0
    D: Ver= 1.01 Cls=ff(vend.) Sub=ff Prot=ff MxPS=16 #Cfgs= 1
    P: Vendor=413c ProdID=4002 Rev= 0.00
    C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 2mA
    I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ipaq
    E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
    E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms

Installazione

  1. Installare i programmi e le librerie necessarie alla connessione e sincronizzazione, presenti nei componente universe dei repository ufficiali, digitando nel terminale:

    sudo apt-get install librra0 librra0-tools librapi2-tools libsynce0 synce-dccm synce-multisync-plugin synce-serial libmultisync-plugin-all multisync

    Se si utilizza Intrepid, è necessario installare il pacchetto synce-hal invece di synce-dccm. Durante l'installazione appariranno delle finestre di dialogo con dei parametri, si verifichi che /dev/ttyUSB corrisponda a quanto visto prima, modificandolo se il caso, e lasciando gli altri parametri invariati.

  2. Configurare synce-serial per usare la tty che avete visto precedentemente digitando nel terminale

    sudo synce-serial-config ttyUSB0

    Se all'inizio dmesg indicava ttyUSB1 o un altro numero, bisogna usare quel valore.

  3. Lanciare il demone di connessione dccm digitando nel terminale

    dccm 

    Se il vostro palmare è protetto da password digitare

    dccm -p PASSWORD 

    dove PASSWORD va sostituito con la password del palmare.

  4. Iniziare la connessione digitando nel terminale

    sudo synce-serial-start

    dovrebbe apparire il messaggio

    synce-serial-start is now waiting for your device to connect
    a questo punto collegare il Palmare al PC, e la connessione dovrebbe avvenire.

Nota Bene: A causa dell'avvio automatico di Activeesync, può essere necessario eseguire le azioni in un ordine preciso, che sarà il seguente: lanciare dccm, collegare il palmare e lanciare immediatamente synce-serial-start; questo perchè se il palmare ha già tentato la connesione automatica e l'ha fallita non trovando synce-serial in attesa, non sarà più possibile tentare il collegamento, a meno di scollegare e ricollegare il palmare

  1. Creare ora l'associazione fra Palmare e PC digitando

    synce-matchmaker create INDEX

    synce dispone di due slot di connessione, quindi INDEX va sostituito con 1 o 2, se tutto va bene dovrebbe apparire il messagio

    Partnership creation succeeded. Using partnership index INDEX
  2. Ora è possibile controllare i numerosi parametri del palmare, quali stato delle batterie, memoria e altro, digitando
    synce-pstatus

    E' possibile eseguire ulteriori operazioni, quali installazione di programmi e altro, per vedere la lista dei comandi digitare

    dpkg -L librapi2-tools

    I comandi sono quelli che vengono indicati nella directory /usr/bin/

Configurazione di MultiSync per la sincronizzazione con Evolution

  1. Lanciare multisync da terminale, oppure da Applicazioni -> Accessori -> Multisync, le prime volte conviene usare il terminale perché nel caso qualcosa non funziona fornisce molte informazioni che possono essere utili a trovare e risolvere il problema.

  2. Creare una coppia di sincronizzazione selezionando come plugin "Synce Plugin" e "Ximian Evolution 2", l'ordine non è importante, è più importante creare nuovi Calendario, Lista cose da fare e Contact List, perché non sempre quelli predefiniti vengono utilizzati, ricordarsi inoltre di settare le opzioni relative alla sincronizzazione.
  3. Premere il tasto "Sync" per avviare la sincronizzazione, la prima volta potrebbe essere necessario usare il tasto "ReSync" per forzare la risincronizzazione completa.

Esplorare i file sul palmare

  1. Per avere l'integrazione con Nautilus e poter esplorare i file sul palmare serve Synce-gnomevfs, che è disponibile utilizzando i repo di synce.org.

Aggiungete il repository aggiungendo la riga :

deb http://ppa.launchpad.net/synce/ubuntu hardy main

usando

Sistema -> Amministrazione -> Sorgenti Software

cliccando su Software di Terze Parti

e poi su Aggiungi

Chiudete e aggiornate synaptic.

In alternativa e' possibile inserire in /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}}} (dovrete poi necessariamente aggiornare con sudo apt-get update per poter installare il pacchetto)

  1. Col Palmare connesso digitate
    synce-in-computer-folder install
    synce-in-computer-folder connect

    nel menù «Risorse» dovrebbe apparirvi una cartella «Mobile device» corrispondente alla memoria del palmare.

Installazione e Rimozione software

  1. Utilizzando Synce-software-manager è possibile disinstallare e installare software sul palmare, per disporne innanzitutto occorre scaricare l'rpm dal relativo sito e procedere secondo quanto riportato in precedenza.

  2. Una volta connesso il palmare basterà lanciare da terminale

    synce-software-manager
    per poter installare e disinstallare programmi in maniera grafica, i software per poter essere installati dovranno essere in formato .cab

Icona nell'area di notifica

  1. Si può disporre di una icona nella system-tray che permetta di gestire direttamente l'installazione software, l'esplorazione file e la disconnessione del palmare, per farlo scaricate synce-trayicon dal sito del progetto e procedere come riportato prima.

  2. Affinchè trayicon funzioni è necessario un Symlink, che cambia a seconda si usi Breezy o Dapper:
    • Per Breezy

      sudo ln -s /usr/lib/libgtop-2.0.so.5 /usr/lib/libgtop-2.0.so.2
    • Per Dapper

      sudo ln -s /usr/lib/libgtop-2.0.so.7 /usr/lib/libgtop-2.0.so.2
  3. Synce-trayicon lancia automaticamente dccm, se il vostro palmare è protetto da password sarà sufficente clickare col tasto destro sull'icona di trayicon, selezionare preferenze, mettere il check sulla casella di spunta e inserire la vostra password, questo farà si che trayicon lanci dccm con l'opzione -p PASSWORD
  4. Ora è sufficente lanciarlo prima di effettuare la connessione, quindi la sequenza da digitare nel terminale diventa
    synce-trayicon
    sudo synce-serial-start
  5. A questo punto l'icona nella systema tray dovrebbe colorarsi, clickandoci sopra col tasto destro uscirà il menu per accedere direttamente all'esplorazione file e al software manager, se li avete installati, e alla disconnessione del dispositivo.

Navigare in Internet col Palmare connesso

Ora vediamo come navigare in internet e scaricare la posta usando la connessione internet del pc, per farlo ci servono alcune informazioni quali ip del palmare, ip del nostro pc e server dns

  1. Per trovare l'ip del pc digitate in console

    ifconfig eth0 | grep addr:
    quello che ci interessa è il primo numero della prima riga, questo vale se vi connettete a internet tramite la scheda ethernet eth0, se ne avete più di una e usate ad esempio la uno, allora dovrete ricavare quell'indirizzo ip.
  2. Per l'ip del palmare bisogna prima di tutto stabilire la connessione fra palmare e pc come visto prima, poi digitare in console

    cat ~/.synce/active_connection | grep ip
  3. Infine ci serve l'indirizzo del server DNS che otterremo digitando, sempre in console
    cat /etc/resolv.conf
    è probabile che si ottengano due numeri, è sufficente conoscere il primo dei due.
  4. Ora bisogna passare questi dati a synce-serial, tenete presente che in generale gli indirizzi di palmare e server dns sono fissi, quello che varierà sarà al più l'ip del vostro computer se riceve l'indirizzo tramite DHCP, per passare queste impostazioni a synce-serial digitate in console

     synce-serial-config ttyUSB0 IPPC:IPPALMARE DNS
    a IPPC andrà sostituito l'ip del vostro computer, a IPPALMARE l'ip del palmare e a DNS l'indirizzo precedentemente trovato, e lo stesso dicasi per USB0: se nelle fasi precedenti della guida avete ricavato un USB* diverso usate quello.
  5. Ora bisogna fare in modo che il pc condivida la connessione col palmare, per farlo diventate root

    sudo -s

    e date i seguenti comandi

    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -s IPPALMARE -j MASQUERADE
    sostituendo a IPPALMARE l'ip del vostro palmare
  6. Queste ultime due modifiche non saranno definitive e spariranno dopo un riavvio, per renderle tali occorre uno script di avvio, gentilmente sviluppato da JackTheVendicator, quindi digitate in console

    sudo gedit /etc/init.d/ipaqforwarding
    • incollateci dentro questo script
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    
    start() {
            # Inserisci i comandi in questa funzione
            echo 1 > /proc/sys/net/ipv4/ip_forward
            iptables -t nat -A POSTROUTING -s IPPALMARE -j MASQUERADE
    }
    
    stop() {
            echo 0 > /proc/sys/net/ipv4/ip_forward
    }
    
    case "$1" in
      start)
            echo -n "Configuring boot-time iPaq forwarding: "
            start
            echo "done."
            ;;
      stop)
            echo -n "Shutting down iPaq forwarding: "
            stop
            echo "done."
            ;;
      restart|force-reload)
            echo -n "Shutting down iPaq forwarding: "
            stop
            echo "done."
            echo -n "Configuring boot-time iPaq forwarding: "
            start
            echo "done."
            ;;
      *)
            echo "Usage: $0 {start|stop|restart|force-reload}" >&2
            exit 1
            ;;
    esac
    
    exit 0
    • avendo cura come sempre di sostituire a IPPALMARE l'ip del vostro palmare precedentemente tovato
  7. Rendete lo script eseguibile
    sudo chmod +x /etc/init.d/ipaqforwarding
  8. Fate in modo che venga caricato all'avvio con
    sudo update-rc.d ipaqforwarding defaults
    • Ecco, ora anche dopo il riavvio potrete navigare in internet una volta connesso il palmare.

Connessione e avvio programmi tramite script

Con l'aiuto di un amico ho creato un piccolo script che si occupa di lanciare trayicon o ddcm, synce-serial-start al momento opportuno, e in fine multisync.

  1. Innanzzitutto bisogna fare in modo che "sudo synce-serial-start" non richieda la password, per farlo bisogna mettere un'apposita riga nel file sudoers, quindi editatelo con
    sudo visudo
    e inserite in fondo una riga come questa
    USER HOST = NOPASSWD: /usr/bin/synce-serial-start;
    Dove al posto di USER dovete mettere il vostro username, o quello dell'utente a cui volete permettere di lanciare synce-serial-start come sudo senza che serva la password, HOST invece è il nome che avete dato al vostro computer
  2. Ora create uno script nella vostra home e chiamatelo come volete, nell'esempio lo chiamo Sync
    gedit /home/(miouser)/Sync
  3. se usate synce-trayicon incollate queste linee
    synce-trayicon
    
    while [ ! -e "/dev/ttyUSB0" ]; do
    sleep 2
    done
    
    sudo /usr/bin/synce-serial-start
    
    sleep 10
    
    multisync
    se invece è non usate trayicon
    dccm (-p PASSWORD se necessario)
    
    while [ ! -e "/dev/ttyUSB0" ]; do
    sleep 2
    done
    
    sudo /usr/bin/synce-serial-start
    
    sleep 10
    
    multisync
    • il valore della ttyUSB dipende da quello che avete rilevato precedentemente.
  4. Ora lo script va reso eseguibile, inoltre siccome la password del palmare è in chiaro, sarebbe cosa intelligente renderlo leggibile solo da voi e da nessun'altro, quindi date il comando
    chmod 700 /home/(miouser)/Sync
  5. Bene, adesso per connettervi non dovete fare altro che lanciare lo script e attaccare il palmare, grazie al ciclo while che mi ha gentilmente preparato Submax, lo script lancerà dccm o trayicon e poi attenderà che venga creato ttyUSB0 in /dev per lanciare synce-serial-start, in questo modo la connessione avverrà in modo automatico al momento opportuno, potete anche crearvi un'icona di avvio nel menu pèr non lanciare lo script da terminale.

Connessione automatica

In alternativa, e solo da Dapper Drake in poi, o comunque nelle distribuzioni che utilizzano udev, è possibile fare in modo che il palmare si connetta automaticamente quando lo attaccate alla presa usb

  1. Innanzitutto bisogna usare una regola per udev che mi ha gentilmente fornito l'utente del forum nettuno3, quindi digitate nella console
    sudo gedit /etc/udev/rules.d/60-ipaq.rules
    • incollateci dentro la regola
    # udev rules file for SynCE
    BUS!="usb", ACTION!="add", KERNEL!="ttyUSB*", GOTO="synce_rules_end"
    # Establish the connection
    RUN+="/usr/bin/synce-serial-start"
    LABEL="synce_rules_end"
    • e salvate
  2. Ora bisogna riavviare udev
    sudo /etc/init.d/udev restart
  3. Ora andate in sistema -> preferenze -> sessioni, nella tabella avvio programmi clickate su aggiungi

    • Se il palmare non è protetto da password e non volete usare trayicon inserite
      dccm
    • Se il palmare è protetto da password e non volete usare trayicon inserite
      dccm -p PASSWORD
      • avendo cura di mettere la password del palmare al posto di PASSWORD
    • Se volete usare trayicon, che ricordo salva la password in forma sicura, avvia dccm autonomamente e da rapido accesso anche all'esplorazione cartelle e al software manager, inserite
      synce-trayicon
  4. Infine se volete che anche multisync si avvii insieme al pc, clickate nuovamente su aggiungi, e inserite
    multisync

Disconnessione

Per disconnettere il palmare

  1. Chiudete MultiSync

  2. nel terminale digitate
    killall -HUP dccm
  3. Se il comando precedente non dovesse funzionare, digitate
    sudo synce-serial-abort
  4. Se avete installato synce-trayicon sarà invece sufficente clickare col destro sull'icona e selezionare disconnect.

Aggiornamento del driver

Se collegando il palmare dal dmesg dovesse darvi un errore, che rende impossibile la connessione, vuol dire che dovrete modificare leggermente il driver dell'ipaq, la procedura non è complessa, ma il driver che si scarica dal sito di Synce non si compila coi kernel nuovi, e anche il makefile non è adatto.

  1. Per prima cosa servono i sorgenti del kernel e subversion per scaricare la versione aggiornata
    sudo apt-get install linux-source subversion
  2. Una volta installati bisogna decomprimerli
    cd /usr/src
    tar -xf linux-source-*
    il numero di versione del kernel può variare a seconda della distribuzione, quello che conta comunque sono solo i numeri che identificano il ramo stabile.
  3. Ora andiamo sul desktop, creiamo una cartella per il driver, e scarichiamolo
    cd /home/mioutente/Desktop
    mkdir ipaq
    cd ipaq
    svn co https://svn.sourceforge.net/svnroot/synce/branches/legacy/kernel-2.6-driver
    cd kernel-2.6-driver/
  4. Ora bisogna innanzitutto prendere il driver presente nei sorgenti del kernel, questo perchè il driver scaricato ha gli include inadatti alle nuove versioni di kernel
    cp /usr/src/linux-source-*/driver/usb/serial/ipaq.c ipaq.c-2.6.15
  5. Il driver andrà modificato, per fare questo aprite il file ipaq.c appena copiato qui con gedit, cercate la riga "return-ENODEV" e commentatela mettendoci // davanti, in modo che risulti "//return-ENODEV" e salvatelo, in entrambi i casi non ci andranno le virgolette.
  6. Fatto questo bisogna modificare il Makefile, aprendolo sempre con gedit. Alla riga ove è indicata la directory dei sorgenti, quella che inizia per "LINUX_SOURCE_PATH" inserite il percorso dei sorgenti del kernel, quindi ad esempio "LINUX_SOURCE_PATH := /usr/src/linux-source-2.6.20" (nel caso di Feisty). Commentate la riga relativa al kernel 2.6.13 mettendoci un # davanti, e cancellate il # dalla riga relativa al kernel 2.6.15 Infine sostituite ovunque si trovi "usb-serial.h" con "usb-serial.c", sempre senza virgolette nel file. Ora non resta che compilare e installare il Driver dando
    make && sudo make install
    • e finalmente dovreste poter gestire senza problemi il vostro dispositivo con Linux.

Hardware supportato

Quelli che seguono sono i PocketPC compatibili solo con la versione aggiornata del driver:

Ulteriori risorse



CategoryHardware CategoryDaRevisionare

Hardware/PocketPC (l'ultima modifica è del 30/05/2024 20.18.59, fatta da andreas-xavier)