Iphone+Itunnel in Debian Squeeze

 

Questo post nasce come aggiornamento ad un tutorial creato da me qualche mese fa, dal titolo, " Montare iphone via cavo usando itunnel (libiphone-libplist) e Debian ". Gli aggiornamenti più importanti riguardano l’inclusione nei repository ufficiali delle librerie libiphone0 e libplist0, e l’ultima versione di itunnel con il supporto per l’iphone 3gS. Per montare il nostro iphone via cavo iniziamo installando i seguenti tools:

# apt-get install build-essential automake autoconf libtool ifuse libiphone0 libplist0 libgnutls-dev libusb-dev libfuse-dev libglib2.0-dev libxml2-dev libreadline5-dev swig cmake ssh sshfs

Adesso scarichiamo itunnel-0.0.9 per chi ha il 3gS oppure in alternativa la versione itunnel-0.0.4 ( la versione 0.0.5 non so come mai, ma da dei problemi). Adesso andiamo nella nostra home e nella cartella .ssh creiamo un file config simile a questo:

Host myphone
HostName 127.0.0.1
Port 3023
User mobile
ControlMaster auto
ControlPath /tmp/master-%r@%h:%p
ServerAliveInterval 300
UserKnownHostsFile ~/.ssh/myphone_known_hosts
RemoteForward 2202 localhost:22

Creiamo nella nostra home una cartella dove montare l’Iphone:

mkdir iphone

avviamo ssh sull’iphone ed entriamo nella cartella di itunnel

cd itunnel-0.0.9

da root:

./itunnel 3023

ci appare questo:

DebianBox:/home/edmond/itunnel-0.0.9# ./itunnel 3023get_iPhone() success
– successfully got device
server waiting for ssh connection

Apriamo un altra shell e da root:

sshfs -p 3023 root@localhost:/private /home/UTENTE/iphone

io ho scelto la cartella /private, ma si può partire da qualsiasi altra cartella.

verrà chiesta la password di root dell’iphone che di default è:

alpine

A questo punto apriamo nautilus da root, e troveremo il nostro Iphone montato.

Io ho un iphone 3g Jailbroken con firmware 3.0.1.

 

Nautilus 2.28 in Debian Squeeze

 

 

Oggi dopo aver reinstallato Squeeze ho notato che Nautilus mi creava qualche problema in più rispetto a quelli che mi creava di solito. Iniziamo con il dire che di bug Nautilus al momento ne ha circa 150, suddivisi tra Importanti-Normali-Minori. Quelli classificati come Importanti sono circa una decina. Comunque a questo punto ho deciso di installare Nautilus 2.28.0, dato che di default al momento su Squeeze siamo al 2.26.3, e devo dire che qualche miglioramento l’ho trovato, uno su tutti il problema del crash di Nautilus quando si cercava di accedere al menu preferenze per poter modificare il comportamento delle finestre. Certo io avrei voluto anche risolvere questo problema  che dà molto fastidio inquanto non ti permette di accedere a Nautilus da root , ma sicuramente ci si arriverà quanto prima. Di seguito i classici passi per la compilazione di Nautilus 2.28, scaricabile da qua.

#apt-get build-dep nautilus

ed installiamo tutto quello che ci serve per la compilazione, circa 30MB

$tar -xjf nautilus-2.28.0.tar.bz2

$cd nautilus-2.28.0

$ ./configure

$make

#make install

#init 6

 

 

Disattivare un core

 

 

Questo tip puo risultare molto utile per chi come me possiede oltre al Pc un notebook ed un netbook (aspire one) multicore, poichè ci da la possibilità di disattivare un core nell’eventualità che ci si trovasse con una scarsa autonomia della batteria. Disattivando un core abbiamo la possibilità di guadagnare qualche minuto e quindi finire di scrivere ed inviare per esempio una mail.

Per disattivare :

$ echo 0 | sudo tee /sys/devices/system/cpu/cpu1/online

Per attivare:

$ echo 1 | sudo tee /sys/devices/system/cpu/cpu1/online

Per verificare se si sta usando un core o più basta un:

cat /proc/cpuinfo

 

Reinstallare i medesimi pacchetti

 

Nel caso si avesse bisogno per vari motivi di reinstallare la propria Debian/Ubuntu, e si volessero gli stessi identici pacchetti senza troppi sbattimenti,  ci sono dei semplici passaggi da seguire:

Salvare su un supporto la lista dei pacchetti e il sources.list:

