mercoledì 17 dicembre 2008

Trust TB-3100 Tavoletta grafica Aiptek rebranded

Quest'anno per natale ho deciso di regalarmi una tavoletta grafica. Le ditte che producono questi dispositivi sono poche, in particolare in Italia sembrano arrivare solamente le Wacom e le Trust.

Le Wacom sono le regine indiscusse del settore, alta qualità, alte prestazioni e, purtroppo prezzo alto.
Quest'ultimo fattore mi ha fatto desistere dall'acquisto dato che il modello A5 più economico è la Bamboo Fun A5, quotata attorno ai 180 euro.

Ho quindi acquistato una Trust TB-3100, modello un pò vecchiotto ma abbastanza valido, soprattutto per chi come me il disegno lo fà per hobby e non per professione.
L'ho acquistata in una famosa catena di negozi di informatica per soli 39 euro!

Bhè la fattura è piuttosto buona nella scatola ci sono tutti gli accessori necessari, il pennino wireless, il mouse e le batterie per mouse e pennino (si questa è una delle pecche delle trust :().
L'installazione su vista ha richiesto circa un minuto e la tavoletta funziona egregiamente, non me lo sarei mai aspettato!

Ho quindi deciso di installarla anche sul pinguino (Archlinux è il sistema operativo che utilizzo abitualmente) anche se ahimè ero scettico dei possibili risultati dato che cercando su internet le notizie erano molto sconfortanti.

Dopo un paio di giorni di ricerca e di prove i risultati sono stati eccezionali! La tavoletta funziona persino meglio che su windows poichè i driver open (per la verità il progetto sembra fermo dal 2006!) permettono un buon livello di configurazione come l'area attiva da utilizzare (specialmente utile per chi come me utilizza un monitor 16:9) e la curva di pressione.

L'installazione però non è immediata come su windows... vediamola passo passo.


LA VERA TAVOLETTA CELATA SOTTO IL MARCHIO TRUST

Appena connessa la tavoletta diamo un lsusb da terminale e notiamo con (grande) sorpresa che il produttore non è Trust ma Aiptek, una ditta Taiwanese che produce accessori per PC, tra i quali le tavolette grafiche.

La TB-3100 non è altro che una Aiptek Hyperpen 8000


INSTALLAZIONE DELLA TAVOLETTA SU LINUX

I passi da seguire sono:
  1. installazione driver del kernel (già inclusi, da attivare se abbiamo ricompilato il kernel manualmente, SALTA questo passo se non sai cosa significa :))
  2. installazione driver di xorg
  3. configurazione xorg
  4. configurazione hal
  5. riavvio e test

KERNEL
Utilizzando le distro più comuni, ad esempio Archlinux o Ubuntu (e suppongo anche Fedora, Debian, Mandriva, Suse ecc..) non ci sono problemi, i driver sono già attivati all'interno del kernel.
Utilizzando invece distribuzioni come Gentoo potrebbe essere necessario attivarli manualmente nella sezione apposita del kernel (dev'essere sotto la voce HID)

XORG
I driver di xorg sono distribuiti già pacchettizzati per quasi tutte le distro.
L'installazione avviene quindi con il gestore di pacchetti predefinito del sistema, ad esempio

su Archlinux:
sudo pacman -S xf86-input-aiptek

su Ubuntu (e anche XUbuntu, KUbuntu, Debian e le altre basate su apt-get):
sudo apt-get install xserver-xorg-input-aiptek

su Fedora (e le altre basate su yum)
sudo yum install xorg-x11-drv-aiptek

su Mandriva (e le altre basate su urpmi)
sudo urpmi x11-driver-input-aiptek

CONFIGURAZIONE XORG
Per l'utilizzo della tavoletta ci avvaleremo delle potenzialità del nuovo xorg (stò utilizzando la 7.4) e di hal quindi la configurazione di xorg da fare sarà minima:

se usiamo KDE da terminale diamo il comando
sudo kate /etc/X11/xorg.conf
se invece usiamo GNOME diamo il comando
sudo gedit /etc/X11/xorg.conf
si aprirà il file di configurazione di Xorg, a questo punto ricerchiamo la sezione "Modules" e aggiungiamo all'interno (sotto alle altre Load) la riga
Load "aiptek"
Salviamo e chiudiamo l'editor.


CONFIGURAZIONE HAL
Sempre da terminale, creiamo un nuovo file di configurazione per hal.

se usiamo KDE da terminale diamo il comando
sudo kate /etc/hal/fdi/policy/10-aiptek.fdi
se invece usiamo GNOME diamo il comando
sudo gedit /etc/hal/fdi/policy/10-aiptek.fdi

copiate queste righe all'interno:
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<match key="info.product" contains="Aiptek">
<merge key="input.x11_driver" type="string">aiptek</merge>
<merge key="input.x11_options.SendCoreEvents" type="string">true </merge>
<merge key="input.x11_options.USB" type="string">On</merge>
<merge key="input.x11_options.Type" type="string">stylus</merge>
<merge key="input.x11_options.Mode" type="string">absolute</merge>
<merge key="input.x11_options.zMin" type="string">0</merge>
<merge key="input.x11_options.zMax" type="string">511</merge>
</match>
</device>
</deviceinfo>
Salvate e chiudete il file.


RIAVVIO E TEST
Bene, la tavoletta è installata, non ci resta che provarla.
IMPORTANTE!!! LA TAVOLETTA DEVE ESSERE SCOLLEGATA QUANDO SI AVVIA IL PC OPPURE XORG ANDRA' IN CRASH!!!
Riavviate Xorg e hal (in alternativa riavviate il PC). Quando il nostro desktop sarà pronto colleghiamo la tavoletta al PC ed è fatta!


IMPOSTAZIONI PER CHI USA SCHERMI 16:9 (es. notebook)
Si può cambiare la configurazione della tavoletta modificando il file /etc/hal/fdi/policy/10-aiptek.fdi e riavviando hal. Una cosa molto importante se si utilizzano schermi 16:9 è la possibilità di utilizzare solo una porzione dell'altezza totale dell'area attiva della tavoletta in modo da mantenere le proporzioni del monitor.

Per farlo è sufficiente attivare l'opzione KeepShape nel file /etc/hal/fdi/policy/10-aiptek.fdi che diventerà quindi
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<match key="info.product" contains="Aiptek">
<merge key="input.x11_driver" type="string">aiptek</merge>
<merge key="input.x11_options.SendCoreEvents" type="string">true </merge>
<merge key="input.x11_options.USB" type="string">On</merge>
<merge key="input.x11_options.Type" type="string">stylus</merge>
<merge key="input.x11_options.Mode" type="string">absolute</merge>
<merge key="input.x11_options.zMin" type="string">0</merge>
<merge key="input.x11_options.zMax" type="string">511</merge>
<merge key="input.x11_options.KeepShape" type="string">on</merge>
</match>
</device>
</deviceinfo>
ALTRE IMPOSTAZIONI
Per vedere tutte le opzioni disponibili per configurare la nostra tavoletta potete dare da terminale il comando
man aiptek
Buon divertimento!

sabato 15 novembre 2008

Browser Games

Ciao a tutti, è un pò che non ci sentiamo. Approfitto di questo post per dirvi un paio di cosette:
1- ho installato ArchLinux sul nostro portatile, è un missile!! Altro che ubuntu, una scheggia che và a 1000 all'ora!! Fantastico

2- ho iniziato a progettare un browser games con degli amici.
potete collaborare anche voi, basta che mettete qualche commento qui sul forum :)

