continua (next page) main index My Fujitsu-Stylistic ST5022 pages are here!


Note di installazione di Linux (SuSE 10.3) sul Fujitsu-Siemens Stylistic ST5022.

L'installazione è stata abbastanza facile (cfr. qui, anche se in inglese): tutta la difficoltà era nel setup di un server tftp e nell'uso di una connessione internet via ethernet (facile, per chi ha un'ADSL e un router). Il tutto diventa ovviamente ancora più facile per chi ha un lettore DVD su porta USB, oppure la docking station.


Tasti funzione (6+4 tasti esterni): con i kernel SUSE non vanno

Ci vuole un driver che li legga dall'ACPI e li passi all'HID (human interface device) driver di Linux. Il driver c'è, ma non trova i tasti (anche usando le stringhe FUJ02BF, FUJ02B1, FUJ02E1 non c'è stato verso di fargli trovare i tasti). Non so dire se un kernel più recente del 2.6.22 usato dalla SuSE 10.3 possa cambiare qualcosa. In /proc/acpi/buttons si vede solo il power-button.

Ho scritto all'autore del driver per avere qualche suggerimento (con tutta la sporta di pignolerie tecniche del caso) ma tragicamente il tedescone ancora non mi ha degnato di una riga!

Nota di cronaca: il driver per Windows, nella sua sezione .INF, fa riferimento alla sola ACPI\FUJ02BF.
Importante: se ricompilo un vecchio kernel (per esempio il 2.6.13.5) riesco a compilare e utilizzare fjbtndrv 1.0 (caricato il quale, i tasti appaiono nella catena di eventi HID). Siccome non conviene "downgradare" il kernel (sia per la sicurezza, sia per i software già installati che fanno riferimento a versioni più recenti, sia per l'assenza del driver WiFi: insomma, si pasticcerebbe troppo), allora dovrò trovare qualche altra soluzione (che troverete presto -spero- su queste stesse pagine).
Finalmente, scopro che il problema è del kernel di OpenSuSE: ricompilando un kernel più recente, ottengo infatti che funziona tutto. Ecco cosa avevo scritto al tedescone (che anche a questa non mi ha risposto):
OpenSuSE comes with a modified 2.6.17 kernel, which makes your fsc_btns 1.21 exit with error ENODEV (they messed up some ACPI stuff).

I compiled a stock kernel (2.6.24.3) enabling all ACPI things, and got fsc_btns 1.21 working without modifications. After "insmod", I got these dmesg messages:

   fsc_btns: found: Fujitsu Siemens Stylistic ST5xxx Series
   input: fsc tablet buttons as /class/input/input6

Using "/bin/showkey" utility in a KDE Terminal window, I can get correct keypresses/releases for all of the 6+4+1 keys of the ST5022, including the "FN" key and the "KEYLOCK" key with "shift"-like timings (your delays).

The power button emits a scancode as well (116), and OpenSuSE catches it as "turn off the computer".

La mappatura di default del driver fsc_btns 1.21 (cfr. anche dal kernel Linux /usr/include/linux/input.h) è:

Dunque in totale sono 1+6+4=11 tasti, di cui due utilizzabili come modificatori (ALT e CTRL), ottenendo perciò 9 tasti nelle quattro possibili combinazioni (normale, con ALT, con CTRL, e con pressione prolungata).

Purtroppo i tasti vengono riportati solo come... "tastiera". Ho tentato di assegnare un evento diverso: volevo il tasto destro del mouse, o almeno il tasto "destro" del pennino -stylus- ma non ci sono riuscito (occorre modificare qualcos'altro oltre alla tabella degli scancode presente in fsc_btns.c).


Porte a infrarossi ancora non provate

Devo ancora provare... per adesso non ne sento alcuna stringente necessità. Proverò appena ho tempo con il P900 e i vecchi appunti recuperati dalle pagine sull'Asus.


Doppio microfono: OK

Funziona bene (basta smanettare un pò col volume, usando il mixer del KDE). Non ho provato ancora a vedere che differenza c'è con il "3D stereo" e il "mono mix".

Problemino: anche usando l'input-gain al massimo, bisogna gridare abbastanza forte per registrare la propria voce a distanza di mezzo metro dal microfono.


Scheda PCMCIA TV con chipset SAA713x e tuner Philips TDA8290: ok, ma ancora non provata con un'antenna seria

Ho comprato una scheda TV economica su slot PCMCIA ed il kernel Linux compilato per la SuSE 10.3 non ce la faceva a riconoscerla (diceva "tuner unknown").

Un rapido sguardo nei sorgenti di Linux, e vi trovo in include/media/tuner.h la lista dei tuner supportati dal kernel (presumibilmente tutti compilati dalla SuSE) e lì vedo che il TDA8290 è definito come "54". Perciò ho aggiunto in /etc/init.d/boot.local (l'equivalente del rc.local di altre distribuzioni Linux) il comando:
modprobe saa7134 tuner=54

Nota: il chipset mi viene riconosciuto come "7130", ma il modulo si chiama saa7134 (ovviamente la scheda PCMCIA va inserita dopo il termine del boot, pressappoco quando comincia a caricare il KDE).

Per la cronaca, il kdetv non ce la fa a recuperare il video. In compenso xawtv ci riesce (anche se per ora senza audio), con questi parametri: TV-norm: PAL-DK (chissà perché in danese gli va più a genio che in italiano), video-source: television (ovviamente), frequency-table: europe-west (ovviamente), capture: overlay.
Funziona! Nel kdetv è sufficiente scegliere in Settings, Configure KDETV, Video, Video4Linux plugin, Configure Selected Plugin, Grab/Display Method: "X11".

MPlayer e RealPlayer: OK, ma solo col driver "x11"

Ho compilato MPlayer, ma apparentemente non trovava la traccia video dei file .rmvb - per questo è bastato installare il RealPlayer 10 fornito dalla SuSE, e poi linkarne i driver laddove li cerca MPlayer:
cd /usr/lib/win32
ln -s /usr/lib/RealPlayer10/codecs/* .

Nel caso che la finestra video esca tutta blu, significa che il driver video di default di MPlayer (cioè xv) non è supportato dal driver della scheda grafica (tragedia! era il miglior compromesso tra accelerazione hardware e compatibilità).

In questo caso basta provarne qualcun altro; tra quelli disponibili, il driver x11 è il più lento ma sicuramente il più compatibile di tutti; vale la pena provare con gli altri (gl, etc; non ovviamente quelli null e quelli che non fanno output a video ma altrove). Per esempio:
mplayer -vo help
mplayer -vo x11 vedi-napoli-e-poi-muori.rmvb

Se il driver gl appare "scattoso", significa che l'accelerazione grafica non è supportata da Xorg (il glxgears restituisce valori ridicoli quando si usa una finestra full-screen).

Il driver dga è considerato obsoleto.

Nella directory .mplayer nella mia home, ho messo nel file config le opzioni:
vo=x11
fs=1
vf=scale=1024:-2

Cioè: assumere per default "video output: X11", "full screen", e video filter: software scaler a 1024 pixel (tutta la larghezza del video) e mantenendo il rapporto x/y originale (ecco cosa significa -2; il resto dei dettagli li trovate nella pagina di manuale di mplayer).

Mentre nel file input.conf ho definito:
MOUSE_BTN0 pause
MOUSE_BTN0_DBL quit

In questo modo posso associare ai file AVI e RMVB il comando mplayer e ottenerli sempre in fullscreen (grazie a fs=1) e usando il pennino per fare pausa o per uscire (rispettivamente con una cliccata o con una doppia cliccata). Sarebbe più comodo usare i tasti funzione, ma per ora devo accontentarmi di questo.

Aggiornamento: il problema di xv è nel driver Intel 855GM, che di default usa xv solo sulla porta VGA-out anziché sullo schermo LCD. Pertanto dobbiamo aspettare l'aggiornamento a Xorg 7.4, che parrebbe aver corretto il problema.

Xorg 7.2: non è una scheggia ma funziona

Il contenuto del mio /etc/X11/xorg.conf (aggiornato a marzo 2008) è in questa pagina.

Da notare che quando Xorg parte, tra le altre cose segnala:
(==) Wacom using pressure threshold of 15 for button 1
(==) Wacom General ISDV4 tablet speed=9600 maxX=24576 maxY=18432
maxZ=255 resX=2540 resY=2540  tilt=disabled
(==) Wacom device "stylus" top X=0 top Y=0 bottom X=24576 bottom Y=18432
(==) Wacom device "eraser" top X=0 top Y=0 bottom X=24576 bottom Y=18432
(==) Wacom device "cursor" top X=0 top Y=0 bottom X=24576 bottom Y=18432

In sintesi: il driver ISD versione 4 funziona abbastanza bene, ma nonostante siano stati indicati tutti e tre i device (penna, gomma e cursore), vedo che Gimp non nota né la "gomma" né la "pressione".

Notare i valori massimi X/Y: Xorg parte in modalità "landscape".

In effetti la modalità portrait serve solo per prendere appunti più comodamente (uno schermo largo solo 768 pixel non è adatto per "navigare" nell'internet).


Webcam con chipset OV511: funziona!

Ho una vecchia webcam Hercules con chipset OV511. Tragicamente yast non prevede webcam, e nonostante avessi installato tutti i software e driver relativi alle webcam (bastava cercare "webcam" nel package manager di yast, trascurando ovviamente i driver per SMP, XEN, debug, etc), non mi aveva neppure creato il device /dev/video0 per vederla.

Comunque, in sintesi, dopo aver agganciato la webcam la prima volta, da root basta fare così:
modprobe videodev
modprobe ov511
mknod /dev/video0 c 81 0
chmod 666 /dev/video0
xawtv

Certo che è vergognoso, per la SuSE, non prevedere un sottomenu per le webcam... Comincio a essere tentato di cambiare distribuzione Linux!

Problema risolto! Bisognava assicurarsi che il kernel supportasse le periferiche USB classe video, ed il driver gspca (oltre quello della specifica webcam); nel mio .config infatti ho:
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_GSPCA=m
CONFIG_VIDEO_USBVIDEO=m
CONFIG_USB_OV511=m

Slot SD/MMC: ancora non va...

Lo slot SD/MMC è sullo Yenta socket; con lspci -nn -v vedo:
01:0a.0 CardBus bridge [Class 0607]: O2 Micro, Inc. OZ711M3/MC3 4-in-1 MemoryCardBus Controller [1217:7223]
        Subsystem: Fujitsu Limited. Lifebook P5020D Laptop [10cf:11c4]
        Flags: bus master, stepping, slow devsel, latency 168, IRQ 11
        Memory at d0213000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=01, secondary=02, subordinate=02, sec-latency=176
        Memory window 0: 54000000-57fff000 (prefetchable)
        Memory window 1: 58000000-5bfff000
        I/O window 0: 00001000-000010ff
        I/O window 1: 00001400-000014ff
        16-bit legacy interface ports at 0001

01:0a.1 CardBus bridge [Class 0607]: O2 Micro, Inc. OZ711M3/MC3 4-in-1 MemoryCardBus Controller [1217:7223]
        Subsystem: Fujitsu Limited. Lifebook P5020D Laptop [10cf:11c4]
        Flags: bus master, stepping, slow devsel, latency 168, IRQ 11
        Memory at d0214000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=01, secondary=03, subordinate=06, sec-latency=176
        Memory window 0: 5c000000-5ffff000 (prefetchable)
        Memory window 1: 60000000-63fff000
        I/O window 0: 00002800-000028ff
        I/O window 1: 00002c00-00002cff
        16-bit legacy interface ports at 0001

01:0a.2 System peripheral [Class 0880]: O2 Micro, Inc. OZ711Mx 4-in-1 MemoryCardBus Accelerator [1217:7110]
        Subsystem: Fujitsu Limited. Unknown device [10cf:11c4]
        Flags: slow devsel, IRQ 11
        Memory at d0210000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [a0] Power Management version 2

01:0a.3 CardBus bridge [Class 0607]: O2 Micro, Inc. OZ711M3/MC3 4-in-1 MemoryCardBus Controller [1217:7223]
        Subsystem: Fujitsu Limited. Lifebook P5020D Laptop [10cf:11c4]
        Flags: bus master, stepping, slow devsel, latency 168, IRQ 11
        Memory at d0215000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=01, secondary=07, subordinate=0a, sec-latency=176
        Memory window 0: 64000000-67fff000 (prefetchable)
        Memory window 1: 68000000-6bfff000
        I/O window 0: 00003000-000030ff
        I/O window 1: 00003400-000034ff
        16-bit legacy interface ports at 0001

Anche con pccardctl ident e pccardctl info viene fuori correttamente l'identificazione dell'OZ711.

Viene insomma riportato erroneamente come "Lifebook P5020D" anche se questo è uno "Stylistic ST5022D". Presumibilmente i due hardware non sono troppo differenti. Il guaio è che anche tentando di attivare lo slot con questi comandi:
modprobe sdhci
modprobe mmc_block
...anche inserendo una Secure Digital nello slot, non succede niente: il comando dmesg non aggiunge alcuna riga; in teoria dovrebbe aggiungere qualcosa per dire che ha trovato una memory card, e la memory card dovrebbe essere almeno visibile con qualcuno di questi comandi:
fdisk -l
ls -al /sys/block
lspcmcia

Dopo un po' di ricerche in giro, vedo che sul sito MuscleCard c'è un driver open-source compilabile per il kernel Linux fino alla versione 2.6.16, che richiede la presenza del pacchetto pcsc-lite 1.2.9 (ho trovato già installata nella mia OpenSuSE 10.3 la versione 1.3.3, ma ho dovuto installare a mano il pacchetto complementare pcsc-lite-devel; nel frattempo sono uscite le versioni successive almeno fino alla 1.4.3).

Nota: pare che un dipendente della O2Micro abbia pubblicato un aggiornamento (patch) per i kernel più recenti (dal 2.6.17 in poi). La versione aggiornata, che ho verificato compilare correttamente per il kernel 2.6.24.3 è qui (sorgenti da ricompilare; hanno bisogno di pcsc-lite-devel). Ciononostante, ancora non riesco a vedere come disco esterno la SD-card.

Tragicamente, la compilazione (sia debug che release) fallisce miseramente, perché hanno fatto riferimenti espliciti a strutture del driver pcmcia obsolete, che sono scomparse presumibilmente già dal kernel 2.6.13: infatti non è bastato sostituire #include "config.h" con #include "autoconf.h" ma occorreva riscrivere la parte di inizializzazione e cambiare tutti i riferimenti a dev_link_t e alle funzioni di config/release "vecchio stile".

Anche se me la cavo abbastanza con la programmazione, devo necessariamente passare la palla a qualcuno più esperto di me... :-(

Per la cronaca, compilando col kernel 2.6.13 ottengo i seguenti messaggi di errore:
ozscrlx: disagrees about version of symbol struct_module
OZSCRLX version: O2Micro SmartCardBus Reader v2.0.1 2005/07/25
pcmcia: ozscrlx_cs lacks a requisite callback function

Pertanto occorrerebbe "downgradare" il kernel ancora di più...

Nota: non è più necessario il downgrading, poiché c'è una versione aggiornata del driver che va bene anche sugli ultimissimi kernel Linux (2.6.24 e successivi).

Aggiornamento (ottobre 2008)
Su gna.org c'è la versione 1.03, ma non cambia niente. Anche seguendo le istruzioni ("make install" di o2scr e pccardctl eject seguito poi da pccardctl insert) non succede niente: non "sente" la presenza di una SecureDigital nello slot.


In una di quelle case abitava la carissima Annalisa

home page - send e-mail - continua (next page)