2010-11-25

eeepc + linux ARCH + nokia 6630 + bluetooth + tre.it

Il post odierno è su un tema originalissimo: utilizzare un cellulare Nokia 6630 per connettersi ad internet via bluetooth, sul solito eeePC con installato Arch Linux. In realtà il modello del computer è irrilevante.

PREMESSA: per realizzare quanto segue ho seguito scrupolosamente i passi indicati in questa pagina del wiki di Arch, che suggerisco al posto di questo post:

https://wiki.archlinux.org/index.php/Bluetooth_GPRS_Howto

Se avete difficoltà con l'inglese riporto in estrema sintesi i passi descritti (e come li ho realizzati); le frasi che iniziano in grassetto riguardano parti non presenti sulla pagina, quelli in corsivo sono passaggi che non sono stati necessari nel mio caso:

PRIMA PARTE: IL BLUETOOTH

La prima cosa da fare è installare bluez-utils, bluez-libs e dbus con pacman

# pacman -S bluez-utils bluez-libs dbus

ed avviare, nell'ordine:

# /etc/rc.d/dbus start
# /etc/rc.d/bluetooth start

Si può poi modificare il file /etc/rc.conf aggiungendo (in questo ordine) dbus e bluetooth alla riga DAEMONS=(... dbus ... bluetooth ...).

Si esegue una scansione dei dispositivi (il cellulare va messo in modalità visibile) con:

# hcitool scan
Scanning ...
00:11:22:33:44:55 NomeTelefono

00:11:22:33:44:55 è il mac del cellulare.

Poi con:

sdptool search --bdaddr 00:11:22:33:44:55 DUN
[...]
Channel 1
[...]

si trova il canale su cui il cellulare effettua il servizio DUN (dial-up network). Ovviamente al posto di 00:11:22:33:44:55 va messo il mac del proprio cellulare trovato in precedenza (la stessa cosa andrà fatta per ogni volta che si trova scritto 00:11:22:33:44:55).

Ora bisogna impostare il file /etc/bluetooth/rfcomm.conf, aggiungendo:

bind yes;
device 00:11:22:33:44:55;
channel 1;
comment "GPRS dialup";

Alla voce channel va messo il numero trovato prima, comment può essere quello che si vuole.

Quando ho fatto uno dei primi tentativi il canale era cambiato, ed al momento non ne capisco il motivo: in caso di malfunzionamenti potrebbe essere opportuno controllare che il proprio "channel" non sia diverso da quello trovato in precedenza.

Si modifica ora /etc/conf.d:

RFCOMM_ENABLE=true

e si riavvia il bluetooth:

# /etc/rc.d/bluetooth restart

Se il comando

# ls -l /dev/rfcomm0
crw-rw---- 1 root tty 216, 0 data e ora /dev/rfcomm0

dà una risposta simile a quella riportata, significa che il collegamento tra cellulare e il computer funziona (in particolare che il computer vede il servizio modem del cellulare, se non ho capito male).

Per connettere computer e modem è necessario un PIN condiviso, quindi si dà:

# bluez-simple-agent

quindi su un altro terminale si usa il comando:

# cat /dev/rfcomm0

A breve il telefono dovrebbe - ricordo che questa parte non è stata necessaria per me - chiedere un PIN; una volta inserito bluez-simple-agent richiederà lo stesso PIN per connettere i dispositivi.

SECONDA PARTE: IMPOSTARE LA CONNESSIONE

Di seguito è descritta la creazione di un file, /etc/ppp/peers/tre, che contiene i parametri per la connessione tramite un modem; in particolare fa riferimento ad altri due file, /etc/ppp/peers/tre-connect e /etc/ppp/peers/tre-disconnect. Questi ultimi due sono script che utilizzano il programma "chat", necessario per comunicare con il modem ma di cui non conosco nulla, come nulla so, al di là di ciò che è intuitivo, delle configurazioni contenute nel file "tre"; per impostare il mio computer li ho copiati pari pari dalla pagina wiki di riferimento e pertanto non so fornire chiarimenti se qualcosa non funziona.

Si inizia aggiungendo in fondo al file /etc/ppp/ip-up le seguenti due righe:

echo -e "#generated by ip-up\nsearch local\nnameserver $DNS1\nnameserver $DNS2" > /etc/resolv.conf
chmod a+r /etc/resolv.conf

Queste righe occorrono per impostare i DNS corretti. Ora bisogna creare il file /etc/ppp/peers/tre, che sarà del tipo:

