Prova su strada (901 tim go)

Informazioni generali (marzo 2009)

asus_mtv.png

A mio personale giudizio il modello 901 è il migliore della gamma nonostante sia maggiorato del 24% nel peso (1.14Kg) rispetto alla versione 701 propone una durata di batteria eccezionale (6600mAh fino a 8h) e uno schermo da 8.9" con una risoluzione 1024x600 adatta alla navigazione web senza sacrifici. Inoltre è dotato del nuovo processore Intel Atom N270 @ 1,6GHz, RAM 1GB e un disco a stato solido interno piuttosto capiente 16Gb e veloce. Infine la versione TIM GO ha anche un modem HSUPA integrato e il tutto a un prezzo davvero conveniente 329 euro. Unica nota dolente è che viene fornito con XP preinstallato.

Primo avvio e impressioni

Il primissimo avvio è più lento perchè Windows richiede alcuni parametri di configurazione (lingua, tastiera, fuso orario, etc.). In seguito partendo da spento all'individuazione della rete wifi passano circa 30 secondi che è un buon risultato. Non essendo un estimatore di Windows subito dopo la prova del tempo di boot ho deciso di salvare l'immagine del disco a stato solido interno. Purtroppo c'è da rilevare che il boot con Slax richiede circa 65 secondi per essere pronti a entrare in rete non pare però che il problema di sensibilità del chip WiFi Atheros si riproponga ancora (vedere in fondo alla pagina nuovo kernel per asus eee pc). Come le versioni precedenti manca del bluetooth integrato ma è una limitazione a cui si può ragionevolmente mettere una pezza con una chiavetta USB ultra piccola.

Linux su Asus Eee PC 901

La versione 901 GO con modem HSUPA integrato viene venduta con solo Windows Xp installato. Quindi la prima cosa da fare sarebbe il backup in maniera da ripristinare velocemente il sistema operativo originale. Il 901 GO viene fornito con un DVD di recovey ma per completezza sembra logico proporre un'alternativa a quella fornita di fabbrica.

Backup dell'installazione originale

Ho riavviato eee pc con una SD card sulla quale avevo una versione di Slax 6.0.7 già modificata per eee pc 701. La stranezza che mi è subito saltata all'occhio è quanto fosse lento in lettura il disco interno, decisamente troppo lento per essere normale:

root@slax:/#  hdparm -t /dev/hda

/dev/hda: 16Gb ssd embedded into 901 go mtv in ATA-IDE mode
 Timing buffered disk reads:    4 MB in  3.32 seconds =   1.20 MB/sec

Temendo di aver comprato una di quelle schifezze di hw buone solo per Windows ho cominciato a cercare su internet e ho trovato che effettivamente il problema era già noto e una volta capito la soluzione risulta assai semplice (vedere più sotto la sezione dedicata alla Slax).

Risolto il problema delle performance del disco interno ho proceduto con il backup del disco interno:

root@slax:/mnt/sdc2# time cat /dev/sda | gzip -c >eeepc901gomtv.xp16Gb.gz

real    18m44.882s
user    18m5.744s
sys     1m58.027s

Partizionamento del disco interno

Il 901 GO si presenta di fabbrica con due partizioni una NTFS per Windows Xp e l'altra EFI per il boot booster ovviamente molto piccola (solo di 16Mb). Prima di procedere con il partizionamento del disco interno occorre disabilitare in bios le seguenti voci:

  • boot booster
  • quick boot
  • quiet boot

Quindi si utilizzi l'applicazione gparted per ridurre la partizione NTFS a 5Gb. Il resto è tutto spazio che può essere utilizzato per installare Linux. La partizione EFI dovrebbe essere ricostruita e in particolare essa deve essere una partizione primaria per poter essere riconosciuta e utilizzata.

root@isidoro:~# fdisk -l /dev/sda

Disk /dev/sda: 16.1 GB, 16139681792 bytes
255 heads, 63 sectors/track, 1962 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xcd1f60c4

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         648     5205028+   7  HPFS/NTFS
/dev/sda2             649        1038     3132675   83  Linux
/dev/sda3            1041        1962     7405965    5  Extended
/dev/sda4            1039        1040       16065   ef  EFI (FAT-12/16/32)
/dev/sda5            1041        1301     2096451   83  Linux
/dev/sda6            1310        1962     5245222+  83  Linux

