Old:Intel PRO/Wireless 3945ABG : Installazione dei moduli senza kernel patching: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
{{stub}}
=Installazione moduli da repository ufficiali Debian (consigliato)=
Festival � un software di sintesi vocale, sviluppato presso il "Centre for Speech Technology Research" dell'universita' di Edinburgo. Il suo compito consiste nell' interpretare un input di tipo testuale e nel generare un output di tipo audio. Tipicamente il suo utilizzo � rivolto alle applicazioni di screen reading. E' possibile far leggere a festival un file di testo, una pagina web. E' anche possibile fare in modo che festival ci avvisi vocalmente dell' arrivo di nuove emails, ecc...
Con l'avvento sui repository Debian (stable, testing e unstable) dei pacchetti contenenti moduli, firmware e regulatory daemon, installazione e configurazione possono essere risolte mediante un semplice apt-get.
Se stiamo usando un kernel precompilato (ad esempio quello installato durante il setup di Debian, oppure scaricato tramite APT) basterà scaricare i moduli ipw3945 compilati appositamente per la versione corrente del kernel:
<pre>
apt-get install firmware-ipw3945 ipw3945d ipw3945-modules-`uname -r`
</pre>


Festival � disponibile anche con il supporto alla lingua italiana, anche se a dire il vero la qualit� audio � davvero pessima. Senza voler competere con soluzioni professionali di alto livello qualitativo e costo adeguato, � per� possibile utilizzare festival in accoppiata con il software di sintesi vocale mbrola, che dispone di audio di qualit� migliore. Vedremo in questa guida come operare.
== Caricamento del modulo ==
Il regulatory daemon, installato di default nei runlevel 2, 3, 4, 5, gestisce anche il caricamento del modulo ipw3945 nel kernel Linux; eseguendo iwconfig (come super utenti) dovremmo poter essere in grado di vedere l'interfaccia associata al chip wifi:
<pre>
eth2      unassociated  ESSID:off/any
          Mode:Managed  Channel=0  Access Point: 00:00:00:00:00:00
          Bit Rate=0 kb/s  Tx-Power=20 dBm
          RTS thr:off  Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0  Missed beacon:0
</pre>


La distribuzione di riferimento per questa guida � Debian Lenny, ma credo non ci siano problemi nell' utilizzo di Etch (o Sid).
=Installazione mediante compilazione sorgenti (sconsigliato)=
==Prerequisiti==
Prima di seguire quanto riportato nella guida, assicuriamoci di avere a nostra disposizioni gli headers per il nostro kernel. Se abbiamo compilato noi stessi il kernel, allora possiamo essere tranquilli, ma se stiamo usando un kernel precompilato (ad esempio quello installato durante il setup di Debian, oppure scaricato tramite APT) allora dobbiamo necessariamente scaricare il pacchetto Debian contenente gli headers.
Ecco come procedere:
<pre># apt-get install kernel-headers-`uname -r`</pre>