Il browser game perfetto? Fallo tu!

Ciao e a presto!

mercoledì 9 aprile 2008

Benchmark su Ubuntu facciamo qualche test con HardInfo

Se siete di quelli che ogni volta che si parla di un nuovo dispositivo si precipita su internet a cercare i benchmark sicuramente conoscerete HardInfo.

HardInfo (http://hardinfo.berlios.de/web/HomePage) è un programma che raccoglie le informazioni sull'hardware ed il sistema operativo installato sulla macchina, esegue qualche benchmark, li confronta su internet e genera reports.

Questo post tornerà molto utile quando avremo installato gentoo in modo da verificare se effettivamente c'è un aumento di prestazioni del sistema.


INSTALLAZIONE DI HARDINFO

Niente di più semplice, si trova nei repository!
Installiamolo con un
sudo apt-get install hardinfo
A breve avremo HardInfo installato sul PC


LANCIAMO HARDINFO

Da un terminale diamo il comando
hardinfo
Dando un occhiata al programma vediamo che hardinfo raccoglie moltissime informazioni utili: dall'hardware installato alle periferiche connesse, alle partizioni su disco con relativi dati sulla dimensione/spazio disponibile, le directory condivise in rete, la versione del kernel che stà girando, le interfacce di rete connesse con il loro indirizzo IP ecc.


ESEGUIAMO QUALCHE BENCHMARK

Nel pannello a sinistra vediamo tra le varie categorie, la voce Benchmark. Cliccando su uno dei benchmark previsti viene effettuata una rapida prova che assegna un punteggio al nostro PC e viene confrontato con altri processori.

Per ripetere un benchmark dalla finestra con i risulati per il benchmark da rifare ci basta cliccare sul pulsante "Refresh" nella toolbar.

Vi riporto per ogni benchmark il risultato trovato sulla mia macchina utilizzando il sistema leggermente snellito da alcuni servizi di avvio automatico e con lo scaling del processore impostato su OnDemand (non ottimale per eseguire un benchmark). Ho anche qualche programma aperto (Compiz-fusion attivo, Openoffice Writer aperto, RhytmBox mentre ascolto una webradio) quindi i dati potrebbero essere leggermente falsati ma in linea di massima non dovrebbe cambiare molto...

CPU ZLib (in KiB/s, il più alto è meglio):
- A210-1AY 14347.2

CPU Fibonacci (in secondi, il più basso è meglio):
- A210-1AY 3.6

CPU MD5 (in MiB/s, il più alto è meglio)
- A210-1AY 45.5

CPU SHA1 (in MiB/s, il più alto è meglio)
- A210-1AY 63.9

CPU BlowFish (in secondi, il più basso è meglio)
- A210-1AY 17.15

CPU FPU Raytrace (in secondi, il più basso è meglio)
- A210-1AY 12.5


SINCRONIZZIAMO I RISULTATI DEI BENCHMARK

Una volta che abbiamo effettuato i test possiamo confrontarli con quelli ottenuti dagli altri utenti. In questo modo avremo un confronto diretto con altre macchine oltre alle 2 che vengono riportate automaticamente.

Menù "Information -> Network Updater", e quindi clicchiamo su syncronize.

Se ora andiamo sulle schede dei benchmark avremo una posizione del nostro processore rispetto a molti altri!

Un breve riassunto di quello che ho potuto notare:


CPU ZLib (in KiB/s, il più alto è meglio):
Siamo ad anni luce di distanza da tutti i computer del confronto, anche dagli Intel Pentium M a 2,26GHz (che però hanno solo un core).

CPU Fibonacci (in secondi, il più basso è meglio):
Il risultato non è dei migliori ma le macchine del confronto sono desktop e molto prestanti.

CPU MD5 (in MiB/s, il più alto è meglio)
Come per il test ZLib siamo decisamente sopra alle altre macchine del confronto che però hanno dei vecchi processori ed un solo core.

CPU SHA1 (in MiB/s, il più alto è meglio)
Come MD5. Tra le macchine qui c'è anche un vecchio Pentium MMX... Il suo risultato è 3.6... ne abbiamo fatta di strada!

CPU BlowFish (in secondi, il più basso è meglio)
Questo, insieme a Fibonacci e l'FPU Raytracing è un altro dei benchmark che vanno di moda sulle macchine moderne. Anche qui abbiamo una posizione bassa ma le macchine del confronto sono dei mostri!

FPU Raytrace (in secondi, il più basso è meglio)
In questo benchmark la nostra posizione non è niente male. Pur avendo macchine desktop a confronto e non notebook, i risultati ottenuti sono ottimi. Con il risultato ottenuto pur avendo la macchina leggermente carica di programmi siamo comunque davanti ad un altro AMD TL-64, ad un Intel Core2 Duo T9300 e ad una macchina con 16 processori Intel Xeon a 3,4GHz!
Sembra quindi che i processori AMD continuino ad essere ottimi sui calcoli in virgola mobile.

Curiosità: a fare quest'ultimo bench (è un benchmark scritto da John Walker nel 1980), un commodore 128 (processore a 2MHz) impiegava 3466 secondi!!!


Ripeterò i test questa sera con il computer in condizioni ottimali e così vedremo se i risultati sono diversi da quelli ottenuti ora.

Nel frattempo un paio di shots




Resto in attesa dei vostri risultati con l'A210-1AY e soprattutto con l'A210-1AX. Appena avremo installato gentoo verranno pubblicati i nuovi risultati e faremo il confronto con quelli ottenuti su Ubuntu.

venerdì 4 aprile 2008

Più prestazioni dalla scheda video! Aggiornare driver ATI Mobility Radeon HD2600 Vista

Generalmente quando un produttore realizza un nuovo portatile cerca di includere le ultime tecnologie disponibili per renderlo più appetibile al mercato.
Il nuovo hardware però si sà che non viene mai sfruttato al massimo dai primi driver con cui viene venduto... per farlo rendere al massimo devono passare alcuni mesi e naturalmente c'è bisogno di installare i driver più recenti a disposizione.

Purtroppo i produttori di notebook (tra cui ad esempio la Toshiba) non amano affidare il supporto per i "loro" prodotti a società esterne e quindi vietano al produttore dell'hardware di rilasciare driver compatibili con il loro sistema.

LA SOLUZIONE

Per fortuna il modo di aggirare queste mosse di marketing c'è e nel caso della nostra scheda video si chiama Mobility Modder.

Questo programma permette di modificare i driver rilasciati da ATI (siano essi per XP o per Vista) per far si che essi possano essere installati sui portatili.

INSTALLIAMO I NUOVI DRIVER CON MOBILITY MODDER

Disinstalliamo i vecchi driver della scheda video.

Scarichiamo e installiamo MSXML 4.0 dal sito Microsoft.

Scarichiamo l'ultima versione di Mobility Modder (potete prenderla qui).

Se abbiamo Vista assicuriamoci di avere l'UAC disattivato (può essere riattivato al termine della procedura). Per disattivarlo potete seguire questa guida (il punto 4 è il più semplice)

Scarichiamo l'ultima versione dei driver ATI dal sito ufficiale http://ati.amd.com/

Facciamo partire l'installazione dei driver ATI ma annulliamola appena tutti i file sono stati scompattati. Facciamo in modo che i driver vengano estratti nella cartella c:\ATI\SUPPORT.

A questo punto avviamo Mobility Modder, mandiamolo nella cartella con i driver (ad esempio C:\ATI\SUPPORT\7-4_vista32_dd_ccc_enu_44985) clicchiamo su modifica ed aspettiamo che i driver siano stati modificati.

Entriamo nella cartella dei driver (ad esempio C:\ATI\SUPPORT\7-4_vista32_dd_ccc_enu_44985) e avviamo il programma SETUP.EXE
(Vedremo una scritta che dice che non sono certificati, ignoriamola, è un effetto della modifica)

Riavviamo il PC ed è fatta ecco i nostri driver nuovi nuovi.

Driver Wireless Atheros AR5006EG su Ubuntu

Come avrete potuto notare all'avvio di ubuntu, la scheda wireless viene rilevata dal sistema che, in automatico, ne abilità i driver proprietari per farla funzionare. Ma non funziona!

Per qualche strano motivo i driver proprietari Atheros ad oggi (04/04/2008) non supportano il chipset montato sulla nostra scheda wireless, l'AR5006EG.

Nel frattempo per farla funzionare useremo un escamotage, ndiswrapper.

NDISWrapper è un utilissimo programmino (e modulo del kernel di linux) che permette di utilizzare i driver per windows di una scheda di rete su linux. Fortunatamente con la nostra scheda funziona piuttosto bene.

ELIMINIAMO I VECCHI DRIVER

Poichè due driver installati ed attivi per lo stesso dispositivo non sono una scelta intelligente, rimuoviamo i driver che ubuntu ci ha installato automaticamente per far spazio ai nostri driver.

Per far questo andiamo su "Sistema -> Amministrazione -> Gestore driver con restrizioni" e togliamo lo spunto ai driver atheros.

Per essere sicuri che non vengano caricati per nessun motivo all'avvio, modifichiamo il file /etc/modprobe.d/blacklist con il comando:
sudo gedit /etc/modprobe.d/blacklist
Aggiungendo alla fine del file le righe:
blacklist ath_pci
blacklist ath_hal

Salviamo e riavviamo il sistema. Ora siamo pronti per l'installazione.

INSTALLIAMO NDISWRAPPER

Nei repository di ubuntu c'è già la versione impacchettata di ndiswrapper. L'installazione risulta quindi semplicissima: da un terminale diamo i comandi
sudo apt-get install ndiswrapper-common
sudo apt-get install ndiswrapper-utils-1.9
PROCURIAMOCI I DRIVER PER WINDOWS

Poichè il nostro ubuntu è la versione a 64bit, avremo bisogno dei driver per windows a 64 bit. Li possiamo scaricare da qui.

Estraiamo i driver in una cartella a nostra scelta (io li ho messi in /root/ar5006eg, notare che bisogna avere i privilegi di amministratore per accedere a root) e posizioniamoci li.

A questo punto diamo il comando
ndiswrapper -i net5211.inf
e verifichiamo che tutto sia andato a buon fine assicurandoci che il comando
ndiswrapper -l
ritorni come output
net5211 : driver installed
device (168C:001C) present (alternate driver: ath_pci)
CONFIGURAZIONE

A questo punto non ci resta che attivare i driver. Dobbiamo dare alcuni comandi per farlo ma dopo averli dati questi verranno caricati automaticamente all'avvio e la wireless funzionerà in modo trasparente.
sudo ndiswrapper -ma && sudo ndiswrapper -mi
echo "ndiswrapper" >> /etc/modules
Infine apriamo il file /etc/rc.local per caricare il MAC all'avvio di Ubuntu.
sudo gedit /etc/rc.local
Inseriamo questa riga prima della riga "exit 0" e salviamo:
/sbin/ifconfig wlan0 hw ether xx:xx:xx:xx:xx:xx
Dobbiamo sostituire xx:xx:xx:xx:xx:xx con il MAC della nostra scheda wireless, potete procurarvelo in windows oppure dalla pagina di configurazione del vostro access point (mentre siete connessi alla wireless con windows).

Bene siamo arrivati alla fine.
Non ci resta che riavviare il sistema un ultima volta e goderci la wireless nella nostra nm-applet!

giovedì 3 aprile 2008

Disattivare usplash su Ubuntu

All'avvio del sistema sarete abituati alla classica barra di progressione che ne mostra l'avanzamento. Questo effetto, con ubuntu, è realizzato mediante un pacchetto chiamato usplash.

Purtroppo ad oggi questo non è compatibile con i sistemi a 64 bit e quindi se lo lasciamo attivo vedremo una schermata nera fino a che il sistema non è completamente carico e gdm (il login manager predefinito di gnome) fà la sua comparsa.

PERCHE' DISATTIVARE USPLASH?

A parte il fatto che restare in attesa davanti ad una schermata vuota mette una certa ansia, c'è un motivo in più per disattivare usplash: linux all'avvio controlla automaticamente i dischi fissi.

Ogni un certo numero di "mount" oppure in caso di situazioni anomale (ad esempio se il pc era stato spento in maniera errata) verrà avviato un sistema di controllo approfondito del disco per ricercare gli errori.

Questo sistema impiega un pò di tempo per fare lo scanning (anche perchè il nostro portatile è abbastanza capiente e quindi ce n'è di roba da controllare :) ) e il risultato viene oscurato da usplash. Insomma periodicamente capiterà che ci troviamo per più di un minuto davanti ad una schermata nera... che fare? riavvio?
No, dato che interrompere il processo di controllo dei dischi con un brutale Ctrl+Alt+Canc causerà il riavvio dello stesso al prossimo boot...

Usplash nasconde inoltre molte informazioni che possono tornare utili mentre si testano i driver o nuovi servizi installati.

DISATTIVIAMO USPLASH

L'avvio di USplash è deciso da GRUB, il nostro boot manager.
Per disattivarlo dobbiamo quindi modificare il suo file di configurazione:
/boot/grub/menu.lst
Apriamolo con un editor di testo in modalità amministratore.
Da un terminale (shell) digitiamo
sudo gedit /boot/grub/menu.lst
Una volta che l'editor si è avviato cerchiamo nel file i blocchi con le istruzioni relative all'avvio del sistema:
title Ubuntu, kernel 2.6.17-10-generic
root (hd0,4)
kernel /boot/vmlinuz-2.6.17-10-generic root=/dev/sda5 ro quiet splash
initrd /boot/initrd.img-2.6.17-10-generic
quiet
savedefault
boot
Solitamente si trovano in fondo al file e sono più di una. Per disattivare usplash modifichiamo le righe kernel che contengono splash rimuovendolo.

Ad esempio:
kernel /boot/vmlinuz-2.6.17-10-generic root=/dev/sda5 ro quiet splash
diventa
kernel /boot/vmlinuz-2.6.17-10-generic root=/dev/sda5 ro quiet
Salviamo e riavviamo, ubuntu ora parte senza usplash e vedremo un milione di scritte strane :)

ATTENZIONE!! IMPORTANTE!!

Il file di grub è quello che permette al sistema di avviarsi, sia che scegliamo di far partire linux sia che scegliamo di far partire windows.
Non cancellate ne modificate niente che non conoscete!
Maneggiatelo con attenzione: potreste non essere in grado di avviare il sistema!

mercoledì 2 aprile 2008

Informazioni sul sistema - lsmod

Ecco il risultato di "lspci" lanciato sul nostro Toshiba A210-1AY. Da qui si possono prendere un sacco di informazioni utili per la ricerca dei driver.
00:00.0 Host bridge: ATI Technologies Inc RS690 Host Bridge
00:02.0 PCI bridge: ATI Technologies Inc RS690 PCI to PCI Bridge (PCI Express Graphics Port 0)
00:05.0 PCI bridge: ATI Technologies Inc RS690 PCI to PCI Bridge (PCI Express Port 1)
00:06.0 PCI bridge: ATI Technologies Inc RS690 PCI to PCI Bridge (PCI Express Port 2)
00:07.0 PCI bridge: ATI Technologies Inc RS690 PCI to PCI Bridge (PCI Express Port 3)
00:12.0 SATA controller: ATI Technologies Inc SB600 Non-Raid-5 SATA
00:13.0 USB Controller: ATI Technologies Inc SB600 USB (OHCI0)
00:13.1 USB Controller: ATI Technologies Inc SB600 USB (OHCI1)
00:13.2 USB Controller: ATI Technologies Inc SB600 USB (OHCI2)
00:13.3 USB Controller: ATI Technologies Inc SB600 USB (OHCI3)
00:13.4 USB Controller: ATI Technologies Inc SB600 USB (OHCI4)
00:13.5 USB Controller: ATI Technologies Inc SB600 USB Controller (EHCI)
00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 14)
00:14.1 IDE interface: ATI Technologies Inc SB600 IDE
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia
00:14.3 ISA bridge: ATI Technologies Inc SB600 PCI to LPC Bridge
00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:00.0 VGA compatible controller: ATI Technologies Inc M76 [Radeon Mobility HD 2600 Series]
01:00.1 Audio device: ATI Technologies Inc RV630/M76 audio device [Radeon HD 2600 Series]
0e:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E PCI Express Fast Ethernet controller (rev 01)
14:00.0 Ethernet controller: Atheros Communications, Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)
1a:04.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller
1a:04.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller
1a:04.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
1a:04.3 SD Host controller: Texas Instruments PCIxx12 SDA Standard Compliant SD Host Controller
e se non bastasse ecco il risultato di "lspci -v"
00:00.0 Host bridge: ATI Technologies Inc RS690 Host Bridge
Subsystem: Toshiba America Info Systems Unknown device ff00
Flags: bus master, 66MHz, medium devsel, latency 64

