#1 Le 13/08/2006, à 18:27
- Zergy
[Tutoriel] Faire fonctionner des périphériques ISA
Bonjour,
J'ai remarqué que nombre de personnes sur le forum avaient des problèmes pour faire fonctionner des périphériques ISA sous Linux (cartes sons, SCSI, réseaux)
Je me permet donc de poster ici un tutoriel pour faire fonctionner ces type de matériel, j'essayerais de donner la méthode général et de l'illustrer avec l'exemple d'installation d'une carte sonore Yamaha OPL3SAX et d'une carte ISA Adaptec AHA1505.
Si vos pensez que ce tutorial peut être amélioré / complété / corrigé, faites le savoir dans ce sujet.
L'ISA et le PNP sous Linux :
Introduction :
T'as récupéré un ordinosaure à la décharge, le vieux Pentium 133 de mémé ou tout autres PC dattant d'avant l'an 2000 ?
Après avoir installé ton [Ku | Xu | Wu | Edu | U]buntu ou ta Debian sur cette machine tu remarque que certains matériels pourtant fonctionnels sous Windows ne sont pas détecté par le manchot ?
Avant de cracher sur le manchot, vérifie que les matériels non utilisables ne soit pas connecté à la cartes mère par un connecteur ISA et lui ce tutoriel si c'est le cas.
Quelques mots sur l'ISA :
L'Architecture Industrielle Standard, ou en anglais Industrial Standard Architecture plus connu sous le nom du ISA désigne un connecteur présent sur toutes les cartes mère de PC construits entre les années 1980 et l'an 2000, depuis le début du XXIe siècle, le connecteur ISA à pris sa retraite.
Si vous ouvrez votre ordinateur, vous trouverez ces connecteur en bas de la carte mère, ceux-ci sont noirs, longs et utilisent de gros contacteur.
Image d'un connecteur ISA
Le PNP sous Linux :
Alors que les premières cartes ISA devaient être réglé par l'utilisateur en donnant manuellement au programme les plages d'entrée/sortie, les numéros de DMA et d'IRQ utilisé par la carte, est apparut plus tard des cartes ISA dites Plug'N Play (Branche en utilise en français, ou PNP en abrégé) fonctionnant sans devoir réfléchir à ces réglages de DMA, d'IRQ ou autre, ceux-ci étant directement trouvé par le programme.
Sous à partir de Windows 95, l'ISA PNP fonctionne sans souci (à condition d'avoir les pilotes de la carte), il faut savoir que sous GNU/Linux, la donne n'est pas la même.
Si les cartes ISA (quelles soit PNP ou non) peuvent fonctionner sous GNU/Linux, il faudra mettre les mains dans le cambouis. Il faut bien avouer que GNU/Linux est encore Plug'N Pray (Branche et pris) avec les carte ISA
Enfin, sachez que sous GNU/Linux, le PNP ne conserne que les cartes ISA
Prérequis :
Pour suivre ce tutoriel, vous avez besoin des choses suivantes :
- Une carte mère avec au moins un connecteur ISA
- Une carte ISA
- Un GNU/inux
- De la patience
- Le programme ISAPNPTools
Si les quatre premiers éléments sont déjà en votre possession (pourquoi lire cette documentation sinon ?) il vous manque ISAPNPTools.
Ce programme va permettre de trouver les configurations possibles pour chaque carte ISA, malheureusement, il n'est plus disponible sous [Ku | Xu | Wu | Edu | U]buntu 6.06 LTS (Dapper Drake)
Fort heureusement, la version Debian ou [Ku | Xu | Wu | Edu | U]buntu 5.10 ou inférieur est pleiment utilisable sous Dapper Drake.
- Si vous utilisez Debian, Breezy Badger ou antérieur, installez-le via la ligne de commande ou Synaptic
apt-get install isapnptools
- Si vous utilisez Dapper Drake, télécharger la
version Breezy ou Debian Sarge de ce package (c'est la même)
Et installez-la via la ligne de commande ou GDebit:
dpkg -i isapnptools_1.26-5_i386.deb
Trouver les configurations disponibles :
Pour configurer la carte ISA, nous allons tout d'abord demander à isapnptools de nous donner toutes les configurations possible pour chaque cartes ISA du système (on appel ça un PNP-Dump) et d'enregistrer le resultat dans un fichier nommé isapnp.conf dans /etc/.
Pour faire ce PNP-Dump on utilise la commande pnpdump en redirigeant sa sortie vers /etc/isapnp.conf.
sudo pnpdump > /etc/isapnp.conf
Ensuite, il faut éditer ce fichier /etc/isapnp.conf...
gksu gedit /etc/isapnp.conf
...
... et là, c'est le drame, on se retrouve avec un fichier remplie de ligne plus ou moins incompréhensibles sortant du PNP-Dump.
Structure du PNP-Dump :
Le PNP-Dump est, contrairement à ce que l'on pourrait croire, structuré.
Préenbule :
Les lignes suivantes sont le préenbule du fichier, elles donnent des directive à ISAPNPTools :
# $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 XX XX XX XX XX XX XX XX XX
# Board 2 has serial identifier XX XX XX XX XX XX XX XX XX
# (DEBUG)
(READPORT 0x0273)
(ISOLATE PRESERVE)
(IDENTIFY *)
(VERBOSITY 2)
(CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING
Laissez-les telles quelles.
Début de la description d'une carte
Voir trouverez ensuite un ligne indiquant qu'une carte à été trouvée et que sa configuration va être décrite :
# Card 1: (serial identifier XX XX XX XX XX XX XX XX XX)
Par exemple, avec ma carte son Yamaha OP3-SA2
# Card 1: (serial identifier 81 ff ff ff ff 20 00 a8 65)
# Vendor Id YMH0020, No Serial Number (-1), checksum 0x81.
# Version 1.0, Vendor version 0.0
# ANSI string -->OPL3-SAX Sound Board<--
#
# Logical device id YMH0021
#
# Edit the entries below to uncomment out the configuration required.
# Note that only the first value of any range is given, this may be changed if required
# Don't forget to uncomment the activate (ACT Y) when happy
Et avec ma carte SCSI Adaptec AHA1505
# Card 2: (serial identifier 0d da a5 f8 6a 05 15 90 04)
# Vendor Id ADP1505, Serial Number 3668310122, checksum 0x0D.
# Version 1.0, Vendor version 1.1
# ANSI string -->Adaptec AVA-1505AE <--
#
# Logical device id ADP1505
# Device supports I/O range check register
#
# Edit the entries below to uncomment out the configuration required.
# Note that only the first value of any range is given, this may be changed if required
# Don't forget to uncomment the activate (ACT Y) when happy
Fin de la description d'une carte :
La fin de la description d'une carte est marqué d'un simple checksum, du type :
# End tag... Checksum 0x00 (OK)
Description d'une carte :
La description des ports d'entrées sortie, de numéros de DMA et d'IRQ d'une carte se trouvent entre le début... et la fin vu aux paragraphes précédent (logique non ?)
Voici par exemple la description d'une des configuration disponibles pour ma carte Yahama OPL3-SAX :
(CONFIGURE YMH0020/-1 (LD 0
# Multiple choice time, choose one only !
# Start dependent functions: priority preferred
# Logical device decodes 16 bit IO address lines
# Minimum IO base address 0x0220
# Maximum IO base address 0x0220
# IO base alignment 16 bytes
# Number of IO addresses required: 16
# (IO 0 (SIZE 16) (BASE 0x0220) (CHECK))
# Logical device decodes 16 bit IO address lines
# Minimum IO base address 0x0530
# Maximum IO base address 0x0530
# IO base alignment 8 bytes
# Number of IO addresses required: 8
# (IO 1 (SIZE 8) (BASE 0x0530) (CHECK))
# Logical device decodes 16 bit IO address lines
# Minimum IO base address 0x0388
# Maximum IO base address 0x0388
# IO base alignment 4 bytes
# Number of IO addresses required: 4
# (IO 2 (SIZE 4) (BASE 0x0388) (CHECK))
# Logical device decodes 16 bit IO address lines
# Minimum IO base address 0x0330
# Maximum IO base address 0x0330
# IO base alignment 2 bytes
# Number of IO addresses required: 2
# (IO 3 (SIZE 2) (BASE 0x0330) (CHECK))
# Logical device decodes 16 bit IO address lines
# Minimum IO base address 0x0370
# Maximum IO base address 0x0370
# IO base alignment 2 bytes
# Number of IO addresses required: 2
# (IO 4 (SIZE 2) (BASE 0x0370) (CHECK))
# IRQ 5.
# High true, edge sensitive interrupt
# (INT 0 (IRQ 5 (MODE +E)))
# First DMA channel 0.
# 8 bit DMA only
# Logical device is not a bus master
# DMA may execute in count by byte mode
# DMA may not execute in count by word mode
# DMA channel speed type F
# (DMA 0 (CHANNEL 0))
# Next DMA channel 1.
# 8 bit DMA only
# Logical device is not a bus master
# DMA may execute in count by byte mode
# DMA may not execute in count by word mode
# DMA channel speed type F
# (DMA 1 (CHANNEL 1))
# End dependent functions
(NAME "YMH0020/-1[0]{OPL3-SAX Sound Board}")
# (ACT Y)
))
Pour fairre fonctionner un carte, il faudra choisir un bloc de configuration et décommenter certaines lignes.
Pour vous y retrouver, sachez que nombre de lignes sont des commentaires déstiné à vous décrire les entrées/sorties, DMA et IRQ détecté.
Types de lignes à décommenter :
Lignes indiquant une plage d'entrées/sorties
# (IO X (SIZE Y) (BASE ZxZZZZ) (CHECK))
Si vous désirez connaitre la liste des ports d'entrées/sortie utilisés sur votre système, utilisez la commance suivante :
cat /proc/ioports
Ligne indiquant un numéro de DMA.
# (DMA X (CHANNEL Y))
Il est possible que votre carte ISA n'en utilise pas, auquel cas, vous n'aurez pas de ligne de ce type.
Ligne indiquant un IRQ
# (INT X (IRQ Y (MODE +E)))
Lisez les lignes de commentaires se trouvant juste au dessus des lignes d'IRQ, elle vous donneront les numéros d'IRQ utilisablent par votre carte ISA.
Si l'un ne fonctionne pas, il faudra en choisir un autres parmis ceux proposés.
Ligne permettant d'activer une carte
(ACT Y)
Vous devez décommenter cette ligne pour activer votre carte et lui permettre ainsi de fonctionner.
Test de la configuration :
Une fois que vous avez décommenté les lignes d'une configuration qui vous semble correcte, nous allons tester cette configuration.
Pour celà, nous allons demander à ISAPNPTools de lire le fichier /etc/isapnp.conf
sudo isapnp /etc/isapnp.conf
Vous obtiendrez comme réponse une descriptions rapide des cartes trouvées avec une indication sur les éventuelles erreurs.
Exemple de configuration sans erreurs :
Board 1 has Identity 81 ff ff ff ff 20 00 a8 65: YMH0020 Serial No -1 [checksum 81]
Board 2 has Identity 0d da a5 f8 6a 05 15 90 04: ADP1505 Serial No 3668310122 [checksum 0d]
YMH0020/-1[0]{OPL3-SAX Sound Board}: Ports 0x220 0x530 0x388 0x330 0x370; IRQ5 DMA0 DMA1 --- Enabled OK
YMH0020/-1[1]{OPL3-SAX Sound Board}: Port 0x201; --- Enabled OK
ADP1505/3668310122[0]{SCSI Controller }: Port 0x340; IRQ10 --- Enabled OK
Le "--- Enable OK" indique que la configuration que vous avez choisie peut être utilisée.
En cas d'erreur, vous obtiendrez quelque chose du genre
/etc/isapnp.conf:52 -- Fatal - Error occurred executing request '<IORESCHECK> '
Bien entendu, chaque erreur est précédée de son numéro de ligne (52 ici), ce qui vous permettera de trouver facilement la source du problème.
Si vous trouvez une erreur du type <IORESCHECK> allez à la ligne conserné et supprimez la chaîne de caractère (CHECK), par exemple
(IO 0 (SIZE 32) (BASE 0x0140) (CHECK))
Devient
(IO 0 (SIZE 32) (BASE 0x0140))
Puis recommencez le test de configuration
Un fois que le test ne retourne plus d'erreur, c'est bon.
Charger le module de la carte et lui donner les bon paramètres
Trouver le modules
Pour trouver le modules utilisé par votre carte isa, il y à deux solutions :
- Soit vous utilisez un moteur de recherche en lui donnant une recherche du "module nom_de_votre_carte"
- Soit vous téléchargez les sources de votre noyau, vous allez dans l'outils de configuration et vous consultez à l'aides du modules réseau/sonore/SCSI correspondant au type de votre carte, généralement, le nom du fichier pilotes y est indiqué.
Dans le cas de mes cartes, les modules étaient les suivant :
- snd-opl3sa2 pour la carte sonore Yamaha OPL3-SAX
- aha152x pour la carte SCSI Adaptec AHA1505
Donner les paramètres au modules
Pour charger le modules, vous devrez utiliser la commande modprobe.
Les paramètres sont généralement les ports d'entrées/sorties (io), de DMA (dma1 et dma2), et d'IRQ (irq) trouvé dans /etc/isapnp.conf
Par exemple :
sudo modprobe aha152x io=0x340 irq=10
Chargement automatique des modules :
Pour charger automatiquement les modules au démarrage de la machine, il faut indiquer les lignes de chargement de modules (les mêmes que modprobe) dans le fichier /etc/modules
Oh... un kernel panic.
Ne rigolez pas, il arrive que l'activation d'une carte ISA provoque un BSOD... heu non, un kernel panic (on est pas sous Windows ^^)
Redémarrez en mode "Maintenance" pour charger le minimum ou avec un live CD et commentez les lignes de modules de vos cartes ISA dans /etc/modules pour empêcher leur chargement
En faite, le problème est le suivant :
Malgré le faite qu'ISAPNPTools vous dise que votre configuration est correcte, la carte ISA se retrouve à partager son IRQ avec un autre matériel, or, les cartes ISA n'ont jamais étés conçu pour partager leur IRQ !
Pour vous en assurer, listez les IRQ du système :
cat /proc/interrupt
Et vérifiez que l'IRQ utilisé par vos cartes ISA soit libre (pas de nom de matériel)
Pour empêcher celà, vous avez les choix suivant :
- Changer la configuration de vos carte ISA avec ISAPNPTools et le fichier /etc/isapnp.conf parmis ceux quelle proposent et ceux disponibles.
- Retirer du matériel pour libérer des IRQ
- Retirer le support de l'ACPI pour libérer un IRQ et permettre aux cartes PCI de prendre d'autres IRQ et sans doute libérer celui utilisé par votre carte ISA (demande une recompilation de noyau)
Bien sûr, si vous modifiez le numéro d'IRQ de votre carte ISA, modifier en conséquence le fichier /etc/modules
Trucs et astuces :
Activer toutes les possibilitées de sa cartes son :
Si vous configure une carte son, consultez le fichier /usr/share/doc/alsa-base/driver/ALSA-Configuration.txt.gz pour connaître les différents arguments possible pour votre carte.
vim /usr/share/doc/alsa-base/driver/ALSA-Configuration.txt.gz
Par exemple, pour le modules opl3sa2 de ma carte Yamaha, le fichier /usr/share/doc/alsa-base/driver/ALSA-Configuration.txt.gz indique :
Module snd-opl3sa2
------------------
Module for Yamaha OPL3-SA2/SA3 soundcards.
port - control port # for OPL3-SA chip (0x370)
sb_port - SB port # for OPL3-SA chip (0x220,0x240)
wss_port - WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
midi_port - port # for MPU-401 UART (0x300,0x330), -1 = disable
fm_port - FM port # for OPL3-SA chip (0x388), -1 = disable
irq - IRQ # for OPL3-SA chip (5,7,9,10)
dma1 - first DMA # for Yamaha OPL3-SA chip (0,1,3)
dma2 - second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable
isapnp - ISA PnP detection - 0 = disable, 1 = enable (default)
Module supports up to 8 cards and ISA PnP. This module does not support
autoprobe (if ISA PnP is not used) thus all ports must be specified!!!
The power-management is supported.
Je doit donc indiquer :
sudo modprobe snd-opl3sa2 port=0x370 sb_port=0x220 wss_port=0x530 midi_port=0x330 fm_port=0x388 irq=5 dma1=0 dma2=1 isapnp=0
pour charger cette carte son.
Les scanners SCSI sur carte ISA
Si vous utilisez un scanner SCSI branché à une carte SCSI ISA, vous vous souvenez sans doute que sous Windows, il fallait démarrer le scanner avant l'ordinateur pour qu'il soit fonctionnel.
Rien de tous ça sous GNU/Linux, si jamais vous n'allumez pas votre scanner avant l'ordinateur, il suffit de décharge les modules SCSI généraux (sg) et celui de votre carte SCSI
sudo rmmod sg && sudo rmmod aha152x
Puis les recharger en donnant les paramètres de votre carte SCSI
sudo modprobe sg && sudo modprobe aha152x io=0x340 irq=10
Vous pouvez par exemple utiliser un script nommé scanner dans votre /etc/init.d/
#!/bin/sh
case "$1" in
start)
echo -n "Chargement du module SCSI generique... "
modprobe sg
echo " [ok]"
echo -n "Chargement du module de la carte SCSI... "
modprobe aha152x io=0x340 irq=10
echo " [ok]"
echo -n "Creation du lien symbolique entre /dev/sg0 et /dev/scanner... "
ln -s /dev/sg0 /dev/scanner
echo " [ok]"
echo "Le serveur de scanner est pret."
;;
restart)
echo -n "Dechargement du module SCSI generique... "
rmmod aha152x
echo " [ok]"
echo -n "Dechargement du module de la carte SCSI... "
rmmod sg
echo " [ok]"
echo -n "Rechargement du module SCSI generique... "
modprobe sg
echo " [ok]"
echo -n "Rechargement du module de la carte SCSI... "
modprobe aha152x io=0x340 irq=10
echo " [ok]"
echo -n "Creation du lien symbolique entre /dev/sg0 et /dev/scanner... "
rm -f /dev/scanner
ln -s /dev/sg0 /dev/scanner
echo " [ok]"
echo "Le serveur de scanner a correctement ete redemmare."
;;
stop)
echo -n "Dechargement du module SCSI generique... "
rmmod aha152x
echo " [ok]"
echo -n "Dechargement du module de la carte SCSI... "
rmmod sg
echo " [ok]"
echo "Le serveur de scanner est stoppe"
;;
*)
echo "Utilisation : /etc/init.d/scanner start|restart|stop"
;;
esac
Ainsi, l'arrêt du scanner se fait en entrant :
sudo /etc/init.d/scanner stop
(On décharge les modules)
Son démarrage avec :
sudo /etc/init.d/scanner start
(On charge les modules)
Et son redémarrage avec :
sudo /etc/init.d/scanner restart
(On décharge puis charge les modules)
Dernière modification par Zergy (Le 18/08/2006, à 11:30)
Hors ligne
#2 Le 13/08/2006, à 19:00
- michel2652
Re : [Tutoriel] Faire fonctionner des périphériques ISA
Bonhour,
Tu devrais mettre ton tuto sur le wiki.
Tout le monde ne fait pas tourner une config d'enfer.
A+
#3 Le 16/08/2006, à 15:33
- Ner0lph
Re : [Tutoriel] Faire fonctionner des périphériques ISA
Sans oublier d'y mettre de mettre un lien dans les pages "tables des matières".
Hors ligne
#4 Le 16/08/2006, à 16:05
- Zergy
Re : [Tutoriel] Faire fonctionner des périphériques ISA
Sans oublier d'y mettre de mettre un lien dans les pages "tables des matières".
Si tu parle de faire une table des matière lorsque l'article sera sur le Wiki, c'est prévu... ou alors j'ai pas compris.
Pour qu'un article soit mis dans les articles en attente il faut faire quelque chose en plus que de prévenir un coordinateur ? J'en ai prévenu un il y à quelques jours pour lui dire que je me dévouais à la rédaction de cet article, mais je n'ai pas eu de réponse.
Hors ligne
#5 Le 16/08/2006, à 18:19
- bapoumba
Re : [Tutoriel] Faire fonctionner des périphériques ISA
Déplacé dans Trucs et astuces
| Ubuntu Forums |
J'aime les fraises.
Hors ligne
#6 Le 16/08/2006, à 19:25
- Ner0lph
Re : [Tutoriel] Faire fonctionner des périphériques ISA
Pour qu'un article soit mis dans les articles en attente il faut faire quelque chose en plus que de prévenir un coordinateur ? J'en ai prévenu un il y à quelques jours pour lui dire que je me dévouais à la rédaction de cet article, mais je n'ai pas eu de réponse.
Non a priori, tu le rédiges dans le wiki en créant une page (il suffit d'y faire un lien).
Je ne me trompe pas les admins, dites ?
Hors ligne
#7 Le 17/08/2006, à 15:56
- neuronyk
Re : [Tutoriel] Faire fonctionner des périphériques ISA
salut,
tout exité, j'ai suivi la methode indiqué donc, téléchargement du paquet isapnptools (suis sous dapper), install par gdebi, puis j'ai lançé le pnpdump, obtenu un fichier de conf mais c'est la que ça coince....
j'ai bien une carte (une seule) de reconnue, des irq dispo, mais aucunes lignes avec "dma", je me suis dit : pas grave.... je configure donc pour ma config en 'oubliant' les dma, puis je décommente act Y.
je fait lire ma config a isapnp et j'ai le message : IO range check attempted while device activated.
je consulte le man et je voit que ma carte semble déja configurer et on me conseille de de pas continuer a essayer de le faire ???
mais sane and co ne "voient" pas mon scanner et maintenan je n'ai plus trop d'idée la dessus, donc si quelqu'un avait une idée/conseil....:rolleyes:
Le manuel disait « Nécessite Windows XP ou mieux ». J'ai donc installé Linux.
Hors ligne
#8 Le 17/08/2006, à 16:13
- Zergy
Re : [Tutoriel] Faire fonctionner des périphériques ISA
Prenons dans l'ordre :
1- Il est possible que certaines cartes ISA n'utilisent pas de DMA (Accés Direct à la Mémoire) pour fonctionner, par exemple, ma carte SCSI n'en utilise pas. Il est donc normal qu'aucun DMA n'apparaissent dans isapnp.conf.
-> It's not a bug it's a feature.
2- Pour la carte qui semble activé, vérifie que le(s) module(s) concernant cette carte ne soit pas chargé(s). S'il(s) le sont, décharge-le(s) et recommence la vérification d'isapnp.conf.
A oui, si vous trouvez le tuto pas assez clair, trop fouilli, dite-le.
Dernière modification par Zergy (Le 17/08/2006, à 16:20)
Hors ligne
#9 Le 18/08/2006, à 10:35
- neuronyk
Re : [Tutoriel] Faire fonctionner des périphériques ISA
salut, merci de ta réponse mais ça ne marche tj pas alors je te donne le détail :
lsmod :
sg 37920 0
rfcomm 40216 0
l2cap 26244 5 rfcomm
bluetooth 49892 4 rfcomm,l2cap
vmnet 37284 13
vmmon 111852 0
ppdev 9220 0
video 16260 0
tc1100_wmi 6916 0
sony_acpi 5644 0
pcc_acpi 12416 0
hotkey 11556 0
dev_acpi 11140 0
container 4608 0
button 6672 0
acpi_sbs 19980 0
battery 9988 1 acpi_sbs
ac 5252 1 acpi_sbs
i2c_acpi_ec 5120 1 acpi_sbs
vfat 13440 0
fat 53020 1 vfat
ipv6 265600 21
dm_mod 58936 1
md_mod 72532 0
lp 11844 0
rsrc_nonstatic 13440 0
pcmcia_core 42640 1 rsrc_nonstatic
af_packet 22920 2
rtc 13492 0
floppy 62148 0
snd_ens1371 24672 0
gameport 15496 1 snd_ens1371
tsdev 8000 0
snd_rawmidi 25504 1 snd_ens1371
snd_seq_device 8716 1 snd_rawmidi
snd_ac97_codec 92704 1 snd_ens1371
snd_pcm_oss 53664 0
pcspkr 2180 0
spca5xx 630928 0
snd_mixer_oss 18688 1 snd_pcm_oss
snd_pcm 89864 3 snd_ens1371,snd_ac97_codec,snd_pcm_oss
snd_timer 25220 1 snd_pcm
snd 55268 8 snd_ens1371,snd_rawmidi,snd_seq_device,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
8139cp 22528 0
8139too 26880 0
mii 5888 2 8139cp,8139too
bt878 10552 0
psmouse 36228 0
soundcore 10208 1 snd
snd_page_alloc 10632 1 snd_pcm
serio_raw 7300 0
snd_ac97_bus 2304 1 snd_ac97_codec
tuner 42276 0
bttv 164304 1 bt878
video_buf 22148 1 bttv
i2c_algo_bit 9608 1 bttv
v4l2_common 6016 1 bttv
btcx_risc 5128 1 bttv
tveeprom 15248 1 bttv
videodev 9856 2 spca5xx,bttv
nvidia 4550772 12
via686a 17672 0
i2c_isa 4992 1 via686a
i2c_viapro 8980 0
i2c_core 21904 9 i2c_acpi_ec,tuner,bttv,i2c_algo_bit,tveeprom,nvidia,via686a,i2c_isa,i2c_viapro
parport_pc 35780 1
parport 36296 3 ppdev,lp,parport_pc
shpchp 45632 0
pci_hotplug 29236 1 shpchp
via_agp 9856 1
agpgart 34888 2 nvidia,via_agp
sr_mod 16932 0
evdev 9856 1
ext3 135688 8
jbd 58772 1 ext3
ide_generic 1536 0
uhci_hcd 33680 0
usbcore 129668 3 spca5xx,uhci_hcd
tmscsim 23616 0
scsi_mod 139496 3 sg,sr_mod,tmscsim
ide_cd 33028 0
cdrom 38560 2 sr_mod,ide_cd
ide_disk 17664 11
via82cxxx 9988 0 [permanent]
generic 5124 0
thermal 13576 0
processor 23360 1 thermal
fan 4868 0
capability 5000 0
commoncap 7296 1 capability
vga16fb 13704 1
vgastate 10368 1 vga16fb
fbcon 42784 72
tileblit 2816 1 fbcon
font 8320 1 fbcon
bitblit 6272 1 fbcon
softcursor 2304 1 bitblit
l'isapnp.conf obtenu (et décommenté):
# Card 1: (serial identifier 00 ae 86 73 3c 05 15 90 04)
# Vendor Id ADP1505, Serial Number 2928046908, checksum 0x00.
# Version 1.0, Vendor version 1.1
# ANSI string -->Adaptec AVA-1505AE <--
#
# Logical device id ADP1505
# Device supports I/O range check register
#
# Edit the entries below to uncomment out the configuration required.
# Note that only the first value of any range is given, this may be changed if required
# Don't forget to uncomment the activate (ACT Y) when happy
(CONFIGURE ADP1505/2928046908 (LD 0
# ANSI string -->SCSI Controller<--
# Compatible device id ADP1530
# Multiple choice time, choose one only !
# Start dependent functions: priority preferred
# Logical device decodes 16 bit IO address lines
# Minimum IO base address 0x0140
# Maximum IO base address 0x0140
# IO base alignment 32 bytes
# Number of IO addresses required: 32
(IO 0 (SIZE 32) (BASE 0x0140) (CHECK))
# IRQ 9, 10, 11 or 12.
# High true, edge sensitive interrupt
(INT 0 (IRQ 9 (MODE +E)))
# Start dependent functions: priority acceptable
# Logical device decodes 16 bit IO address lines
# Minimum IO base address 0x0340
# Maximum IO base address 0x0340
# IO base alignment 32 bytes
# Number of IO addresses required: 32
# (IO 0 (SIZE 32) (BASE 0x0340) (CHECK))
# IRQ 9, 10, 11 or 12.
# High true, edge sensitive interrupt
# (INT 0 (IRQ 9 (MODE +E)))
# End dependent functions
(NAME "ADP1505/2928046908[0]{SCSI Controller }")
(ACT Y)
))
# End tag... Checksum 0x00 (OK)
# Returns all cards to the "Wait for Key" state
(WAITFORKEY)
j'ai aussi essayé en enlevant le module sg (rmmod sg). (tiens, hier soir le module aha152x apparraissait dans la ligne scsi_mod et plus ce matin ?!?)
en essayant les divers irq possibles
mais j'obtient toujours la meme erreur :
Board 1 has Identity 00 ae 86 73 3c 05 15 90 04: ADP1505 Serial No 2928046908 [checksum 00]
/etc/isapnp.conf:48 -- Fatal - IO range check attempted while device activated
/etc/isapnp.conf:48 -- Fatal - Error occurred executing request '<IORESCHECK> ' --- further action aborted
le man me dit
IO range check attempted while device activated
Your configuration file has attempted to carry out
an IO range check on a device which has already
been configured and activated. You must either not
attempt the check, or deactivate the device before
the check. This error is a sign that you are on
shakey ground. If the device is already activated,
and you are running isapnp for the first time, then
some other program has already activated the device
(may be the BIOS, or some of the cleverer kernel
drivers). You probably shouldn't be attempting to
configure the device at all. There could already be
drivers accessing the card.
et cette carte ne me sert pourtant que pour mon scanner.
j'ai dans /dev un fichier sg0 mais pas de fichier scanner, doit-je en créé un ? car tu a l'air de le faire dans le script de demarrage
voila le détail en esperant que ça puisse eclaircir mon problème
sinon, je me suis apperçu que chez moi les irq étaient lisible dans /proc/interrupts (avec un s) et non dans /proc/interrupt.
voila si ça aide...
Le manuel disait « Nécessite Windows XP ou mieux ». J'ai donc installé Linux.
Hors ligne
#10 Le 18/08/2006, à 11:26
- Zergy
Re : [Tutoriel] Faire fonctionner des périphériques ISA
Le fichier /dev/scanner n'est qu'un lien vers /dev/sg0
sudo ln -s /dev/sg0 /dev/scanner
Pour le problème <IORESCHECK> va au lignes incriminée et supprime le (CHECK)
(IO 0 (SIZE 32) (BASE 0x0140) (CHECK))
(IO 0 (SIZE 32) (BASE 0x0340) (CHECK))
Deviennent
(IO 0 (SIZE 32) (BASE 0x0140))
(IO 0 (SIZE 32) (BASE 0x0340))
Bien sûr, si l'IO 0x0140 ne fonctionne pas, essaye le 0x0340
Pour connaitre la liste des portes d'IO occupés :
cat /proc/ioports
Hors ligne
#11 Le 15/09/2006, à 15:12
- Bebertii
Re : [Tutoriel] Faire fonctionner des périphériques ISA
Bonjour,
Tout d'abord un grand merci pour ce tuto qui m'a enlevé une fière chandelle du pied
J'ai installé ce matin Ubuntu Dapper sur un PIII 933 - 256MB - Voodoo3 que je voulais remettre un peu à niveau. La raison pour laquelle je garde ce PC est qu'il dispose de 2 slots ISA me permettant d'utiliser un scanner "Relisys Infinity" acheté en même temps que mon premier ordi, en 1996. Malgré ses bientot 12 ans, il remplit bien ses fonctions et je ne suis décidé à en changer.
J'ai donc utilisé ton tuto pour ma carte son qui se trouve être une Yamaha OPL3Sax comme toi
EN revanche, je n'ai pu utiliser l'autre partie du tuto pour la carte scsi car elle n'apparaît tout simplement pas avec un pnpdump. Je ne l'ai pas touché et elle fonctionnait correctement jusqu'à hier sous WIN98 (qui a disparu ce matin de mon disque dur, suite à la susdite mise à jour).
Aurais-tu une astuce pour que je puisse tout de même installer mon disque ?
Merci !
Hors ligne
#12 Le 15/09/2006, à 16:52
- Zergy
Re : [Tutoriel] Faire fonctionner des périphériques ISA
Et en faisant un PNPDump en mettant uniquement la carte SCSI ça ne donne rien de rien ?
Si tu le fait, redirige la sorti du PNPDump vers un fichier autre que /etc/isapnp.conf pour ne pas le supprimer.
Par exemple :
sudo pnpdump > /home/beberti/isapnp.test
Sous Dapper, isapnp est remplacé par PNP-BIOS Tools, tu peut l'avoir avec :
sudo apt-get install pnpbios-tools
Mais étant donné que je m'en suis jamais servie, je ne pourrait pas t'aider...
(Je testerais quand je passerais mon Pentium II 450 MHz de Debian Sarge à Debian Etch)
Hors ligne
#13 Le 15/09/2006, à 22:40
- Bebertii
Re : [Tutoriel] Faire fonctionner des périphériques ISA
Bonsoir,
Merci pour la réponse !
D'abord il y a assez peu de risque que j'écrase mon fichier /etc/isapnp.conf comme tu le dis :
piou@piou-desktop:~$ sudo pnpdump > /etc/isapnp.test
bash: /etc/isapnp.test: Permission non accordée
ensuite, et bien j'ai débranché ma carte son pour voir ce que ça donnait et la carte n'apparait pas :
piou@piou-desktop:~$ sudo pnpdump
Password:
# $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
# Trying port address 027b
# Trying port address 0283
# Trying port address 028b
# Trying port address 0293
REALTIME operation timeout exceeded - Switching to normal scheduling
nanosleep failed: Interrupted system call
# Trying port address 029b
# Trying port address 02a3
# Trying port address 02ab
# Trying port address 02b3
# Trying port address 02bb
# Trying port address 02c3
# Trying port address 02cb
# Trying port address 02d3
# Trying port address 02db
# Trying port address 02e3
# Trying port address 02eb
# Trying port address 02f3
# Trying port address 0303
# Trying port address 030b
# Trying port address 0313
# Trying port address 031b
# Trying port address 0323
# Trying port address 032b
# Trying port address 0333
# Trying port address 033b
# Trying port address 0343
# Trying port address 034b
# Trying port address 0353
# Trying port address 035b
# Trying port address 0363
# Trying port address 036b
# Trying port address 0373
# Trying port address 037b
# Trying port address 0383
# Trying port address 038b
# Trying port address 0393
# Trying port address 039b
# Trying port address 03a3
# Trying port address 03ab
# Trying port address 03b3
# Trying port address 03bb
# Trying port address 03e3
# Trying port address 03eb
# Trying port address 03f3
# No boards found
Pour la défense de Dapper, j'ajoute que cette carte n'est pas non plus détectée par win98, que je viens de réinstaller en désespoir de cause. Lorsque je lui demande de détecter un nouveau matériel, Win98 ne trouve rien. Je dois installer le logiciel Relysis qui me demande le type de carte et le port et il se charge de situer lui-même le scanner.
Je pense finalement que ce n'est pas à proprement parler une carte scsi, mais plutot une sorte d'interface pour le scanner.
Je reboote sous win98 pour rajouter en édit les infos que je peux avoir sur la carte.
J'ai installé pnpbios-tools, je regarderai demain ce que ca donne
Bonne soirée !
[EDIT]
Voila, de retour sous Win98, j'en profite pour faire un screenshot de l'interface de Relisys:
Apparemment, la carte utilise l'adresse 0280, qui ne semble pas avoir été essayée par pnpdump (ou alors j'ai mal compris et l'adresse est 280H et la on est complètement en dehors de la plage de recherche !)
[EDIT]
[/EDIT]
Dernière modification par Bebertii (Le 15/09/2006, à 23:11)
Hors ligne
#14 Le 16/09/2006, à 12:29
- Zergy
Re : [Tutoriel] Faire fonctionner des périphériques ISA
J'ai l'impression que tu à une carte SCSI ultra propirétaire. Je n'ai trouvé aucune information su celle-ci.
Profites-en, les cartes ISA sont données actuellement
Hors ligne
#15 Le 16/09/2006, à 14:05
- Bebertii
Re : [Tutoriel] Faire fonctionner des périphériques ISA
Oui, c'est vrai que 3.50 ca pourrait valoir le coup, mais si je devais m'acheter une carte, je m'orienterais plutot sur une carte PCI, pour pouvoir l'utiliser sur mon PC le plus récent et ne plus garder ma rougne que pour le dépannage.
Mais je me demande également si mon scanner peut fonctionner sur une autre carte que celle-ci !
Bref, ce n'est pas grave, je reste sous Win98 pour le scan, ubuntu est installé, si je trouve des infos (genre le type de controleur, la puce ne me dit rien, mais si le coeur vous en dit, j'ai pris une photo de la carte ici), et ben je l'installerai sous Ubuntu
Merci pour ton aide !
Dernière modification par Bebertii (Le 16/09/2006, à 14:14)
Hors ligne
#16 Le 16/09/2006, à 17:10
- Zergy
Re : [Tutoriel] Faire fonctionner des périphériques ISA
C'est un carte DTC3181 (c'est marqué dessus à droite), d'après le noyau, elle utilise le module dtc.
En cherchant, j'ai vu qu'elle n'utilisait effectivement pas d'IRQ (ce qu'il fait qu'elle monopolise le processeur quand le scanner est en fonctionnement).
En faite, c'est pas une carte propriètaire que tu as, c'est une carte toute pourrite.
Essaye en chargeant directement son module avec ses paramètres sans passer par PNPTools.
modprobe dtc io=0x280 irq=255
Un photo plus net de des deux coté de la carte permetterait de connaître les jumpers utilisés et de voir les inscriptions sur les composants.
Dernière modification par Zergy (Le 16/09/2006, à 17:19)
Hors ligne
#17 Le 16/09/2006, à 21:50
- Bebertii
Re : [Tutoriel] Faire fonctionner des périphériques ISA
[mode gros malin]
Ok, pas de problème, j'avais fait une photo avec mon portable, mais je vais scanner la carte comme ça l'image sera meilleure !
[/mode gros malin]
Merci pour l'info, je n'avais pas pensé à cherché avec ce numéro, j'avais tenté une recherche avec ce qu'il y a d'écrit sur la puce principale mais ca n'avait rien donné.
Bon, alors je tente ca demain et je te tiens au jus.
Bonne soirée !
Hors ligne
#18 Le 17/09/2006, à 20:04
- Bebertii
Re : [Tutoriel] Faire fonctionner des périphériques ISA
Voila pour les photos avant et arrière :
avant
arrière
Pour ce qui est de la commande "modprobe dtc io=0x280 irq=255", dmesg me dit que le paramètre io est inconnu, je vais chercher...
Sinon, as-tu réussi à configurer timidity avec ta yamaha ?
La commande "timidity monfichier.mid" fonctionne par exemple, mais je n'arrive pas à obtenir de son ni avec pmidi, ni avec xmms...
Bonne soirée
Dernière modification par Bebertii (Le 17/09/2006, à 20:06)
Hors ligne
#19 Le 18/09/2006, à 15:42
- Zergy
Re : [Tutoriel] Faire fonctionner des périphériques ISA
Carte SCSI
D'après les images de ta carte ISA, on voit sur le verso que les connecteurs J2, J4 et J5 on des soudures (Jumper).
D'après le tableau affiché sur la carte, si les Jumper J2 et J4 sont actifs, ce le port 0x280 qui est utilisé (on retombe sur ce que dit le programme Windows)
Par contre, J5 détermine l'IRQ, J5 désignant l'IRQ 5, il semble qui soit utilisé, mais vérifie avant si l'IRQ 5 n'est pas déjà utilisé avec :
cat /proc/interrupts
Sinon :
kernel panic:
Vu que la carte SCSI se retrouverait à partager son IRQ.
Bref, si l'IRQ 5 est libre, tu met irq=5 dans la ligne de chargement de module, sinon, tu met irq=255.
Pour le paramètre d'entrée sortie, il est possible que celui-ci ne se nomme pas "io", sur ma carte son, il se nome "port", et "io" pour la carte SCSI.
Essaye en le nommant port, ou io_port ou ioport.
Carte son :
Heu... jamais essayé, mais je croit que cette carte dispose d'un synthétiseur MIDI embarqué, j'essaye.
Ca marche avec timidity (machine sous Debian 3.1), pmidi me donne un son pourri et, j'ai pas essayé avec XMMS (mais je crois qu'il utilise son propre système)
Hors ligne
#20 Le 18/09/2006, à 16:21
- Bebertii
Re : [Tutoriel] Faire fonctionner des périphériques ISA
Merci encore pour ton aide
Je n'ai pas eu l'occasion de faire le test avec ma carte scsi au niveau des io, mais avec un voltmètre maison (pile+LED) je n'ai pas réussi à identifier les jumper ouverts ou fermés ils ont tous l'air ouverts...
Pour la carte son, c'est bon j'arrive à obtenir un son avec pmidi, il a fallu que je vire le maximum d'options dans /etc/timidity/timidity.cfg parceque sinon je me retrouvais avec une utilisation processeur à 100%... gourmande la lecture midi !
Hors ligne
#21 Le 18/09/2006, à 16:34
- Zergy
Re : [Tutoriel] Faire fonctionner des périphériques ISA
quand j'essaye directement avec pmidi (pmidi -p 16:0 fichier.mid) j'ai pas de son, mais avec l'émulation timidity, ça roule.
Hors ligne
#22 Le 26/10/2007, à 10:30
- Zergy
Re : [Tutoriel] Faire fonctionner des périphériques ISA
Remontage de sujet, aujourd'hui, les cartes ISA non PNP :
Parmis les multiples cartes ISA existantes, on trouve deux classes :
- Les non PNP qu'il faut configurer à la main en modifiant la position de jumpers sur la carte elle-même, si elle en on.
- Les PNP qui se règles logiciellement avec isapnptools.
La première section du tutoriel concernait les cartes ISA PNP, voyons à présent comment paramétrer les cartes non PNP, qui sont généralement plus anciennes que les premières.
Comment savoir si ma carte n'est pas PNP ?
Le meilleur moyen est de tester la détection avec isapnptools en entrant la commande
sudo pnpdump | more
Si vous n'obtenez aucun paramètre pour la carte à régler, c'est que soit :
- Elle n'est pas PNP.
- Elle est mal enfichée.
- Elle ne fonctionne plus.
- Le port ISA sur lequel elle est branché ne fonctionne plus.
Pour la suite du tutoriel, nous prendront le fait que c'est le premier cas, pour les autres, vérifier qu'elle est bien enfichée (après avoir éteint l'ordinateur !), essayez avec une autre carte, un autre ordinateur.
Procédure
Pour paramétrer une carte ISA non PNP, il faut vérifier :
- Quels ports d'entrées/sorties, quels IRQ et quels DMA elle peut utiliser.
- Quels IRQ, DMA et ports d'entrées/sorties sont libres sur le système GNU/Linux.
- Indiquer le chargement du module dans /etc/modules avec les bon paramètres
- Paramétrer le BIOS afin d'attribuer les IRQ et ports d'entrées/sorties voulus aux carte ISA non PNP (Legacy ISA)
Que peut utiliser ma carte ?
Pour vérifier les paramètres de DMA, d'IRQ ou d'entrées/sorties qu'accepte votre carte ISA, le plus simple est d'arrêter l'ordinateur et de regarder directement sur la carte les paramètres d'IRQ, DMA et d'entrées/sorties qu'elle peut recevoir.
Ensuite, prenez un papier et un crayon et notez les.
Redémarrez l'ordinateur sans la carte ISA et utilisez les commandes
more /etc/interrupts
pour les IRQs, et
more /etc/ioports
pour les plages d'entrées/sorties.
Avec votre crayon, rayez les plages d'entrées/sorties et les numéros d'IRQ indiqués comme étant déjà utilisé.
Ensuite, arrêtez une nouvelle fois votre machine, insérez la carte ISA, redémarrez et allez dans le BIOS.
Paramétrer l'ordinateur
De la, cherchez les sections permettant le réglage des ports d'entrées/sorties et des IRQ.
Attribuer l'un des numéro d'IRQ et l'un des ports d'entrées/sorties de la liste au "Legacy ISA" en fonctions des numéros restant su votre papier. Notez que certaines cartes peuvent utiliser plusieurs plages d'entrées/sorties, comme les cartes son.
Retenez / Notez les ports d'entrées/sorties et numéro d'IRQ attribué en tant que "Legacy ISA" et quittez le BIOS tout en sauvegardant les changements.
Par exemple, avec une carte SCSI Adaptec AHA1505 non PNP, la carte indique qu'elle peut utiliser les paramètres suivants :
Port d'entrées/sortis : 0x280, 0x340
IRQ : 9, 10, 11 ou 12
Un fois revenus sous GNU/Linux, entrez une ligne de ce type pour charger le module de la carte ISA avec ses paramètres.
sudo modprobe <module> io=<port d'entrées/sorties> irq=<numéro irq> dma=<numéro dma>
Exemple avec un carte SCSI AHA1505 non PNP
sudo modprobe aha152x io=0x340 irq=10
Enfin, indiquez cette même ligne dans /etc/modules pour que le modules soit chargé au démarrage.
sudo echo "<module> io=<port d'entrées/sorties> irq=<numéro irq> dma=<numéro dma>" > /etc/modules
Exemple avec un carte SCSI AHA1505 non PNP
sudo echo "aha152x io=0x340 irq=10" > /etc/modules
Hors ligne
#23 Le 03/12/2007, à 18:46
- mistralazur
Re : [Tutoriel] Faire fonctionner des périphériques ISA
Salut,
J'ai suivi ton tutoriel...
A mon avis le problème vient d'un conflit avec les IRQ et/ou les IOPORTS.
La preuve en est que, à tour de rà´le, en déchargeant tel ou tel module (ici 3c509 - carte réseau - ou snd-sbawe - carte son) j'ai soit le son soit internet.
Mais impossible s'avoir les deux en même temps.
J'ai essayé de bidouiller le fichier isapnp.conf mais à force j'ai fini par me mélanger les pinceaux !
n.b. : j'ai utilsé les résultats des commandes cat/proc/ioports et cat/proc/irq.
Vous l'aurez compris il s'agit de matériel ISA.
Bref on y est presque. Alors un petit coup de main ?
Hors ligne
#24 Le 04/12/2007, à 14:09
- mistralazur
Re : [Tutoriel] Faire fonctionner des périphériques ISA
Salut,
Et bien cette fois-ci, tout fonctionne : carte son + carte réseau !
Il faut vraiment bidouiller le fichier isapnp.conf ...
En tout cas, merci pour ce sympathique tutoriel !
Hors ligne
#25 Le 06/07/2008, à 12:52
- dva2tlse
Re : [Tutoriel] Faire fonctionner des périphériques ISA
Bonjour,
je suis sous ubuntu 8.04-hardy, mais je n'ai pas encore le net; j'écris donc depuis windows, que je suis également obligé d'utiliser pour les téléchargements; j'ai réussi à avoir un driver pour mon modem 56K qui me permettra, quand il marchera, de télécharger les fichier dont j'ai besoin pour mettre en marche le driver de mon modem adsl (interne lui aussi).
Pour être sûr que le driver du 56K fonctionne, je voudrais au moins entendre le modem composer quelque chose mais le GNOME-PPP que j'ai installé ne détecte pas de modem.
Merci de m'aider à faire fonctionner ça,
David
PS: c'est un modem Olitec V92 à chipset conextant, qui a posé problème à plein de gens.
PS2: sous windows où il fonctionne, il est indiqué dans les ressources du modem que je peux consulter dans le gestionnaire de périphériques qu'il utilise l'IRQ 18 alors que dans ubuntu, scanmodem détecte qu'il lui est attribué la 16; comment changer ça ?
PS3: [6/7/08, 15:48] je viens de découvrir ce post qui me rapelle que cette saleté de modem est bien un carte ISA-PNP, donc ja vais essayer de faire ce qu'il faut... (et merci pour le tuto)
xubuntu 22.04 dans un PC assemblé
PS: Dis toto, pourquoi l'univers existe-t'il ?
Je vais y réfléchir avec Morphée et lui dès avant 22h55, donc ici, il faut se contacter auparavant.
Hors ligne