show-password
noauth
/dev/rfcomm0
115200
connect /etc/ppp/peers/tre-connect
disconnect /etc/ppp/peers/tre-disconnect
defaultroute
noipdefault
nodetach
usepeerdns
crtscts
local
ipcp-accept-local
maxfail 10
lcp-echo-failure 0
lcp-echo-interval 0
novj
nobsdcomp
novjccomp
nopcomp
noaccomp
linkname saunalahti
mtu 1500
mru 1500

Quindi si crea /etc/ppp/peers/tre-connect

#!/bin/sh
exec /usr/sbin/chat -v \
TIMEOUT 5 \
ECHO ON \
ABORT '\nBUSY\r' \
ABORT '\nERROR\r' \
ABORT '\nNO ANSWER\r' \
ABORT '\nNO CARRIER\r' \
ABORT '\nNO DIALTONE\r' \
ABORT '\nRINGING\r\n\r\nRINGING\r' \
'' \rAT \
TIMEOUT 12 \
SAY "Press CTRL-C to close the connection at any stage!" \
SAY "\ndefining PDP context...\n" \
OK ATH \
OK ATE1 \
OK 'AT+CGDCONT=1,"IP","tre.it","",0,0' \
OK ATD*99# \
TIMEOUT 22 \
SAY "\nwaiting for connect...\n" \
CONNECT "" \
SAY "\nConnected." \
SAY "\nIf the following ppp negotiations fail,\n" \
SAY "try restarting the phone.\n"

*99# è il numero che il cellulare compone per collegarsi, e varia a seconda del cellulare. *99# è quello usato tipicamente da Nokia. Se si usa navigaTre il file dovrà contenere "naviga.tre.it" al posto di "tre.it", ma non garantisco che funzioni.

Se qualcosa non funziona il mio consiglio è di controllare attentamente di aver messo tutte le "\". Esatto, ne avevo dimenticata una.

Lo script di disconnessione, /etc/ppp/peers/tre-disconnect è abbastanza simile:

#!/bin/sh
exec /usr/sbin/chat -V -s -S \
ABORT "BUSY" \
ABORT "ERROR" \
ABORT "NO DIALTONE" \
SAY "\nSending break to the modem\n" \
"" "\K" \
"" "\K" \
"" "\K" \
"" "+++ATH" \
"" "+++ATH" \
"" "+++ATH" \
SAY "\nPDP context detached\n"

Dato che sono due script vanno cambiati i loro permessi in modo che siano eseguibili:

# chmod +x /etc/ppp/peers/tre-connect
# chmod +x /etc/ppp/peers/tre-disconnect

A questo punto si può far partire la connessione con:

# pon tre

Se è tutto impostato correttamente il computer utilizzerà il cellulare come modem per collegarsi ad internet. Si può chiudere la connessione con CTRL-C. Dopo aver verificato che la connessione funziona si può commentare l'opzione "# nodetach" nel file /etc/ppp/peers/tre. Ci si connette con:

# pon tre

e stavolta la disconnessione va fatta con:

# poff tre

Ecco il risultato (nulla di stupefacente, bisogna anche ricordare che il bluetooth fa da "collo di bottiglia"):



Per controllare il traffico effettuato il programma migliore che ho provato è:

# pacman -S vnstat

Infine il bluetooth sul cellulare va impostato in modalità "nascosta", se non altro per un fatto di privacy.

Una nota finale: una connessione 3G implica un consumo di energia notevole per il cellulare, quindi consiglio un occhio alla batteria quando lo si usa.

2010-11-15

Rotazione dello schermo

Aggiornamento all'ultimo post:

Con Xrandr è anche possibile cambiare l'orientamento dello schermo con l'opzione --rotate [left|right|normal|inverted], ricordando di cambiare anche la risoluzione, ovviamente. Come per il caso precedente è stato sufficiente modificare il file ~/.fluxbox/keys aggiungendo queste quattro righe:

# la combinazione Control + Tasto windows + freccia cambia l'orientamento dello schermo
# la freccia indica il basso

Control Mod4 114 :exec xrandr --output LVDS1 --fb 600x1024 --rotate left
Control Mod4 113 :exec xrandr --output LVDS1 --fb 600x1024 --rotate right
Control Mod4 116 :exec xrandr --output LVDS1 --fb 1024x600 --rotate normal
Control Mod4 111 :exec xrandr --output LVDS1 --fb 1024x600 --rotate inverted