00:02.0 PCI bridge: ATI Technologies Inc RS690 PCI to PCI Bridge (PCI Express Graphics Port 0) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: 00009000-00009fff
Memory behind bridge: cfe00000-cfefffff
Prefetchable memory behind bridge: 00000000d0000000-00000000dfffffff
Capabilities: [50] Power Management version 3
Capabilities: [58] Express Root Port (Slot+) IRQ 0
Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
Capabilities: [b0] Subsystem: Toshiba America Info Systems Unknown device ff00
Capabilities: [b8] HyperTransport: MSI Mapping

00:05.0 PCI bridge: ATI Technologies Inc RS690 PCI to PCI Bridge (PCI Express Port 1) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=08, subordinate=0d, sec-latency=0
Capabilities: [50] Power Management version 3
Capabilities: [58] Express Root Port (Slot+) IRQ 0
Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
Capabilities: [b0] Subsystem: Toshiba America Info Systems Unknown device ff00
Capabilities: [b8] HyperTransport: MSI Mapping

00:06.0 PCI bridge: ATI Technologies Inc RS690 PCI to PCI Bridge (PCI Express Port 2) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=0e, subordinate=0e, sec-latency=0
I/O behind bridge: 0000a000-0000afff
Memory behind bridge: cf800000-cf8fffff
Prefetchable memory behind bridge: 0000000088000000-00000000880fffff
Capabilities: [50] Power Management version 3
Capabilities: [58] Express Root Port (Slot+) IRQ 0
Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
Capabilities: [b0] Subsystem: Toshiba America Info Systems Unknown device ff00
Capabilities: [b8] HyperTransport: MSI Mapping