Partition table entries are not in disk order

Personalmente ho utilizzato il sopra incluso partizionamento per avere Eeebuntu sulla sesta partizione (5Gb), le relative parti read-only di Xandros (1.6Gb), Slax (400Mb) e Tinycore (10Mb) nella quinta partizione (~2.1b) e infine le porzioni read-write nella seconda partizione (3Gb). In questo modo ho potuto mantenere Windows Xp e installare 4 distribuzioni Linux completamente diverse.

Slax su Eee PC 901

Completato il salvataggio dell'installazione originale ho proceduto eliminando la partizione Windows XP senza però rimuovere o modificare la partizione EFI che serve per il boot booster (ci salva dentro l'impostazione precedente di BIOS così risparmia tempo al boot successivo). Ho creato una partizione EXT2 e l'ho formattata di conseguenza.

Installazione

La Slax 6.0.9 è stata installata in una partizione EXT2 (/dev/sda1) a partire dal contenuto della ISO cioè copiando le cartelle slax e boot:

root@slax:~# ls -al /mnt/sda1
drwxr-xr-x 10 root root  4096 Mar 16 15:12 ./
drwxr-xr-x  6 root root  4096 Mar 16 15:12 ../
drwxr-xr-x  6 root root  4096 Mar 16 14:58 boot/
drwx------  2 root root 16384 Mar 15 10:06 lost+found/
drwxr-xr-x  9 root root  4096 Mar 16 14:59 slax/

e utilizzando LILO come boot loader con la seguente configurazione:

root@slax:~# cat /mnt/sda1/boot/lilo.conf
boot=/dev/sda
prompt
timeout=0
lba32
compact
change-rules
reset
install=text
image=/mnt/sda1/boot/vmlinuz
initrd=/mnt/sda1/boot/initrd.gz
label=sda1.slax
root=/dev/ram0
read-write
append = "ramdisk_size=6666 nopcmcia idebus=66 autoexec=xconf;telinit~4 hda=noprobe hdb=noprobe ide_generic.probe_mask=0x0 from=/dev/sda1 changes=/dev/sda1"

Configurazione per Eee PC 901

Questa pagina spiega come adattare la Slax 6.0.9 per Eee PC 901. L'audio e la scheda wi-fi funzionano con Slax 6.0.9 senza particolari accorgimenti.

Stabilità e prestazioni

Purtroppo la Slax, almeno nella versione 6.0.9, appare essere piuttosto fragile qualora il filesystem EXT2 su cui salva le changes risulta essere anche solo leggermente inconsistente. Questa cosa risulta piuttosto fastidiosa su un sistema che non è inusuale spegnerlo brutalmente (batteria completamente scarica). Si potrebbe sistemare usando fsck -af $DEV al momento del caricamento: soluzione che però richiede la modifica della initrd.gz che non ho ancora proceduto a fare quindi è da verificare.

La mia sensazione è che anche la configurazione standard di Xorg ottenuta con xconf sia da migliorare sensibilmente infatti lo scorrimento di un thread molto lungo su gmail con firefox 3.0 risulta molto lenta e a scatti.

Autoricognizione generic-ide su Slax

Slax è una live che fa autoricognizione dell'hardware ma non sceglie fra possibili alternative quella più performante. In questo caso è necessario disabilitare l'autorilevazione dell'ATA-IDE e buttarsi sul SATA. Perciò nel file di configurazione del boot loader è stata aggiunta le opzioni (le prime due servono per la slax 6.0.7 e l'ultima per le successive versioni):

hda=noprobe hdb=noprobe ide_generic.probe_mask=0x0

ottenendo il seguente risultato che ora /dev/hda diventa /dev/sda e almeno 50 volte più veloce:

/dev/sda: 16Gb ssd embedded into 901 go mtv in SATA
 Timing buffered disk reads:  210 MB in  3.02 seconds =  69.57 MB/sec