Una nota: i numeri 114, 113, 116 e 111 indicano i tasti a cui sono abbinate le freccie (trovati con xev). Con "Control Mod4 left" si ottiene lo stesso risultato, ma preferisco usare i riferimenti assoluti per non fare confusione quando cambio il layout da QWERTY a DVORAK.

2010-11-11

Uso di Xrandr per zoomare parti del desktop

Sul mio computer fisso, dove pure è installato Arch, ho deciso di installare KDE. Tra gli effetti grafici di cui dispone, c'è la possibilità di zoomare l'area sotto al cursore del mouse.

Più volte ho pensato a quanto mi sarebbe piaciuto poter fare qualcosa di analogo sul mio eeePC, dove c'è Arch ma KDE risulterebbe troppo pesante. Esiste un software incluso in xorg, xzoom, ma ingrandisce una porzione di schermo in una finestra nuova. Così dopo qualche ricerca ho trovato il modo di ottenere questo risultato con xrandr.

Xrandr dispone dell'opzione "panning", cioè la possibilità di "inquadrare" la porzione dello schermo sotto al puntatore; se questo tutorial vi fa risparmiare l'oretta di tentativi che ci ho messo io mi considero soddisfatto.

La prima cosa da fare è decidere di quanto sarà l'ingrandimento; nel mio caso volevo quadruplicare l'area di mio interesse, ovvero visualizzare 512x300 pixel dove di solito ne stanno 1024x600.

È necessario avere la dimensione dell'ingrandimento tra le proprie modalità di xrandr; digitando da terminale "xrandr" si ha un output del tipo:

$ xrandr

LVDS1 connected 1024x600+0+0 (normal left inverted right x axis y axis) 220mm x 129mm
1024x600 60.0*+ 65.0
800x600 60.3 56.2
640x480 59.9


La modalità di mio interesse non c'è, ne va creata una nuova seguendo il formato di xorg.conf (modeline). Il formato prevede 10 parametri, di cui solo tre sono intuitivi (nome della modalità, risluzione orizzontale e risoluzione verticale). Tuttavia il programma cvt permette, dati in input risoluzione e frequenza, di trovare i parametri mancanti:

$ cvt 512 300 60

# 512x300 64.28 Hz (CVT) hsync: 20.31 kHz; pclk: 13.00 MHz
Modeline "512x300_65.00" 13.00 512 528 576 640 300 303 313 316 -hsync +vsync


quindi basta dare i comandi:

$ xrandr --newmode "512x300" 13.00 512 528 576 640 300 303 313 316 -hsync +vsync
$ xrandr --addmode LVDS1 512x300


per ottenere:

$ xrandr

LVDS1 connected 1024x600+0+0 (normal left inverted right x axis y axis) 220mm x 129mm panning 1024x600+0+0 tracking 1024x600+0+0 border 128/128/128/128
1024x600 60.0*+ 65.0
800x600 60.3 56.2
640x480 59.9
512x300 59.3


A questo punto con:

$ xrandr --output LVDS1 --mode 512x300 --panning 1024x600+0+0/1024x600+0+0/128/128/128/128


si ottiene un ingrandimento di un'area di 512x300 pixel che si sposta con il puntatore del mouse.

Infine, per facilitarmi la vita, ho aggiunto queste righe al file ~/.fluxbox/keys:

Mod4 65 :exec xrandr --output LVDS1 --mode 512x300 --panning 1024x600+0+0/1024x600+0+0/128/128/128/128
Mod4 58 :exec xrandr --output LVDS1 --mode 1024x600

Premendo le combinazioni "tasto windows"+barra spaziatrice si attiva lo zoom, con "tasto windows"+m si torna alle dimensioni originali.

2010-05-28

Da Domani Nexus One

Parliamo di cellulari che non potrò permettermi. Dovrebbe arrivare domani in Italia il gioiellino di Google, quel Nexus One famoso ma molto meno di quanto gli internauti credono (in teoria dovrebbe essere disponibile dal 25 maggio). Non è quasi triste che Android, il sistema operativo per cellulari basato su Linux e sviluppato da Google, sia poco conosciuto anche da chi bazzica nel settore?

Android, quel SO che ha salvato le - pardon - chiappe di Motorola, e che in terra americana gareggia con iPhone e BlackBerry per il titolo di sistema operativo mobile più diffuso.

Chiedete a 100 persone cos'è un Nexus One e 90 vi guarderanno in cagnesco, ma gli altri 10 si stracceranno le vesti per convincervi che è il miglior cellulare in commercio. Chiedete a 100 persone cos'è un iPhone e, pur con qualche sbavatura (tipo attribuirlo a Nokia)(capita), tutti vi risponderanno. Magari vi diranno "è quello di Totti!", ma risponderanno.