00:07.0 PCI bridge: ATI Technologies Inc RS690 PCI to PCI Bridge (PCI Express Port 3) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=14, subordinate=14, sec-latency=0
Memory behind bridge: cfc00000-cfcfffff
Capabilities: [50] Power Management version 3
Capabilities: [58] Express Root Port (Slot+) IRQ 0
Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
Capabilities: [b0] Subsystem: Toshiba America Info Systems Unknown device ff00
Capabilities: [b8] HyperTransport: MSI Mapping

00:12.0 SATA controller: ATI Technologies Inc SB600 Non-Raid-5 SATA (prog-if 01 [AHCI 1.0])
Subsystem: Toshiba America Info Systems Unknown device ff00
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 22
I/O ports at 8440 [size=8]
I/O ports at 8434 [size=4]
I/O ports at 8438 [size=8]
I/O ports at 8430 [size=4]
I/O ports at 8400 [size=16]
Memory at cf5f6c00 (32-bit, non-prefetchable) [size=1K]
Capabilities: [60] Power Management version 2

00:13.0 USB Controller: ATI Technologies Inc SB600 USB (OHCI0) (prog-if 10 [OHCI])
Subsystem: Toshiba America Info Systems Unknown device ff00
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 16
Memory at cf5fb000 (32-bit, non-prefetchable) [size=4K]