dpkg --get-selections | grep -v deinstall > ~/lista-pacchetti

cp /etc/apt/sources.list ~/sources.list.bkp

A questo punto reinstallare la propria distribuzione ed aggiorniamo:

sudo apt-get update

sudo apt-get dist-upgrade

per poi reinstallare i pacchetti precedentemente salvati:

sudo dpkg --set-selections < ~/lista-pacchetti

apt-get install dselect

dselect install

 

Montare iphone via cavo usando itunnel (libiphone-libplist) e Debian

 

 

Chi possiede un Iphone sa che per poter navigare le cartelle bisogna utilizzare ssh ed una connessione wifi. io invece ho sperimentato una connessione via cavo grazie all’aiuto di itunnel, e sinceramente la trovo più pratica, dato che faccio il tutto dalla mia Debian, senza usare il mobile-terminal dell’ Iphone. Per iniziare quello che ci serve è::

A questo punto bisogna installare un po di cose necessarie:

apt-get install build-essential automake autoconf libtool libgnutls-dev libusb-dev libfuse-dev libglib2.0-dev libxml2-dev libreadline5-dev swig cmake ssh sshfs

Installiamo libplist:

cd cartella_libplist

mkdir build

cd build

cmake ..

make

make install

Installiamo libiphone:

cd cartella_libiphone

./autogen.sh

./configure

make

make install

Adesso andiamo nella nostra home e nella cartella .ssh creiamo un file config simile a questo:

Host myphone
HostName 127.0.0.1
Port 3023
User mobile
ControlMaster auto
ControlPath /tmp/master-%r@%h:%p
ServerAliveInterval 300
UserKnownHostsFile ~/.ssh/myphone_known_hosts
RemoteForward 2202 localhost:22

Creiamo nella nostra home una cartella dove montare l’Iphone:

mkdir iphone

avviare ssh sull’iphone ed entriamo nella cartella di itunnel

cd itunnel-0.0.5

da root:

./itunnel 3023

ci appare questo:

DebianBox:/home/edmond/itunnel-0.0.5# ./itunnel 3023get_iPhone() success
– successfully got device
server waiting for ssh connection

Apriamo un altra shell e da root:

sshfs -p 3023 root@localhost:/var/mobile/Media /home/UTENTE/iphone

verrà chiesta la password:

edmond@DebianBox:~$ su
Password:
DebianBox:/home/edmond# sshfs -p 3023 root@localhost:/var/mobile/Media /home/edmond/iphone
root@localhost’s password:
DebianBox:/home/edmond#

A questo punto apriamo nautilus da root, e troveremo il nostro Iphone montato.

 

 

Aspire One Linux e modem HSDPA-HSUPA Option-GTM380-GlobeTrotter

Ho da poco preso un Acer Aspire One A150X, con modem HSUPA embedded,  e diciamo che sono contento in quanto col pinguino, al momento non ho riscontrato problemi seri. Come distribuzione ho installato Debian, poi ho provato Kuki , ma non mi è piaciuta, del resto è ancora in alfa. Per ultimo ho provato  Linux4one, a cui faccio i miei complimenti a tutto lo staff. Usando proprio questa distro mi sono accorto del problema di connessione tramite questo modem, in quanto non è stato inserito il modulo hso, determinante per il corretto funzionamento. Problema noto come si evince dalle discussioni nel forum.

Dando il comando lsusb, io ottengo questo:

 

ID 0af0:7211 Option

ma col modulo hso funzionano anche tutti questi, come è scritto sul sito di riferimento.

