Cartes son ISA : pnptools
17 Sep. 2006
- Auteur : Hyacinthe MENIET
- Responsable : TrustRobot
- Score ( voter ) :



- Connexes : Même auteur | Même responsable | Historique
1. Détection des plages d'Entrées/sorties, DMA et IRQ :
Votre distribution est nécessairement livrée avec le paquet isapnptools. Si vous ne l'avez pas ou si vous en avez une version trop ancienne, vous pourrez télécharger la version 1.26 ICI et l'installerez (après avoir désinstallé l'ancienne version si nécessaire) par :
tar -xzvf isapnptools-1.26.tgz
cd isapnptools-1.26/
./configure --prefix=/usr
make LDFLAGS+="-static"
make install
A ce stade, vous disposez des bons logiciels, il vous faut maintenant connaître les bons paramètres. Si votre PC fonctionne exclusivement sous Linux, c'est vous qui imposerez vos paramètres, s'il fonctionnait déjà avec un autre OS, par exemple Windows ® vous devrez récupérer, les paramètres de celui-ci.
Concrètement pour Windows ® vous devrez aller dans le gestionnaire de périphérique et récupérer, les plages d'E/S , les IRQ et les DMA. Voilà ce que j'obtiens :
E/S:
0220-22f
0530-0537
0388-038b
0330-0331
0370-0371
IRQ:
05
DMA:
00
01
maintenant tapez la commande suivante :
pnpdump > /root/isapnp.conf
Cela devrait vous créer un fichier /root/isapnp.conf qui ressemble à >CECI.
2. Le fichier isapnp.conf
Le fichier/root/isapnp.conf est évidemment inutilisable en l'état. Il contient néanmoins des plages E/S, IRQ et DMA compatibles avec votre carte son, il vous suffit de décommenter (enlever le # devant la ligne commençant par une "(" qui vous intéressent) les bons paramètres. N'oubliez pas de décommenter également le (ACT Y) qui correspond à la configuration choisie. Après traitement mon fichier ressemble à ceci :# $Id: pnpdump_main.c,v 1.27 2001/04/30 21:54:53 fox Exp $ # Release isapnptools-1.26 # # This is free software, see the sources for details. # This software has NO WARRANTY, use at your OWN RISK # # For details of the output file format, see isapnp.conf(5) # # For latest information and FAQ on isapnp and pnpdump see: # http://www.roestock.demon.co.uk/isapnptools/ # # Compiler flags: -DREALTIME -DHAVE_PROC -DENABLE_PCI -DHAVE_SCHED_SETSCHEDULER \ # -DHAVE_NANOSLEEP -DWANT_TO_VALIDATE # # Trying port address 0273 # Board 1 has serial identifier 81 ff ff ff ff 20 00 a8 65 # (DEBUG) (READPORT 0x0273) (ISOLATE PRESERVE) (IDENTIFY *) (VERBOSITY 2) (CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING #Début de la configuration de la carte son : (CONFIGURE YMH0020/-1 (LD 0 (IO 0 (SIZE 16) (BASE 0x0220)) (IO 1 (SIZE 8) (BASE 0x0530)) (IO 2 (SIZE 4) (BASE 0x0388)) (IO 3 (SIZE 2) (BASE 0x0330)) (IO 4 (SIZE 2) (BASE 0x0370)) (INT 0 (IRQ 5 (MODE +E))) (DMA 0 (CHANNEL 0)) (DMA 1 (CHANNEL 1)) (NAME "YMH0020/-1[0]{OPL3-SAX Sound Board}" ) (ACT Y) )) (CONFIGURE YMH0020/-1 (LD 1 (NAME "YMH0020/-1[1]{OPL3-SAX Sound Board}" ) )) #Fin de la configuration de la carte son : (WAITFORKEY)Une façon efficace d'enlever toutes les lignes commençant par # dans /root/isapnp.conf après traitement est de taper :
cd /root/
mv isapnp.conf isapnp.conf.old
awk '! (/^ *#/ || /^$/) { print $0 }' isapnp.conf.old > isapnp.conf
Notez que j'ai décommenté la configuration qui correspondait le mieux à la configuration windows ® (E/S : 0220-22f, 0530-0537, 0388-038b, 0330-0331, 0370-0371 ...). Il ne vous reste plus qu'à modifier votre /etc/isapnp.conf. S'il existe déjà et semble configuré, rajoutez simplement la configuration de votre carte son avant le (WAITFORKEY).
Si vous n'avez pas de /etc/isapnp.conf, vous pouvez en créer un par :
cp /root/isapnp.conf /etc/isapnp.conf
3. Chargement des modules :
Avant de charger les modules vous devez taper la ligne suivante :
/sbin/isapnp /etc/isapnp.conf ou /usr/sbin/isapnp /etc/isapnp.conf
Puis charger manuellement les modules nécessaires au fonctionnement de votre carte son, pour moi cela se
résume à :
modprobe mpu401
modprobe ad1848
modprobe opl3sa2
modprobe opl3
Il arrive que /sbin/isapnp (ou /usr/sbin/isapnp) ne veuille pas lire votre fichier, c'est signe qu'il n'est pas bon, mais vous pouvez, vous-même passer les bons paramètres aux modules par :
modprobe mpu401
modprobe ad1848
modprobe opl3sa2 io=0x370 mss_io=0x530 mpu_io=0x330 irq=5 dma=0 dma1=1
modprobe opl3 io=0x388
Après avoir réglé le son, depuis kmix ou le mixeur de votre distribution, vous pouvez tester vos réglages en jouant un .mp3 avec par exemple xmms.
A ce stade, je suppose que tout c'est bien déroulé, en principe sur la plus part des distributions, un script lance la commande : /sbin/isapnp /etc/isapnp.conf à chaque démarrage, il est donc inutile de le faire à chaque fois. Rajoutez, simplement les lignes de chargement de module qui vont conviennent dans /etc/rc.d/rc.local et redémarrez.
Au redémarrage testez, le son si vous n'en avez pas, c'est qu'il faudra rajouter la ligne :
/sbin/isapnp /etc/isapnp.conf ou /usr/sbin/isapnp /etc/isapnp.conf
Dans /etc/rc.d/rc.local, avant le chargement des modules.
Cette méthode prend pour exemple, une carte son mais fonctionne de manière analogue avec n'importe quel périphérique ISA (PNP).