00:13.1 USB Controller: ATI Technologies Inc SB600 USB (OHCI1) (prog-if 10 [OHCI])
Subsystem: Toshiba America Info Systems Unknown device ff00
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 17
Memory at cf5fa000 (32-bit, non-prefetchable) [size=4K]

00:13.2 USB Controller: ATI Technologies Inc SB600 USB (OHCI2) (prog-if 10 [OHCI])
Subsystem: Toshiba America Info Systems Unknown device ff00
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 18
Memory at cf5f9000 (32-bit, non-prefetchable) [size=4K]

00:13.3 USB Controller: ATI Technologies Inc SB600 USB (OHCI3) (prog-if 10 [OHCI])
Subsystem: Toshiba America Info Systems Unknown device ff00
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 17
Memory at cf5f8000 (32-bit, non-prefetchable) [size=4K]

00:13.4 USB Controller: ATI Technologies Inc SB600 USB (OHCI4) (prog-if 10 [OHCI])
Subsystem: Toshiba America Info Systems Unknown device ff00
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 18
Memory at cf5f7000 (32-bit, non-prefetchable) [size=4K]

00:13.5 USB Controller: ATI Technologies Inc SB600 USB Controller (EHCI) (prog-if 20 [EHCI])
Subsystem: Toshiba America Info Systems Unknown device ff00
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 19
Memory at cf5f6800 (32-bit, non-prefetchable) [size=256]
Capabilities: [c0] Power Management version 2
Capabilities: [e4] Debug port