{default_port_device(0x0af0, 0x6711)},
{default_port_device(0x0af0, 0x6731)},
{default_port_device(0x0af0, 0x6751)},
{default_port_device(0x0af0, 0x6771)},
{default_port_device(0x0af0, 0x6791)},
{default_port_device(0x0af0, 0x6811)},
{default_port_device(0x0af0, 0x6911)},
{default_port_device(0x0af0, 0x6951)},
{default_port_device(0x0af0, 0x6971)},
{default_port_device(0x0af0, 0x7011)},
{default_port_device(0x0af0, 0x7031)},
{default_port_device(0x0af0, 0x7051)},
{default_port_device(0x0af0, 0x7071)},
{default_port_device(0x0af0, 0x7111)},
{default_port_device(0x0af0, 0x7211)},
{default_port_device(0x0af0, 0x7251)},
{default_port_device(0x0af0, 0x7271)},
{default_port_device(0x0af0, 0x7311)},
{default_port_device(0x0af0, 0xc031)}, /* Icon-Edge */
{icon321_port_device(0x0af0, 0xd013)}, /* Module HSxPA */
{icon321_port_device(0x0af0, 0xd031)}, /* Icon-321 */
{icon321_port_device(0x0af0, 0xd033)}, /* Icon-322 */
{USB_DEVICE(0x0af0, 0x7301)}, /* GE40x */
{USB_DEVICE(0x0af0, 0x7361)}, /* GE40x */
{USB_DEVICE(0x0af0, 0x7401)}, /* GI 0401 */
{USB_DEVICE(0x0af0, 0x7501)}, /* GTM 382 */
{USB_DEVICE(0x0af0, 0x7601)}, /* GE40x */
{USB_DEVICE(0x0af0, 0x7701)},
{USB_DEVICE(0x0af0, 0x7801)},
{USB_DEVICE(0x0af0, 0x7901)},
{USB_DEVICE(0x0af0, 0x7361)},
{icon321_port_device(0x0af0, 0xd051)},

Con Debian per esempio basta un semplice:

modprobe hso

Incominciamo installando un po di cose:

apt-get install build-essential bin86 kernel-package libncurses5 libncurses5-dev fakeroot module-init-tools

apt-get install libusb-dev libusb++-dev libusb++-0.1-4c2 python2.5-dev

Per ovviare a questo problema con Linux4one, ci sono 2 strade. La prima è quella di ricompilarsi il kernel, con il solito metodo, descritto qua. Una volta dato il comando make menuconfig, portarsi alla voce Device Drivers>Network device support>Usb Network Adapters ed andiamo a modularizzare Option Usb. Poi, giusto per non farsi mancare niente, sempre nella sezione Device drivers>Usb support>Usb Serial Converter, modularizzare Usb driver for Gsm. A questo punto salvare, e dopo la ricompilazione ci ritroveremo con i pacchetti linux-headers e linux-image. Una volta installati con dpkg e riavviato saremo pronti per connetterci con il nostro modem, non prima però di aver scaricato i tre pacchetti che ci servono hsolink , hsoconnect e Ozerocdoff . Quest’ultimo da installare con  il classico :

tar zxf udev.tar.gz

cd udev

sudo make

sudo make install

A questo punto inseriamo in /etc/modules

ppp_async

ppp_generic

pppoe

usbserial vendor=0x0af0 product=0x7211 (sostituire se il vostro è diverso)

poi ancora:

sudo gedit /etc/hso-suspend.conf

ed inserire NONE al posto di 5 seconds

reboot

Al momento della connessione con HSOconnect apparirà una finestra di debug dove all’interno se tutto va bene non dovranno apparire errori. Nella finestra di HSOconnect, andare in profile-edit, ed inserire l’ apn, nel mio caso ibox.tim.it, come username e password, mettere due parole a caso. A questo punto siamo pronti a testare il tutto con:

python -m  hsoc

La seconda strada  è quella di scaricare linux-headers e linux-image  ricompilati da me, ed installarli, per poi procedere con l’installazione di hsolink, hsoconnect e ozerocdoff ecc.ecc. il tutto scaricabile qua. Con questi semplici passi la connessione è andata ieri ed oggi senza mai disconnettersi per ore, ed ho scaricato anche un file da 150 mega, preciso questo perchè la ricompilazione l’ho eseguita su una installazione pulita di Linux4one, poichè in una precedente installazione, dove avevo scaricato e compilato Hso driver e fatto altri esperimenti e tentativi, la connessione era altalenante e s’impallava spesso, ero riuscito tramite un workaround a farla andare,ma mi sono accorto che il metodo migliore è quello che ho appena descritto su di una installazione pulita, insieme all’utilizzo di Hsoconnect

 

 

 

Importante:

Tenere presente che il led del 3g è funzionante, quindi la lucina deve essere verde, altrimenti il modem non viene trovato.

 

Problemi riscontrati:

Ho notato che ogni tanto il device ttyHS1 scompare, ma una volta riavviato tutto torna OK, quindi e meglio non cambiare nulla in /usr/share/HSOconnect. Ho notato anche dei problemi di stabilità, ma sto verificando alcune soluzioni tra cui la patch di Alan Cox.

 

Aggiornamento:

Va tutto alla grande, chiaramente più il segnale è forte più si naviga velocemente. Ho raggiunto la velocità di 5,9 mega

