1.99.14 & duplicate NE2000

Herbert Rosmanith (herp@wildsau.idv.uni-linz.ac.at)
Sat, 8 Jun 1996 20:56:53 +0200 (MET DST)


happens with 1.99.14:

kernel = monolithic, nearly every software compiled in. however, from a
previous compile, there are still /lib/modules/1.99.14/* left over

at booting, a NE2000 (the only network-card in the system!) is reported as:

> ne.c:v1.10 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov)
> NE*000 ethercard probe at 0x340: 00 00 e8 c6 d1 1f
> eth0: NE2000 found at 0x340, using IRQ 15.

quite fine. /proc/interrupts and /proc/ioports read as follows:

0: 16970 timer
1: 196 keyboard
2: 0 cascade
9: 1820 + aic7xxx
13: 1 math error
14: 76 + ide0
15: 634 NE2000
^^^^^^^^^^^^^^^^^^^^^

this is fine, since I don't have a 2nd IDE.

0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0080-009f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : npu
01f0-01f7 : ide0
02f8-02ff : serial(auto)
0340-035f : NE2000
^^^^^^^^^^^^^^^^^^
03c0-03df : vga+
03e8-03ef : serial(auto)
03f0-03f5 : floppy
03f6-03f6 : ide0
03f7-03f7 : floppy DIR
03f8-03ff : serial(auto)
f400-f4be : aic7xxx

okay so far!

now I go on, and type

insmod /lib/modules/1.99.14./net/8390.o
insmod /lib/modules/1.99.14./net/ne.o io=0x340
^^^^^^^^

this is of course not correct. 0x340 is already being used by eth0.
however, eth1 is detected:

> root@ferkel # insmod /lib/modules/1.99.14/net/8390.o
> root@ferkel # insmod /lib/modules/1.99.14/net/ne.o io=0x340
> loading device 'eth1'...
> ne.c:v1.10 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov)
> NE*000 ethercard probe at 0x340: 00 00 e8 c6 d1 1f
^^^^^^^^^^^^^^^^^^^^^^^^

as you can see, the ioaddr is the same as the one used for eth0.
is there a bug in the housekeeping(?) (bookkeeping?) code of
request_region? or does ne.c not make use of it ?

> eth1: NE2000 found at 0x340, using IRQ 7.
^^^^^^

next strange thing is this IRQ. IRQ=7 is not used under linux, I only use
it under m$/dos for the SB16 card. under m$/dos, the SB16 is initialised the
following way:

> SET BLASTER=A220 I7 D1 H5 P330 T6
^^
> C:\SB16\SB16SET /P /Q

while under linux, the card should use irq=10, as you can read above
from /proc/interrupts. bug in sounddriver ? (I'm pretty sure this
bug is responsible for my dead keyboard, also).

last: when I now remove eth1 (rmmod ne.o; rmmod 8390.o), the NE2000 doesn't
show up in /proc/ioports anymore, but that's of course a (folgefehler?)
an error caused by a previous error :-)

/herp