00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 14)
Subsystem: Toshiba America Info Systems Unknown device ff00
Flags: 66MHz, medium devsel
I/O ports at 8410 [size=16]
Capabilities: [b0] HyperTransport: MSI Mapping

00:14.1 IDE interface: ATI Technologies Inc SB600 IDE (prog-if 8a [Master SecP PriP])
Subsystem: Toshiba America Info Systems Unknown device ff00
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 16
I/O ports at 01f0 [size=8]
I/O ports at 03f4 [size=1]
I/O ports at 0170 [size=8]
I/O ports at 0374 [size=1]
I/O ports at 8420 [size=16]

00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia
Subsystem: Toshiba America Info Systems Unknown device ff08
Flags: bus master, slow devsel, latency 64, IRQ 16
Memory at cf5fc000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 2

00:14.3 ISA bridge: ATI Technologies Inc SB600 PCI to LPC Bridge
Subsystem: Toshiba America Info Systems Unknown device ff00
Flags: bus master, 66MHz, medium devsel, latency 0

00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge (prog-if 01 [Subtractive decode])
Flags: bus master, 66MHz, medium devsel, latency 64
Bus: primary=00, secondary=1a, subordinate=1e, sec-latency=64
Memory behind bridge: cfa00000-cfafffff

00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
Flags: fast devsel
Capabilities: [80] HyperTransport: Host or Secondary Interface

00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
Flags: fast devsel

00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
Flags: fast devsel

00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
Flags: fast devsel
Capabilities: [f0] #0f [0010]