/dev/sdc1: usb-pen snadisk cruzer 8Gb
 Timing buffered disk reads:   74 MB in  3.09 seconds =  23.96 MB/sec

/dev/sdc2: myBook WD 250Gb usb HD
 Timing buffered disk reads:   86 MB in  3.02 seconds =  28.44 MB/sec

/dev/sdd: Kingston Data Traveler 2Gb
 Timing buffered disk reads:   34 MB in  3.18 seconds =  10.70 MB/sec

Per paragone si sono aggiunte altre periferiche di memorizzazione a stato solido e/o collegabili mediante bus USB 2.0.

Easy Peasy (Ubuntu) su Eee PC 901

Si tratta di una distribuzione derivata da Ubuntu e adattata ai netbook. L'installazione è abbastanza semplice e comunque documentata nel wiki dedicato alla distribuzione. Audio e video sono stati configurati con successo su Skype senza troppo penare. Sicuramente una distribuzione completa sia come dotazione software che come supporto hardware anche se il modulo della scheda Wi-Fi non permette l'accensione e lo spegnimento della stessa senza installare e configurare apci-eeepc-generic.

Complessivamente una buona distribuzione e stabile una volta configurata. Rispetto alla Slax che occupa solo 284Mb con KDE, OpenOffice e Skype questa Easy Peasy che è basata su Gnome ne occupa 2.6Gb: insomma un ordine di grandezza. Come tempi di boot da spento le due distribuzioni si equivalgono ~60/65 secondi. Ovviamente se a Easy Peasy impostiamo il login automatico e a entrambe riduciamo al minimo l'attesa dovuta al boot loader.

Installazione sorgenti kernel

Per installare i sorgenti o gli headers del kernel di easy peasy occorre aggiungere questo repository e la relativa chiave di verifica dei pacchetti:

sudo -s
wget http://www.array.org/ubuntu/array-intrepid.list -O /etc/apt/sources.list.d/array-intrepid.list
wget http://www.array.org/ubuntu/array-apt-key.asc
apt-key add array-apt-key.asc
apt-get update

Gestione ACPI della WiFi

Occorre installare il supporto apci-eeepc-generic per poter gestire correttamente il supporto energetico e lo spegnimento/accensione delle periferiche. In particolare usando la versione 0.9.1-1 si seguano le seguenti istruzioni:

