kernel 2.4.x a isapnp

Miroslav BENES mbenes na tenez.cz
Pondělí Říjen 22 13:45:31 CEST 2001


Preji krasny den !

Posilam tento dotaz na vyvojare podpory ISA PnP v kernelu 2.4. 
(Jaroslav Kysela) i do konference. Pokud najdeme reseni, mozna se 
bude hodit i nekomu dalsimu.

Nynejsi stav : Mam ISA kartu, ktera podporuje PnP. Konkretne jde o 
zvukovku SB64AWE, ale v principu je to jedno.
Po zavedeni modulu isa-pnp se ohlasi v /proc/isapnp takto (kraceno) :


Card 1 'CTL00c5:Creative SB AWE64 PnP' PnP version 1.0 Product version
1.0
  Logical device 0 'CTL0045:Audio'
    Device is active
    Active port 0x220,0x330,0x388
    Active IRQ 5 [0x2]
    Active DMA 1,5
    Resources 0
      Priority preferred
      Port 0x220-0x220, align 0x0, size 0x10, 16-bit address decoding
      Port 0x330-0x330, align 0x0, size 0x2, 16-bit address decoding
      Port 0x388-0x3f8, align 0x0, size 0x4, 16-bit address decoding
      IRQ 5 High-Edge
	  DMA 1 8-bit byte-count compatible
      DMA 5 16-bit word-count compatible
      Alternate resources 0:1
... (nasleduji ruzne dalsi kombinace IO, IRQ ..)...
  Logical device 1 'CTL7002:Game'
    Compatible device PNPb02f
    Device is not active
    Resources 0
      Priority preferred
      Port 0x200-0x200, align 0x0, size 0x8, 16-bit address decoding
      Alternate resources 0:1
        Priority acceptable
        Port 0x200-0x208, align 0x7, size 0x8, 16-bit address decoding
  Logical device 2 'CTL0022:WaveTable'
    Device is not active
    Resources 0
      Priority preferred
      Port 0x620-0x620, align 0x0, size 0x4, 16-bit address decoding
      Port 0xa20-0xa20, align 0x0, size 0x4, 16-bit address decoding
      Port 0xe20-0xe20, align 0x0, size 0x4, 16-bit address decoding
      Alternate resources 0:1
        Priority acceptable
        Port 0x620-0x680, align 0x1f, size 0x4, 16-bit address
        decoding Port 0xa20-0xa80, align 0x1f, size 0x4, 16-bit
        address decoding Port 0xe20-0xe80, align 0x1f, size 0x4,
        16-bit address decoding

-- konec --


Jak se da zmenit konfigurace pridelenych prostredku ?

a) samotna zvukovka - docela dobre. Podle navodu v 
/usr/src/linux/Documentation/isapnp.txt jsem poslal do /proc/isapnp 
tyto udaje :

cat > /proc/isapnp <<EOF
card 0 CTL00c5
dev 0 CTL0045
port 0 0x220
port 1 0x330
port 2 0x388
irq 0 9
dma 0 1
dma 1 5
activate
EOF

Karta se prepnula a obsadila IRQ 9.

Dotaz : To je pekne, ale jak to zautomatizovat ? Nepocita se (aspon 
do budoucna) s tim, ze by se tyto hodnoty nacitaly z nejakeho 
konfiguraku (distribuce RH) ? Urcite by to slo nastavit i jinak - 
napada me napr. nastaveni klauzule "pre-install sb .." v 
/etc/modules.conf, ale to neni zrovna ciste reseni.



b) dalsi zarizeni - nejde menit !
Podle zmineneho navodu jsem doplnil nastavovaci skript na (pisu ho 
pro poradek cely) :

cat > /proc/isapnp <<EOF
card 0 CTL00c5
dev 0 CTL0045
port 0 0x220
port 1 0x330
port 2 0x388
irq 0 9
dma 0 1
dma 1 5
activate
dev 1 CTL7002
port 0 0x208
activate
dev 2 CTL0022
port 0 0x640
port 1 0xa40
port 2 0xe40
activate
EOF

Ocekaval bych, ze se zmeni adresa portu pro joy na 0x208 (takto to 
byl nastaveno drive pomoci balicku isapnp a /etc/isapnp.conf). Stejne 
tak bych cekal, ze se zmeni obsazeni io portu pro wave-table 
jednotku. Ale misto toho se v logu objevi :

isapnp: device 'CTL7002' order 1 not found
isapnp: device 'CTL0022' order 2 not found

Zkousel jsem nastavovat samostatne druhou, resp. treti cast, ale se 
stejnym vysledkem.

Dotaz : Jak se daji nastavit parametry pro jinou nez "hlavni" 
jednotku na PnP karte ? Jake je spravne "adresovani" - oznaceni 
CTLxxxx ktere se objevi ve vypisu program zda se nerozumi.



Dotaz : Je nekde k nalezeni k tomuto podrobnejsi navod nez zmineny 
soubor z dokumentace kernelu ?


Predem diky za odpoved.




--------------------------
Miroslav BENES
E-mail   : mbenes na tenez.cz
TENEZ Chotebor, a.s
--------------------------


Další informace o konferenci Linux