01:00.0 VGA compatible controller: ATI Technologies Inc M76 [Radeon Mobility HD 2600 Series] (prog-if 00 [VGA controller])
Subsystem: Toshiba America Info Systems Unknown device ff00
Flags: bus master, fast devsel, latency 0, IRQ 3
Memory at d0000000 (32-bit, prefetchable) [size=256M]
I/O ports at 9000 [size=256]
Memory at cfef0000 (32-bit, non-prefetchable) [size=64K]
[virtual] Expansion ROM at cfe00000 [disabled] [size=128K]
Capabilities: [50] Power Management version 3
Capabilities: [58] Express Legacy Endpoint IRQ 0
Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-

01:00.1 Audio device: ATI Technologies Inc RV630/M76 audio device [Radeon HD 2600 Series]
Subsystem: ATI Technologies Inc RV630/M76 audio device [Radeon HD 2600 Series]
Flags: bus master, fast devsel, latency 0, IRQ 19
Memory at cfeec000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 3
Capabilities: [58] Express Legacy Endpoint IRQ 0
Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-

0e:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E PCI Express Fast Ethernet controller (rev 01)
Subsystem: Toshiba America Info Systems Unknown device ff00
Flags: bus master, fast devsel, latency 0, IRQ 507
I/O ports at a000 [size=256]
Memory at cf8ff000 (64-bit, non-prefetchable) [size=4K]
[virtual] Expansion ROM at 88000000 [disabled] [size=128K]
Capabilities: [40] Power Management version 2
Capabilities: [48] Vital Product Data
Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable+
Capabilities: [60] Express Endpoint IRQ 0
Capabilities: [84] Vendor Specific Information

14:00.0 Ethernet controller: Atheros Communications, Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)
Subsystem: Askey Computer Corp. Unknown device 7128
Flags: bus master, fast devsel, latency 0, IRQ 19
Memory at cfcf0000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [40] Power Management version 2
Capabilities: [50] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
Capabilities: [60] Express Legacy Endpoint IRQ 0
Capabilities: [90] MSI-X: Enable- Mask- TabSize=1

1a:04.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller
Subsystem: Toshiba America Info Systems Unknown device ff00
Flags: bus master, medium devsel, latency 168, IRQ 20
Memory at cfafb000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=1a, secondary=1b, subordinate=1e, sec-latency=176
Memory window 0: 8c000000-8ffff000 (prefetchable)
Memory window 1: 90000000-93fff000
I/O window 0: 00001400-000014ff
I/O window 1: 00001800-000018ff
16-bit legacy interface ports at 0001

1a:04.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller (prog-if 10 [OHCI])
Subsystem: Toshiba America Info Systems Unknown device ff00
Flags: bus master, medium devsel, latency 64, IRQ 21
Memory at cfaf9800 (32-bit, non-prefetchable) [size=2K]
Memory at cfafc000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [44] Power Management version 2

1a:04.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
Subsystem: Toshiba America Info Systems Unknown device ff00
Flags: bus master, medium devsel, latency 64, IRQ 22
Memory at cfafa000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2

1a:04.3 SD Host controller: Texas Instruments PCIxx12 SDA Standard Compliant SD Host Controller (prog-if 01)
Subsystem: Toshiba America Info Systems Unknown device ff00
Flags: bus master, medium devsel, latency 64, IRQ 22
Memory at cfaf9400 (32-bit, non-prefetchable) [size=256]
Capabilities: [80] Power Management version 2

ATI Mobility Radeon HD 2600 e Ubuntu

Come detto nell'installazione di ubuntu, una delle prime cose fastidiose che si fà notare all'avvio è la risoluzione impostata in modo errato.
Sinceramente non ho verificato se sia possibile cambiarla mantenendo i driver associati da ubuntu alla nostra scheda video dato che l'installazione dei driver corretti per la nostra scheda è comunque un passo necessario.

Ci sono due progetti che supportano la nostra scheda: da una parte c'è ATI con i suoi driver proprietari, dall'altra c'è il progetto radeonhd open source.

RadeonHD è a mio avviso per ora troppo giovane per competere con i driver ATI, a livello di prestazioni tra i due c'è un abisso.

DRIVER PROPRIETARI ATI E IL GESTORE DI UBUNTU

Ubuntu fornisce un gestore dei "restricted drivers" molto comodo ed efficiente.
E' possibile raggiungerlo nel menù "System->Administration->Restricted Drivers Manager"

Se dal manager dei driver appena aperto vediamo la voce corrispondente alla scheda video ATI sarà sufficiente spuntarla e il sistema procederà automagicamente a scaricare gli ultimi driver proprietari e ad installarli sul sistema, configurando poi Xorg in modo automatico.

Appena avrà finito l'installazione riavviamo il sistema e ci troveremo con l'accellerazione grafica abilitata!

DRIVER PROPRIETARI ATI ED ENVY-NG