tar xvzf acpi-eeepc-generic-0.9.1-1.src.tar.gz
cd acpi-eeepc-generic
mkdir -p /etc/conf.d
mv -f *.conf /etc/conf.d
mkdir -p /etc/acpi/eeepc
mv -f * /etc/acpi/eeepc
chmod a+x /etc/acpi/eeepc/*.sh
cat >>/etc/modules <<EOF
rfkill 
eeepc_laptop
EOF
cat >>/etc/modprobe.d/eeepc <<EOF
options pciehp pciehp_force=1
EOF

Per completare l'installazione occorre configurare il file /etc/conf.d/acpi-eeepc-generic.conf rimuovendo le ultime righe e aggiungendo le seguenti:

EEEPC_MODEL="901"
EEEPC_CPU="Atom"

Per quanto riguarda il driver utilizzato questo dovrebbe identificarlo

sudo -s
lspci | grep -i theros && echo "WIFI_DRIVER=\"ath5k\"" >>/etc/conf.d/acpi-eeepc-generic.conf

Inoltre dopo aver aggiornato il sistema e installato kppp usare quest'ultimo non è stato immediato oltre al fatto che il network monitor che sarebbe il programma di default per stabilire questo tipo di connessioni non funziona immediatamente con il modem integrato in dotazione.

Per quanto riguarda l'ibernazione in RAM essa funziona senza configurazione mente per l'ibernazione su disco è necessario avere una partizione di swap attiva. Utilizzare swap su disco a stato solido rischia di accorciare sensibilmente la durata del disco stesso (in ogni caso cfr. swapiness).

Xandros (XEPC) su Eee Pc 901

Questa è la distro specificatamente pensata per i netbook della Asus. Si può scaricare dalla relativa pagina di sourceforge. Ci sono però due grossi problemi nell'utilizzare questa ISO per fare l'installazione:

  1. l'immagine è di ripristino: cioè pensata per rimuovere l'intero contenuto del disco interno
  2. il fatto che parte in cinese di Taiwan.

Di seguito sono spiegate le istruzioni per installarla in modo non distruttivo e in inglese.

Installare Xandros (XEPC) in inglese

La ISO contiene una cartella boot e un file root.sfs. Quest'ultimo file ha una dimensione di 1.6Gb e contiene uno squas file system della root di Xandros. Per leggere il contenuto di una ISO senza masterizzarla si può utilizzare un'utility di archiviazione che supporti quel formato oppure il classico:

sudo mkdir /mnt/iso
sudo mount -t iso9660 -o loop nome.iso /mnt/iso

L'installazione è abbastanza banale infatti basta copiare il file e la directory su una partizione e quindi configurare il boot loader in maniera tale che vada a utilizzare i files initramfs-eeepc.img e vmlinuz-2.6.21.4-eeepc per avviare Xandros. Qui sotto un esempio per LILO:

image=/mnt/sda5/boot/vmlinuz-2.6.21.4-eeepc    
    label=xandros
    initrd=/mnt/sda5/boot/initramfs-eeepc.img
    append="rw irqpoll root=/dev/sda5 quiet"
    read-write
    vga=785

Per default Xandros XEPC utilizzerà la seconda partizione come area di read-write e nel caso essa non sia forrmattata EXT3 provvederà a formattarla al primo avvio. Questa è una caratteristica di cui tenere conto che può risultare piuttosto "pericolosa" in termini di perdita di dati. Nella sezione generica di installazione è stata mostrata una tavola delle partizioni compatibile con questa caratteristica.

Come sopra già detto questa distribuzione parte con l'interfaccia in cinese. Per la successiva localizzazione in italiano si possono seguire queste istruzioni. Resta però il fatto che se si potesse partire dall'inglese invece che dal cinese le cose sarebbero assai più semplici. La lingua di partenza può essere decisa già dall'immagine initramfs perciò nel caso se ne usi una modificata appositamente il risultato sarà immediato e permanente cioè anche nel caso si utilizzi l'altra immagine rimarrà salvata nella seconda partizione la lingua inglese oppure quella successivamente scelta avendo avuto cura di localizzare la distribuzione come sopra detto. Questo è un esempio per LILO:

image=/mnt/sda5/boot/vmlinuz-2.6.21.4-eeepc    
    label=xandros.English
    initrd=/mnt/sda5/boot/initramfs.cpio.gz
    append="rw irqpoll root=/dev/sda5 quiet"
    read-write
    vga=785

L'immagine modificata può essere scaricata da http://www.roberto.foglietta.name/pub/xepc/en/initramfs.cpio.gz

Composizione hardware

root@slax:~# lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)
04:00.0 Ethernet controller: Attansic Technology Corp. Unknown device 1026 (rev b0)
00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)

Modem HSUPA embedded

La cosa più piacevole è stato scoprire che il modem integrato HSUPA in realtà è una chiavetta USB della Huawei modello EM770 che pare essere supportato pienamente da Linux che però lo identifica come un modello E620:

cat /dev/ttyUSB0 & echo ATI >/dev/ttyUSB0
Manufacturer: huawei  Model: EM770  Revision: 11.104.16.06.00  IMEI: (nascosto) +GCAP: +CGSM,+DS,+ES

root@slax:~# dmesg  | grep GSM
drivers/usb/serial/usb-serial.c: USB Serial support registered for GSM modem (1-port)
option 1-6:1.0: GSM modem (1-port) converter detected
usb 1-6: GSM modem (1-port) converter now attached to ttyUSB0
option 1-6:1.1: GSM modem (1-port) converter detected
usb 1-6: GSM modem (1-port) converter now attached to ttyUSB1
option 1-6:1.2: GSM modem (1-port) converter detected
usb 1-6: GSM modem (1-port) converter now attached to ttyUSB2
drivers/usb/serial/option.c: USB Driver for GSM modems: v0.7.1

root@slax:~# lsusb
Bus 001 Device 005: ID 0781:5406 SanDisk Corp. Cruzer Micro 1/4GB Flash Drive
Bus 001 Device 004: ID 04f2:b071 Chicony Electronics Co., Ltd
Bus 001 Device 003: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem
Bus 001 Device 002: ID 058f:6335 Alcor Micro Corp.
Bus 001 Device 001: ID 0000:0000
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000

Stabilire la connessione a internet

Firewall e masquerading

Le seguenti impostazioni sono comuni alla configurazione grafica e testuale. Si tratta di alzare una protezione da attacchi remoti e nel contempo di rendere la postazione Eee PC un gateway per altre postazioni ad essa collegate via rete locale. In questa configurazione si stabiliscono le stesse regole di firewalling anche per la rete wireless considerando essa non una sottorete trusted ma un via di connettività a internet.

sudo -s
iptables -F
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -s 127.0.0.1/32 -i lo -j ACCEPT
iptables -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o ppp0 -j ACCEPT
iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
iptables -A FORWARD -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -P INPUT DROP
iptables-save >/etc/ppp/firewall.ppp0
exit

In questo modo si è salvato in /etc/ppp/firewall.ppp0 le impostazioni che potranno essere caricate dopo aver stabilito la connessione a internet mediante la connessione ppp0. E' buona norma che tale file sia scrivibile e leggibile solamente dall'utente amministratore root. Ovviamente il supporto per il forwarding deve essere attivato nel kernel:

sudo sysctl -w net.ipv4.ip_forward=1

e se questa riga fosse necessaria allora deve essere inserita in un file di configurazione iniziale del sistema quale /etc/rc.local ad esempio. Oppure può essere inserita in kppp ma se quest'ultimo viene elevato a utilizzare i permessi di esecuzione come root.

Configurazione pppd (testuale)

Occorre scaricare i tre files descritti e disponibili in questa pagina:

  1. /etc/ppp/chat-connect
  2. /etc/ppp/chat-disconnect
  3. /etc/ppp/options.wind

Una volta configurata stabilire la connessione al sistema è abbastanza banale:

tail -f /var/log/pppd &
sudo pppd file /etc/ppp/options.wind
sudo iptables-restore < /etc/ppp/firewall.ppp0

Dove la prima riga serve solo per debug dell'accesso a internet. Per evitare di dover utilizzare sudo ed eventualmente digitare la password si può abilitare un gruppo all'uso privilegiato di pppd in questo modo:

sudo chmod root.users $(which pppd)
sudo chmod g+s $(which pppd)

Il gruppo eventualmente deve essere creato e gli utenti da abilitare vanno uniti al gruppo stesso. Al successivo login l'utente inserito nel gruppo sarà abilitato (cioè tutte le impostazioni sui gruppi che hanno impatto sugli utenti collegati al sistema sono valide a partire dal login successivo). Analogamente si può fare per iptables-restore.

Configurazione kppp (grafica)

La configurazione seguente è per operatore Wind ma basta combiare il punto di accesso e funziona per tutti:

nuovo account: wind
autenticazione: da script + non salvare password
esecuzione, esegui prima della connessione: sudo sysctl -w net.ipv4.ip_forward=1
esecuzione, esegui dopo la connessione: sudo iptables-restore < /etc/ppp/firewall.ppp0
miscellanea: resta connesso se esci da X + minizza in barra alla conessione

nuovo modem: hsupa
porta modem: /dev/ttyUSB0
attendere tono: no
comandi modem:

  • inizializzazione 1: ATZ
  • inizializzazione 2: AT&F&D2&C1&S0=0+CSQ
  • attesa del tono: AT+cgdcont=1,"IP","internet.wind"

analogamente a quanto è stato fatto nella sezione precedente per pppd.

sudo chmod root.users $(which pppd)
sudo chmod g+s $(which pppd)

eventualmente potrebbe essere necessario dare il permesso di scrittura al device del modem al gruppo. In genere ogni distribuzione ha un suo gruppo specifico associato alle connessioni via modem, preferibilmente utilizzare quel gruppo per tutte le operazioni sopra citate.

Configurazione gnome-ppp (grafica)

ANCORA DA FARE

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License