=Festival=
==Software Occorrente==
==Installazione==
* [http://bughost.org/ipw3945/ Microcode/Firmware]
Festival ed i pacchetti per l' audio italiano sono presenti negli archivi ufficiali, per cui provvediamo alla loro installazione tramite apt:
* [http://bughost.org/ipw3945/ Binary Userspace Regulatory Daemon]
<pre># apt-get install festival festvox-italp16k festvox-itapc16k</pre>
* [http://ieee80211.sourceforge.net/ Network Stack ieee80211 per kernel Linux]
* [http://ipw3945.sourceforge.net/ Drivers Intel PRO/Wireless 3945ABG per kernel Linux]
E' consigliabile scaricare le versioni stabili (quelle con numero di versione che termina con .0) dei sorgenti del driver per Intel PRO/Wireless 3945ABG e dello stack ieee80211.
Creiamoci uno spazio di lavoro in cui scaricare e compilare i sorgenti:
<pre>mkdir ipw3945</pre>


==Configurazione==
=== Compilazione e installazione del sottosistema ieee80211 ===
Ora � possibile procedere alla configurazione di festival. Procediamo con la creazione di due files nella home del nostro utente: .festivalrc e .festivalvarsrc
<pre>
tar xzvf ieee80211-1.1.14.tgz
cd ieee80211-1.1.14
make
</pre>
Potremmo essere avvisati del fatto che nel kernel installato siano già presenti componenti ieee80211:
<pre>
/lib/modules/2.6.18-3-686/net/ieee80211/ieee80211.ko
/lib/modules/2.6.18-3-686/net/ieee80211/ieee80211_crypt.ko
/lib/modules/2.6.18-3-686/net/ieee80211/ieee80211_crypt_wep.ko
/lib/modules/2.6.18-3-686/net/ieee80211/ieee80211_crypt_ccmp.ko
/lib/modules/2.6.18-3-686/net/ieee80211/ieee80211_crypt_tkip.ko
/lib/modules/2.6.18-3-686/net/ieee80211/.tmp_versions/ieee80211.mod
/lib/modules/2.6.18-3-686/net/ieee80211/.tmp_versions/ieee80211_crypt.mod
/lib/modules/2.6.18-3-686/net/ieee80211/.tmp_versions/ieee80211_crypt_wep.mod/lib/modules/2.6.18-suspend2/net/ieee80211/.tmp_versions/ieee80211_crypt_ccmp.mod
/lib/modules/2.6.18-3-686/net/ieee80211/.tmp_versions/ieee80211_crypt_tkip.mod
/lib/modules/2.6.18-3-686/include/net/ieee80211.h
/lib/modules/2.6.18-3-686/include/net/ieee80211_crypt.h
/lib/modules/2.6.18-3-686/include/net/ieee80211_radiotap.h
Above files found.  Remove? [y],n
</pre>
Rispondendo affermativamente i componenti verranno eliminati e il successivo comando make install provvederà a installare i componenti ieee80211 che stiamo compilando.
Infine (questa istruzione potrebbe necessitare dei diritti di super utente)
<pre>
make install
cd ..
</pre>
=== Compilazione e installazione del modulo ipw3945 ===
<pre>
tar xzvf ipw3945-1.1.3.tgz
cd ipw3945-1.1.3
make
</pre>
Per rendere il modulo compilato visibile al tool modprobe dobbiamo copiarlo nel path di depmod:
<pre>
cp ipw3945.ko  /lib/modules/$(uname -r)/kernel/drivers/net/wireless
depmod -a
</pre>
Ora possiamo utilizzare
<pre>modprobe ipw3945</pre>
per caricare il modulo nel kernel e
<pre>modprobe ipw3945 -r</pre>
per rimuoverlo.
== Installazione del firmware ==
<pre>
tar xzvf ipw3945-ucode-1.13.tgz
cp ipw3945-ucode-1.13/ipw3945.ucode /usr/local/lib/firmware/
</pre>
=== Installazione del regulatory daemon ===
<pre>
tar xzvf ipw3945d-1.7.22.tgz
</pre>
Per sistemi a 32 bit:
<pre>
cp ipw3945d-1.7.22/x86/ipw3945d /sbin
</pre>
Per sistemi a 64 bit:
<pre>
cp ipw3945d-1.7.22/x86_64/ipw3945d /sbin
</pre>


===.festivalrc===
== Caricamento del modulo ==
Creiamo il file ed al suo interno inseriamo i seguenti comandi
Ora che compilazione e installazione sono completate possiamo procedere al caricamento del modulo nel kernel.
<pre>(set! main-path "/usr/share/festival")
Riportiamoci nella directory del driver ipw3945:
(set! libdir main-path)
<pre>
(set! lexdir (path-append libdir "dicts"))</pre>
cd ipw3945-1.1.3
''per la voce maschile:''
</pre>
<pre>(set! voice_default 'voice_pc_diphone)</pre>
e carichiamo il modulo (ripulendo anche il log del kernel)
''per la voce femminile:''
<pre>
<pre>(set! voice_default 'voice_lp_diphone)</pre>
./load debug=0
</pre>
Eseguendo iwconfig dovremmo poter essere in grado di vedere l'interfaccia associata al chip wifi:
<pre>
# ifconfig
eth2      unassociated  ESSID:off/any
          Mode:Managed  Channel=0  Access Point: 00:00:00:00:00:00
          Bit Rate=0 kb/s  Tx-Power=20 dBm
          RTS thr:off  Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0  Missed beacon:0
</pre>


===.festivalvarsrc===
== Automatizzare l'esecuzione del regulatory daemon mediante modprobe ==
<pre>(set! main-path "/usr/share/festival")
Per farlo basta creare un file nella directory /etc/modprobe.d
(set! load-path (cons main-path load-path))</pre>
<pre>nano /etc/modprobe.d/</pre>
contenente le seguenti due righe:
<pre>
install ipw3945 /sbin/modprobe --ignore-install ipw3945 ; sleep 0.5 ; /sbin/ipw3945d --quiet
remove ipw3945  /sbin/ipw3945d --kill ; /sbin/modprobe -r --ignore-remove ipw3945
</pre>


==Test==
----
Ora possiamo provare festival:
Autore: [[Utente:fulvio|fulvio]] Feb 06, 2007
<pre>$ festival
[[Categoria:Hardware]][[Categoria:Wireless]]
Festival Speech Synthesis System 1.4.3:release Jan 2003
Copyright (C) University of Edinburgh, 1996-2003. All rights reserved.
For details type `(festival_warranty)'</pre>
Al prompt del programma diamo il comando:
<pre>festival> (SayText "Evviva Debian");         
#<Utterance 0xb7746868></pre>
Se tutto � andato bene, sentiremo la voce sintetica pronunciare la frase che abbiamo scritto.
 
=Mbrola=
Mbrola � un sintetizzatore vocale che dispone di un supporto per la lingua italiana di discreta qualit�. Procederemo ora a installarlo.
 
==Installazione==
Aggiungiamo la seguente linea al nostro /etc/apt/sources.list
<pre>### MBrola
deb http://www.brlspeak.net/dev/debian/ stable main non-free</pre>
 
Ora facciamo l' update dell' archivio dei paccheti e installiamo mbrola
<pre># apt-get update
# apt-get install mbrola</pre>
 
Scarichiamo anche il pacchetto che contiene la lingua italiana e i files necessari a integrare mbrola in festival
<pre>$ cd ~
$ wget http://superb-east.dl.sourceforge.net/sourceforge/it-festival/Italian-FESTIVAL.zip</pre>
 
==Configurazione==
Dobbiamo ora scompattare il file zip e copiarlo nella directory corretta
<pre>$ mkdir ~/mbrola
$ cd ~/mbrola
$ unzip ../Italian-FESTIVAL.zip</pre>
 
Al suo interno troviamo diversi archivi zip. Scompattiamoli uno ad uno e quindi impartiamo quest'altro comando (che provveder� a installare i files nella corretta directory di festival)
<pre>$ cd ~/mbrola/festival/lib
# cp -Rf * /usr/share/festival</pre>
 
==Aggiungere le voci in italiano==
Ora siamo pronti a scaricare ed installare le voci in italiano per mbrola.
Procediamo con quella maschile
<pre>$ wget http://tcts.fpms.ac.be/synthesis/mbrola/dba/it3/it3-010304.zip</pre>
 
e quindi con quella femminile
<pre>$ wget http://tcts.fpms.ac.be/synthesis/mbrola/dba/it4/it4-010926.zip</pre>
 
Scompattiamole
<pre>$ unzip it3-010304.zip
$ unzip it4-010926.zip</pre>
 
Con questi due comandi vengono create le directory it3 e it4. Ora dobbiamo copiarle nella posizione corretta avvinch� possano essere utilizzate da mbrola
<pre># cp -R it3/ /usr/share/festival/voices/italian/pc_mbrola
# cp -R it4/ /usr/share/festival/voices/italian/lp_mbrola</pre>
 
=Festival e Mbrola=
==Test==
Passiamo al test della nostra installazione. Avviamo festival da un terminale e impostiamo come voce quuella italiana maschile fornita da mbrola
<pre>$ festival
Festival Speech Synthesis System 1.4.3:release Jan 2003
Copyright (C) University of Edinburgh, 1996-2003. All rights reserved.
For details type `(festival_warranty)'
festival> (voice_pc_mbrola) 
pc_mbrola
festival> (SayText "Evviva Debian!");                           
#<Utterance 0xb73d0ad8></pre>
 
Per testare quella femminile, � sufficiente utilizzare il comando (voice_lp_mbrola) in sostituzione di (voice_pc_mbrola).
 
Se riteniamo questa configurazione soddisfacente, possiamo renderla permanente editando nuovamente il file .festivalrc sostituendo l' ultima riga:
<pre>(set! voice_default 'voice_pc_diphone) # maschile
(set! voice_default 'voice_lp_diphone) # femminile</pre>
 
con la corrispondente
<pre>(set! voice_default 'voice_pc_mbrola) # maschile
(set! voice_default 'voice_lp_mbrola) # femminile</pre>

Versione delle 08:54, 5 dic 2007

Installazione moduli da repository ufficiali Debian (consigliato)

Con l'avvento sui repository Debian (stable, testing e unstable) dei pacchetti contenenti moduli, firmware e regulatory daemon, installazione e configurazione possono essere risolte mediante un semplice apt-get. Se stiamo usando un kernel precompilato (ad esempio quello installato durante il setup di Debian, oppure scaricato tramite APT) basterà scaricare i moduli ipw3945 compilati appositamente per la versione corrente del kernel:

apt-get install firmware-ipw3945 ipw3945d ipw3945-modules-`uname -r`

Caricamento del modulo

Il regulatory daemon, installato di default nei runlevel 2, 3, 4, 5, gestisce anche il caricamento del modulo ipw3945 nel kernel Linux; eseguendo iwconfig (come super utenti) dovremmo poter essere in grado di vedere l'interfaccia associata al chip wifi:

eth2      unassociated  ESSID:off/any
          Mode:Managed  Channel=0  Access Point: 00:00:00:00:00:00
          Bit Rate=0 kb/s   Tx-Power=20 dBm
          RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Installazione mediante compilazione sorgenti (sconsigliato)

Prerequisiti

Prima di seguire quanto riportato nella guida, assicuriamoci di avere a nostra disposizioni gli headers per il nostro kernel. Se abbiamo compilato noi stessi il kernel, allora possiamo essere tranquilli, ma se stiamo usando un kernel precompilato (ad esempio quello installato durante il setup di Debian, oppure scaricato tramite APT) allora dobbiamo necessariamente scaricare il pacchetto Debian contenente gli headers. Ecco come procedere:

# apt-get install kernel-headers-`uname -r`

Software Occorrente

E' consigliabile scaricare le versioni stabili (quelle con numero di versione che termina con .0) dei sorgenti del driver per Intel PRO/Wireless 3945ABG e dello stack ieee80211. Creiamoci uno spazio di lavoro in cui scaricare e compilare i sorgenti:

mkdir ipw3945

Compilazione e installazione del sottosistema ieee80211

tar xzvf ieee80211-1.1.14.tgz
cd ieee80211-1.1.14
make

Potremmo essere avvisati del fatto che nel kernel installato siano già presenti componenti ieee80211:

/lib/modules/2.6.18-3-686/net/ieee80211/ieee80211.ko
/lib/modules/2.6.18-3-686/net/ieee80211/ieee80211_crypt.ko
/lib/modules/2.6.18-3-686/net/ieee80211/ieee80211_crypt_wep.ko
/lib/modules/2.6.18-3-686/net/ieee80211/ieee80211_crypt_ccmp.ko
/lib/modules/2.6.18-3-686/net/ieee80211/ieee80211_crypt_tkip.ko
/lib/modules/2.6.18-3-686/net/ieee80211/.tmp_versions/ieee80211.mod
/lib/modules/2.6.18-3-686/net/ieee80211/.tmp_versions/ieee80211_crypt.mod
/lib/modules/2.6.18-3-686/net/ieee80211/.tmp_versions/ieee80211_crypt_wep.mod/lib/modules/2.6.18-suspend2/net/ieee80211/.tmp_versions/ieee80211_crypt_ccmp.mod
/lib/modules/2.6.18-3-686/net/ieee80211/.tmp_versions/ieee80211_crypt_tkip.mod
/lib/modules/2.6.18-3-686/include/net/ieee80211.h
/lib/modules/2.6.18-3-686/include/net/ieee80211_crypt.h
/lib/modules/2.6.18-3-686/include/net/ieee80211_radiotap.h
Above files found.  Remove? [y],n

Rispondendo affermativamente i componenti verranno eliminati e il successivo comando make install provvederà a installare i componenti ieee80211 che stiamo compilando. Infine (questa istruzione potrebbe necessitare dei diritti di super utente)

make install 
cd ..

Compilazione e installazione del modulo ipw3945

tar xzvf ipw3945-1.1.3.tgz
cd ipw3945-1.1.3
make

Per rendere il modulo compilato visibile al tool modprobe dobbiamo copiarlo nel path di depmod:

cp ipw3945.ko  /lib/modules/$(uname -r)/kernel/drivers/net/wireless
depmod -a

Ora possiamo utilizzare

modprobe ipw3945

per caricare il modulo nel kernel e

modprobe ipw3945 -r

per rimuoverlo.

Installazione del firmware

tar xzvf ipw3945-ucode-1.13.tgz
cp ipw3945-ucode-1.13/ipw3945.ucode /usr/local/lib/firmware/

Installazione del regulatory daemon

tar xzvf ipw3945d-1.7.22.tgz

Per sistemi a 32 bit:

cp ipw3945d-1.7.22/x86/ipw3945d /sbin

Per sistemi a 64 bit:

cp ipw3945d-1.7.22/x86_64/ipw3945d /sbin

Caricamento del modulo

Ora che compilazione e installazione sono completate possiamo procedere al caricamento del modulo nel kernel. Riportiamoci nella directory del driver ipw3945:

cd ipw3945-1.1.3

e carichiamo il modulo (ripulendo anche il log del kernel)

./load debug=0

Eseguendo iwconfig dovremmo poter essere in grado di vedere l'interfaccia associata al chip wifi:

# ifconfig
eth2      unassociated  ESSID:off/any
          Mode:Managed  Channel=0  Access Point: 00:00:00:00:00:00
          Bit Rate=0 kb/s   Tx-Power=20 dBm
          RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Automatizzare l'esecuzione del regulatory daemon mediante modprobe

Per farlo basta creare un file nella directory /etc/modprobe.d

nano /etc/modprobe.d/

contenente le seguenti due righe:

install ipw3945 /sbin/modprobe --ignore-install ipw3945 ; sleep 0.5 ; /sbin/ipw3945d --quiet
remove ipw3945  /sbin/ipw3945d --kill ; /sbin/modprobe -r --ignore-remove ipw3945

Autore: fulvio Feb 06, 2007