Il sistema automatico di Ubuntu potrebbe non sempre rilevare in modo corretto la scheda video (ad esempio con Ubuntu 7.10 non me la rileva :( ). C'è comunque un modo automatizzato e pulito per gestire i nostri driver: si chiama ENVY.

ENVY (fino ad ubuntu 7.10) ed ENVY-NG (per ubuntu 8.04) sono dei programmini scritti in python da un autore italiano e si occupano di installare / disinstallare i driver video per le schede ATI o NVIDIA e di configurare poi automaticamente il file xorg.conf.

Procurarsi ENVY

Andiamo sul sito di Alberto Milone (l'autore di Envy) e scarichiamo l'ultima versione disponibile del programma.
Questo è già impacchettato in formato deb e l'installazione è quindi immediata: basta fare doppio click sul file appena scaricato.

Installare i drivers

Avviamo Envy (troviamo la voce nel menù Applicazioni) e clicchiamo sul pulsante per l'installazione dei driver ATI.
Durante il processo di installazione Envy ci chiederà se vogliamo che sia lui a configurare il file xorg.conf per noi. Rispondiamo si.

Appena avrà finito l'installazione riavviamo il sistema e ci troveremo con l'accellerazione grafica abilitata!

Envy installa anche il pannello di controllo ATI (Ati Control Center). Una volta riavviato il sistema possiamo utilizzarlo per verificare che effettivamente tutto sia andato per il meglio.

martedì 1 aprile 2008

Ubuntu linux e l'A210-AY

Sebbene la dotazione hardware possa sembrare un pò ostica per l'installazione di linux (in particolare per la scheda video ATI e per la scheda wireless Atheros), il pinguino sembra non avere problemi a girare sul nostro notebook e rispetto a Vista è decisamente più reattivo e prestante.

Installazione del sistema

Come prima prova per testare la compatibilità dell'hardware ho scelto una distribuzione dall'installazione rapida. Sono un amante di GNOME e un grande estimatore del gestore di pacchetti Synaptic, ecco perchè la scelta è ricaduta su Ubuntu linux.

Una volta scaricato e masterizzato il cd di ubuntu 8.04 beta per amd64 (la versione definitiva uscirà tra meno di 30 giorni) ho messo il cd nel tray ed ho riavviato il sistema. Premendo F12 alla schermata iniziale (quella in cui si legge Toshiba leading innovation per intenderci) si accede al menù per la selezione del dispositivo di boot. Naturalmente dobbiamo scegliere di avviare da cd.

Subito appare il menù principale del cd di installazione di ubuntu. Selezioniamo la prima voce e premiamo invio.
Inizia a caricarsi la live cd dalla quale avremo una prima impressione del sistema.

Generalmente, soprattutto con hardware nuovi, al momento di avvio del server grafico c'è qualche problema... Non è questo il caso! In breve tempo veniamo proiettati sul desktop di ubuntu in tutto il suo splendore!

Vista la prima impressione (OTTIMA a parte il supporto per un paio di periferiche) procediamo subito all'installazione facendo doppio click sull'apposita icona che troviamo sul desktop.

Una semplice procedura grafica ci guida nel processo di installazione che fila liscio e senza alcun problema.

NOTA
La parte più delicata del processo di installazione è la realizzazione delle partizioni. Questo è l'unico momento in cui dovete sapere bene quello che fate! Se non l'avete mai fatto seguite qualche tutorial su internet o, se vi è possibile, fatevi assistere da qualcuno che ha un pò di esperienza nell'installazione di linux o rischiate di perdere i vostri dati!

Risultato: in meno di un ora Ubuntu è installato sul nostro PC!

Riavviamo il PC e vediamo a che punto è il sistema.

Il primo avvio

Sebbene Ubuntu sia nota per la sua ottima compatibilità con l'hardware, il nostro portatile è molto recente ed è logico aspettarsi che non tutti i dispositivi siano pienamente compatibili da subito.
Incredibile ma vero funziona quasi tutto!

Da subito:
- processore: riconosciuto correttamente, lo scaling è pienamente compatibile
- batteria: riconosciuta correttamente
- scheda wired LAN: riconosciuta correttamente
- audio: eccellente, riconosciuto correttamente
- webcam: riconosciuta correttamente

Dopo l'installazione dei driver:
- la scheda video
- la scheda wireless

Non sono ancora stati testati:
- driver synaptic per il touchpad (dovrebbero permettere la programmazione dello stesso)
- bluetooth
- lettore memory cards
- uscita tv/monitor
- firewire
- infrarossi

Una delle cose più sgradevoli è che la risoluzione non è impostata correttamente. Non c'è da preoccuparsi, basta installare i driver per la scheda video.
La scheda di rete wireless (ad oggi) non funziona con i driver forniti. Niente paura, risolviamo anche quello attraverso ndiswrapper.

Ora non ci resta che iniziare i test e installare i driver per l'hardware che non è stato riconosciuto.
Per ogni driver da installare a parte troverete un post nel blog.
Al termine dell'installazione dei driver vedremo di fare una configurazione del kernel personalizzata per ottimizzare le prestazionii e l'uso delle risorse.

Il blog

Questo blog vuole essere un diario che raccoglie le mie esperienze e le vostre considerazioni/commenti riguardo ad uno dei portatili con il miglior rapporto qualità/prestazioni/prezzo del momento (marzo/aprile 2008).

In particolare vedremo di esaminare alcuni trucchetti per snellire il sistema, gli aggiornamenti da farci per renderlo più veloce e reattivo e l'installazione di linux.

Ogni commento ed ogni suggerimento è ben accetto, questo blog nasce dall'esperienza personale e dalle discussioni su vari forum.