in download ed 1,3 in upload.

Un altro how-to particolareggiato scritto da me, lo trovate sul forum.

 

 

Creazione successiva dell'area di swap

 

Questo è un piccolo trucchetto, molto utile quando si vuole creare successivamente un area di swap. In passato è capitato

di installare una distribuzione Gnu-Linux e di dimenticarsi della creazione della memoria swap. Crearla è molto semplice,

ipotizzando di volerla creare da 1 giga, i comandi sono i seguenti:

Creazione del file:

# dd if=/dev/zero of=/media/swapfile bs=1M count=1024

Creazione della swap

# mkswap /media/swapfile

Attivazione:

# swapon /media/swapfile

Per rilevarne la creazione:

# cat /proc/swaps

Per il montaggio in automatico, editare fstab con l’editor preferito

# nano /etc/fstab

ed inserire la riga:

/media/swapfile swap swap defaults 0 0

Salviamo (Control+O)

Usciamo (Control+X)

Cifrare documenti con GPG/GnuPG

 

Quello di usare GPG è un altro modo per cifrare  documenti importanti, in alternativa ad encfs e mcrypt. Esistono dell’interfacce

grafiche per generare chiavi GPG. Per chi usa Gnome, seahorse, per chi usa Kde, kgpg. In questo caso utilizzo il terminale.

Per prima cosa bisogna generare la chiave con il comando :

gpg --gen-key

a questo punto rispondiamo alle domande che ci appaiono a video, ed inseriamo i nostri dati, come nome, email, ecc ecc,

scegliamo una password, ed incominciamo a muovere il mouse fino a che la password non è stata creata., non ci deve

apparire un messaggio di questo tipo:

 Adesso siamo pronti a cifrare un file, utilizzando il nome che abbiamo scelto all’inizio della creazione della chiave.

Cifrare:

gpg -e -r edmond prova.txt

o in alternativa:

gpg --encrypt --recipient edmond prova.txt

Decifrare:

gpg --output prova.txt --decrypt prova.txt.gpg

oppure:

gpg --output prova.txt --symmetric prova.txt.gpg

Per ulteriori informazioni, man gpg

Mcrypt-cifrare file

 

Questo è un piccolo trucchetto per cifrare velocemente un file. Come ho avuto modo di scrivere in passato per altri metodi

qua e qua,la sicurezza non è mai troppa, specialmente quando si scrivono su un file dei dati sensibili.

Quello che serve è Mcrypt:

# apt-get install mcrypt

quindi per cifrare un file usiamo questi comandi:

mcrypt -a blowfish nome_file

dove -a indica l’algoritmo di cifratura. Per la lista completa:

mcrypt --l

a questo punto sceglieremo una password che inseriremo due volte, e ci troveremo un file criptato con estensione .nc.

Adesso non rimane che distruggere l’originale:

shred -n 10 -u -z -v nome_file

per decifrare il file:

mdecrypt nome_file.nc

Tutto qua, per altre opzioni man mcrypt

 

Stardict traduttore per Linux

 

Stardict è un ottimo traduttore Cross-Platform scritto in Gtk2, che sinceramente io non conoscevo, mi ci sono imbattuto per

caso. Molto utile per chi volesse tradurre delle parole velocemente soltanto passandoci sopra.  Volendo lo possiamo

anche far parlare.

L'installazione è semplice basta un:

# apt-get install stardict stardict-common stardict-gtk stardict-plugin stardict-plugin espeak stardict-plugin-festival stardict-plugin-spell stardict-tools

a questo punto ci servono i dizionari presenti  sul sito del progetto, oppure quelli stardict-dict-babylon. Prendendo in

considerazione i secondi, basta andare alla voce bidirectional per trovare i dizionari. A questo punto una volta scompattati

all'interno della cartella troviamo 4 file, che andranno copiati in /usr/share/stardict/dic. Per un ottima pronuncia delle parole

in inglese possiamo installare il pacchetto WyabdcRealPeopleTTS, che dopo aver scaricato copiamo in /usr/share:

cp WyabdcRealPeopleTTS.tar.bz2 /usr/share

cd /usr/share

tar -jxvf WyabdcRealPeopleTTS.tar.bz2

La configurazione è molto semplice ed intuitiva, quindi siamo pronti a provarlo.

Update

Un altro modo e quello di usare un ottimo script  creato dal team NuDe  scaricabile da qui, che fa tutto in automatico 🙂