Faccio un velocissimo confronto tecnico tra il Nexus One e l'iPhone 3GS:

  • Processore: Qualcomm, 1 GHz vs. ARM, 667 MHz;
  • RAM: 512 MB vs. 256 MB
  • Memoria: 512 MB (espandibile con scheda SD) vs. 16 GB o 32 GB
  • Schermo: 3,7' 800x480 vs. 3,5' 480×320

  • Per il resto non dico che si equivalgano ma non ci sono differenze troppo importanti. In generale il Nexus One è un po' più performante in quasi tutti i campi (fotocamera, batteria, etc.), ma la differenza di processore e la risoluzione dello schermo sono forse le cose più eclatanti.

    Vodafone vende il Nexus One a 500 € con inclusa una Sim e 5 € di traffico. Con piani in abbonamento si può arrivare a 200 €, non male per uno smartphone di quel livello (ma non triplicherò la mia spesa mensile di telefonia per pagare di meno un cellulare).

    Sarebbe ancora più bello se Vodafone vendesse realmente il cellulare, visto che molti utenti lamentano il fatto che non sia affatto disponibile. "Prima Il Nexus con la tariffa più alta d’Europa. poi nessuna notizia sugli abbonamenti ed ora il ritardo nell’uscita e nessuno, nè nei negozi nè nel servizio clienti sa dell’esistenza del Nexus che sarebbe dovuto già uscire…[il 25 maggio]".

    La morale? Il miglior cellulare attualmente in commercio passerà quasi inosservato, perché la qualità paga solo fino a un certo punto, poi entrano le logiche di mercato e vende di più chi fa più pubblicità. Sorry, Nexus One, io comunque tifo per te!






    Ma non ti compro, costi troppo.

    Due Parole Sull'iPad

    L'iPad è il primo tablet di Apple, sul punto di approdare in Italia, e già record di vendite negli Stati Uniti.

    Le priorità di Apple sono chiare: design, sicurezza, supporto e usabilità immediata a prezzo di minore libertà per l'utente e poca apertura verso formati alieni. E il vizio di enfatizzare un po' troppo quello che si vende.

    Infatti Steve Jobs mente consapevolmente quando indica come rivouzionario l'iPad, in fondo è un semplice tablet pc, esistono da anni; probabilmente ha solo trovato il momento giusto per lanciarli sul mercato (non è poco), con un prodotto ben progettato, accompagnato da negozi on-line già pronti e soprattutto da una campagna pubblicitaria mastodontica.

    Tutto sommato non è grave prendersi sul serio: sono spacciate come rivoluzioni anche il cinema 3D (vecchio cent'anni) o la tv in HD, esplosa solo ora grazie alle potenzialità degli schermi ma non certo una novità, come tecnologia. (Ma poi 1080 pixel su uno schermo da 42" si possono chiamare alta definizione?)

    Allora, iPad sì o iPad no? Non si può affermare che sia inutile: è molto più comodo di un netbook e più votato alla multimedialità rispetto a uno smartphone, pensato per leggere e guardare più che per scrivere o comunicare (pesa molto l'assenza della webcam).

    Se avessi un iPad non me ne farei quasi nulla: non sono un pendolare e quando mi sposto ho sempre un buon motivo per avere con me il netbook (un eeePC). Ma per chi ogni giorno fa un'ora o due di treno il discorso cambia: può sfogliare i quotidiani on-line o guardare l'ultimo episodio di Lost, leggere un libro o fare una partita a scacchi. Si può fare con qualsiasi tablet, ovviamente, ma va dato il merito ad Apple di aver dato uno scossone a questo settore piuttosto sonnacchioso del mercato.

    Più banalmente, chi va in vacanza e non vuole il peso di un computer ma qualche filmetto con gli amici se lo vuol vedere può risolvere agilmente la questione con un iPad, in attesa che arrivi sul mercato cinemin.

    Mi sento strano a dirlo, ma promuovo l'iPad, con tutti i suoi difetti. Bocciato invece Corriere.it, che da mesi ne fa una pubblicità quasi sfacciata, e con il quotidiano anche la giornalista Farkas, prima autrice di un articolo sui suoi problemi nell'uso dell'iPad in cui rivela una preparazione piuttosto zoppicante, poi per un non-articolo in cui il tablet Apple viene incensato da un designer di NY che l'ha scambiato per un Kindle molto costoso.