Ce qui suit est requis pour le support SB AWE sous Linux:
/usr/src/Linux/drivers/sound/Readme
),Si vous avez une carte PnP, vous aurez également besoin de:
Regardez dans la section Sources pour les informations concernant l'obtention de ces programmes.
Si vous avez un système Debian GNU/Linux, vous aurez besoin des paquetages
kernel-source-<version>
, awe-drv
et peut-être le
paquetage isapnptools
.
Vous désirez peut-être quelques-uns des autre paquetages awe-*
,
mais cependant ils ne sont pas essentiels. Je recommande fortement le
kernel-package
pour compiler et installer facilement
le noyau.
Assurez vous que vous avez proprement installé votre carde dans un emplacement sur votre carte mère et peut-être l'avoir déjà testée dans un environnement DOS ou Windows.
La prochaine étape est d'initialiser la carte au lancement si et seulement
si c'est une carte PnP. Suivez la documentation dans les sources pour
compiler et installer isapnptools
(ou utilisez simplement le paquetage
binaire Debian), et lancez
# pnpdump > /etc/isapnp.conf
en tant que super-utilisateur. Celà générera un fichier de configuration
propre à votre carte PnP, mais avec tous les périphériques commentés. Editez
attentivement ce fichier, et comparez les values des canaux DMA, des bases
IO et des interruptions avec la configuration des cartes sous les
environnements DOS ou Windows si possible (Avec Win95, regardez les
ressources utilisées par la carte sous resources
dans le device
manager
). Si vous avez des problèmes, lisez attentivement la
documentation fournie avec les isapnptools
.
AVERTISSEMENT: les isapnptools
échouent souvent dans la détection
des trois ports I/O du périphérique SB AWE Wave Table. Veuillez vérifier
attentivement l'entrée Wave Table
de votre isapnp.conf
avec l'exemple
à la fin de ce HOWTO. Ajustez les adresses I/O de bases si nécessaire.
AVERTISSEMENT: D'après l' isapnp-faq
, quelques fois les
isapnp
échouent à programmer le nombre de périphériques logiques. Si
vous rencontrez un message d'erreur comme celui-ci:
Error occurred executing request 'LD 2' on or around line...
essayez alors d'ajouter (VERIFYLD N)
au début de isapnp.conf
. Vous
devez utiliser au minimum la version 1.10 pour que ceci fonctionne. Si vous
ne pouvez utiliser la version 1.10 ou ultérieure, vous pouvez également POKE
directement les nombres des périphériques logiques. Veuillez vous référer à
l'isapnp-faq
pour plus d'informations sur cette approche. Si ça ne
marche pas pour vous, contactez moi (et les personnes d'isapnp
seront
intéressées également, je pense).
AVERTISSEMENT: Vérifiez que la dernière ligne est
(WAITFORKEY)
, celà sera parfois omis par les anciennes versions de
pnpdump
.
Un isapnp.conf
d'exemple pour seulement une seule carte PnP (la
carte son) peut-être trouvée à la fin de ce document (voir la section
Exemple d'<tt>isapnp.conf</tt>).
Si vous avez un système Debian, aucun ajustement supplémentaire n'est
nécessaire. isapnp
sera lancé au lancement dans
/etc/init.d/boot
avec ce petit bout de script, que vous devrez
peut-être inclure dans vos scripts d'initialisation:
# Configure les cartes isa plug and play avant de charger # les modules. Nécessite de faire ceci avant le chargement # des modules pour avoir une chance de configurer et de # lancer les cartes PnP avant que les pilotes ne viennent # foutre le bordel. # if [ -x /etc/init.d/isapnp ] then /etc/init.d/isapnp start fi
/etc/init.d/isapnp
est
#! /bin/sh # /etc/init.d/isapnp: configure les cartes Plug and Play test -x /sbin/isapnp || exit 0 /sbin/isapnp /etc/isapnp.conf exit 0
Si vous avez une autre distribution Linux, vous êtes chez vous. Je ne sais pas ce qu'il faut faire (personne ne peut envoyer des informations plus spécifiques ?). Soyez certains qu'isapnp sera lancé avant que les modules ne soient chargés (voir plus haut).
Avant de recompiler le noyau, vous devez ajouter les extensions AWE au
pilote sonore. Même si vos sources du noyau ont déjà les extensions
awedrv
(voyez /drivers/sound/lowlevel/
pour ça), vous pouvez avoir à
mettre le logiciel à jour.
Suivez les instructions des sources de awedrv
pour l'installation. En
bref, vous devez lancer un script d'installation qui applique les
corrections à vos sources du noyau.
Faites attention si vous avez mis à jour vos sources du noyau en lançant le
script. En effet le script vérifie simplement qu'un certain fichier existe -
s'il existe, il n'applique pas les corrections nécessaires. Vous seriez
avisé de retirer le fichier drivers/sound/lowlevel/awe_wav.c
avant
de lancer le script après avoir mis à jour les sources du noyau.
Ensuite vous avez à configurer le noyau pour le support du son. J'espère que
vous connaissez quelque chose sur la compilation du noyau; voyez le Sound
HOWTO et le Kernel HOWTO pour les détails. Allez dans le répertoire où se
trouvent vos sources du noyau (/usr/src/linux
par exemple), et
lancez:
# make config
ou make menuconfig
ou make xconfig
. Ensuite vous devez
configurer votre noyau normalement. Utilisez cette opportunité pour créer un
noyau petit et puissant, spécialement constitué pour votre système. Répondez
bien Y
à la question Enable loadable module support
, si
vous désirez installer le pilote sonore en tant que module chargeable. (vous
devez le faire si vous avez une carte PnP), mais je ne suis pas
certain que vous désiriez le faire, cependant.
A un moment, on vous demandera si vous désirez le support des cartes son.
Vous êtes libres de répondre avec Y
ou avec M
si vous
n'avez pas de carte PnP.
Vous devez répondre avec M
, pour module, si vous avez une
carte PnP. Vous avez à compiler le support carte son en module si vous avez
une carte PnP car les cartes PnP doivent être initialisées avant que les
modules ne soient chargés.
Vous devez répondre Y
aux questions suivantes, toutes les autres
avec N
:
Sound Blaster (SB, SBPro, SB16, clones) support (CONFIG_SB) [Y/n/?] Generic OPL2/OPL3 FM synthesizer support (CONFIG_ADLIB) [Y/n/?] /dev/dsp and /dev/audio support (CONFIG_AUDIO) [Y/n/?] MIDI interface support (CONFIG_MIDI) [Y/n/?] FM synthesizer (YM3812/OPL-3) support (CONFIG_YM3812) [Y/n/?] lowlevel sound driver support [Y/n/?] AWE32 support (CONFIG_AWE32_SYNTH) [Y/n/?]
En fait, seul le dernier est pour le synthétiseur Wave Table. Les autres sont les options SB 16 du pilote OSS/Free.
De plus, vous devrez configurer le port I/O de la carte son. Voyez le
fichier isapnp.conf
pour de l'aide, si vous en avez un. Pour moi,
les valeurs par défaut sont suffisantes. Notez que les valeurs par défaut
des scripts de configuration du kernel peuvent être fausses (principalement
les valeurs SBC_IRQ
et SB_MPU_BASE
qui semblent incorrectes pour
la plus grande partie des cartes).
I/O base for SB Check from manual of the card (SBC_BASE) [220] Sound Blaster IRQ Check from manual of the card (SBC_IRQ) [5] Sound Blaster DMA 0, 1 or 3 (SBC_DMA) [1] Sound Blaster 16 bit DMA (_REQUIRED_for SB16, Jazz16, SMW) 5, 6 or 7 (use 1 for 8 bit cards) (SB_DMA2) [5] MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual of the card (SB_MPU_BASE) [330] SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16 (SB_MPU_IRQ) [-1]
Maintenant recompilez le noyau. Les utilisateurs Debian doivent utiliser le
kernel-package
. Ce paquetage rend les compilations de noyau aussi
facile que l'installation d'un paquetage debian. Voyez la documentation dans
/usr/doc/kernel-package/
. Par exemple:
# make-kpkg clean
# make-kpkg -revision custom.1.0 kernel_image
puis dpkg -i /usr/src/kernel-image-2.0.29_custom.1.0_i386.deb
.
Si vous avez une autre distribution Linux, suivez le moyen normal de
compilation d'un nouveau noyau. N'oubliez pas make modules
et
make modules_install
. Voyez le Sound HOWTO et peut-être le Kernel
HOWTO pour plus d'informations.
Après l'installation d'un nouveau noyau, vous devez relancer votre machine (vérifiez que vous avez une disquette de lancement sous la main). Croisez les doigts.
Si vous avez une carte PnP, vérifiez que vous lancez isapnp soit dans un script de lancement (comme décrit plus haut) ou manuellement:
# /sbin/isapnp /etc/isapnp.conf
Board 1 has Identity 74 00 00 e3 10 48 00 8c 0e: CTL0048 Serial No 58128
[checksum 74]
Maintenant vous pouvez installer le pilote sonore, après l'avoir compilé en tant que module:
# modprobe -a sound
AWE32 Sound Driver v0.3.3e (DRAM 2048k)
Si vous pensez que la détection de la mémoire n'était pas correcte (j'ai eu
des échos de quelqu'un qui a une AWE64 avec 4096k, et `detected'' a été de
28672k), vous pouvez soit essayer de mettre à jour le logiciel awedrv
ou spécifier la taille de la mémoire ddans le fichier
/usr/src/linux/drivers/sound/lowlevel/awe_config.h
, par exemple:
#define AWE_DEFAULT_MEM_SIZE 4096 /* kbytes */
Désolé, vous devez alors recompiler le noyau (compiler les modules pourrait suffire, mais je n'en suis pas sûr).
Si ça marche, vous pouvez désirer que le module sonore se charge
automatiquement. Vous pouvez utiliser kerneld
(pourquoi c'est une
mauvaise idée est expliqué dans la section 1.4) ou ajouter une simple ligne
contenant sound
à votre /etc/modules/
(pour Debian) ou
ajouter /sbin/modprobe -a sound
à votre script de lancement.