[vortex] incorrect interrupt assignment?
David S. H. Rosenthal
dshr@abitare.org
Wed, 11 Apr 2001 10:54:58 -0700
ruben@nutz.nl wrote:
> Guess: You have 'PNP controlled by:' set to OS, and not BIOS. The way PNP
> assigns interrupts is different from the way other OS'es do this. Another OS
> might think that sound or video-performance is more important on a server :)
>
Thank you, Ruben, for this suggestion.
We have now tried both machines on which we observe the problem with
their "PnP O/S" settings both ways, and it doesn't make any difference.
> Do the cards work? The two multiboot machines I have both do the same, and I
> have yet to find any ill effects.
>
In both cases the cards work running under Windows.
I have now had a chance to spend some time with one of the two machines that
is having problems. Below is everything I could think of that might be useful,
given the limited facilities available when running the Linux Router Project
environment.
I'm no longer so sure that the interrupt assignment is the problem. Although
on this machine the card gets interrupt 3 where under Windows it gets 11,
and although it is sharing interrupt 3 with something else, the output from
/proc/interrupts shows the kernel getting interrupts from eth0 on IRQ3. The
number of interrupts I think matched the number of Tx packets shown by
ifconfig eth0 at that stage. Although the number of Tx packets shown went
up over time the number of Rx packets stayed zero. The driver seems to
detect an overrun soon after initialization but nothing else.
I should stress that this exact LRP boot floppy has run correctly on many
other machines with eepro100 and tulip interfaces including some on the same
subnet as when I collected the following data, and on older motherboards
with 3c905 cards.
The next chance I get I will try the patches described in
http://www.scyld.com/pipermail/vortex/2000-December/000858.html
David.
PnP O/S BIOS option set to "No"
dmesg output:
Wed Apr 11 03:38:17 CDT 2001
Linux version 2.2.18 (root@sul-lockss1.stanford.edu) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #21 Mon Feb 26 17:16:00 PST 2001
Detected 930331 kHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 1854.66 BogoMIPS
Memory: 127172k/130816k available (836k kernel code, 416k reserved, 1564k data, 44k init)
Dentry hash table entries: 16384 (order 5, 128k)
Buffer cache hash table entries: 131072 (order 7, 512k)
Page cache hash table entries: 32768 (order 5, 128k)
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
256K L2 cache (8 way)
CPU: L2 Cache: 256K
CPU: Intel Pentium III (Coppermine) stepping 06
Checking 386/387 coupling... OK, FPU using exception 16 error reporting.
Checking 'hlt' instruction... OK.
Checking for popad bug... OK.
POSIX conformance testing by UNIFIX
PCI: PCI BIOS revision 2.10 entry at 0xfda95
PCI: Using configuration type 1
PCI: Probing PCI hardware
Linux NET4.0 for Linux 2.2
Based upon Swansea University Computer Society NET3.039
NET4: Unix domain sockets 1.0 for Linux NET4.0.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
TCP: Hash tables configured (ehash 131072 bhash 65536)
Starting kswapd v 1.5
Serial driver version 4.27 with no serial options enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
Software Watchdog Timer: 0.05, timer margin: 60 sec
Real Time Clock Driver v1.09
RAM disk driver initialized: 16 RAM disks of 12288K size
loop: registered device at major 7
PCI_IDE: unknown IDE controller on PCI bus 00 device f9, VID=8086, DID=244b
PCI_IDE: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:DMA, hdd:pio
hda: Maxtor 52049H3, ATA DISK drive
hdc: Lite-On LTN483S 48x Max, ATAPI CDROM drive
hdd: IOMEGA ZIP 100 ATAPI, ATAPI FLOPPY drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: Maxtor 52049H3, 19473MB w/2048kB Cache, CHS=2482/255/63
hdc: ATAPI 48X CD-ROM drive, 120kB Cache
Uniform CD-ROM driver Revision: 3.11
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
Partition check:
hda: hda1 hda2 < hda5 hda6 >
RAMDISK: Compressed image found at block 0
RAMDISK: Uncompressing root archive: done.
RAMDISK: Auto Filesystem - minix: 4096i 12288bk 133fdz(133) 1024zs 2147483647ms
VFS: Mounted root (minix filesystem).
RAMDISK: Extracting root archive: done.
VFS: Disk change detected on device fd(2,44)
Freeing unused kernel memory: 44k freed
3c59x.c 15Sep00 Donald Becker and others http://www.scyld.com/network/vortex.html
eth0: 3Com 3c905C Tornado at 0xdc00, 00:01:03:c2:8a:4d, IRQ 3
8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
MII transceiver found at address 1, status 24.
MII transceiver found at address 2, status 24.
Enabling bus-master transmits and whole-frame receives.
eepro100.c:v1.09j-t 9/29/99 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/eepro100.html
eepro100.c: $Revision: 1.20.2.10 $ 2000/05/31 Modified by Andrey V. Savochkin <saw@saw.sw.com.sg> and others
eepro100.c: VA Linux custom, Dragan Stancevic <visitor@valinux.com> 2000/11/15
eepro100: No cards found, driver not installed.
epic100.c:v1.07h 8/18/99 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/epic100.html
ne2k-pci.c:vpre-1.00e 5/27/99 D. Becker/P. Gortmaker http://cesdis.gsfc.nasa.gov/linux/drivers/ne2k-pci.html
ne2k-pci.c: No useable cards found, driver NOT installed.
lsmod output:
Module Size Used by
8390 5732 0
3c59x 18324 1
ifconfig eth0 output:
eth0 Link encap:Ethernet HWaddr 00:01:03:C2:8A:4D
inet addr:171.66.233.10 Bcast:171.66.233.255 Mask:255.255.254.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:1 frame:0
TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:3 Base address:0xdc00
cat /proc/pci output:
PCI devices found:
Bus 0, device 0, function 0:
Host bridge: Intel Unknown device (rev 2).
Vendor id=8086. Device id=1130.
Fast devsel. Fast back-to-back capable. Master Capable. No bursts.
Prefetchable 32 bit memory at 0xf8000000 [0xf8000008].
Bus 0, device 1, function 0:
PCI bridge: Intel Unknown device (rev 2).
Vendor id=8086. Device id=1131.
Fast devsel. Master Capable. Latency=64. Min Gnt=8.
Bus 0, device 30, function 0:
PCI bridge: Intel Unknown device (rev 2).
Vendor id=8086. Device id=244e.
Fast devsel. Fast back-to-back capable. Master Capable. No bursts. Min Gnt=2.
Bus 0, device 31, function 0:
ISA bridge: Intel Unknown device (rev 2).
Vendor id=8086. Device id=2440.
Medium devsel. Fast back-to-back capable. Master Capable. No bursts.
Bus 0, device 31, function 1:
IDE interface: Intel Unknown device (rev 2).
Vendor id=8086. Device id=244b.
Medium devsel. Fast back-to-back capable. Master Capable. No bursts.
I/O at 0xffa0 [0xffa1].
Bus 0, device 31, function 2:
USB Controller: Intel Unknown device (rev 2).
Vendor id=8086. Device id=2442.
Medium devsel. Fast back-to-back capable. IRQ 10. Master Capable. No bursts.
I/O at 0xef80 [0xef81].
Bus 0, device 31, function 3:
SM Bus: Intel Unknown device (rev 2).
Vendor id=8086. Device id=2443.
Medium devsel. Fast back-to-back capable. IRQ 9.
I/O at 0xefa0 [0xefa1].
Bus 1, device 0, function 0:
VGA compatible controller: ATI Unknown device (rev 0).
Vendor id=1002. Device id=5046.
Medium devsel. Fast back-to-back capable. IRQ 11. Master Capable. Latency=64. Min Gnt=8.
Prefetchable 32 bit memory at 0xf0000000 [0xf0000008].
I/O at 0xc800 [0xc801].
Non-prefetchable 32 bit memory at 0xff8fc000 [0xff8fc000].
Bus 2, device 9, function 0:
Ethernet controller: 3Com Unknown device (rev 120).
Vendor id=10b7. Device id=9200.
Medium devsel. IRQ 3. Master Capable. Latency=64. Min Gnt=10.Max Lat=10.
I/O at 0xdc00 [0xdc01].
Non-prefetchable 32 bit memory at 0xff9ffc00 [0xff9ffc00].
Bus 2, device 12, function 0:
Multimedia audio controller: Ensoniq ES1371 (rev 9).
Slow devsel. IRQ 9. Master Capable. Latency=64. Min Gnt=12.Max Lat=128.
I/O at 0xdf00 [0xdf01].
Bus 2, device 13, function 0:
Communication controller: Unknown vendor Unknown device (rev 8).
Vendor id=14f1. Device id=1036.
Medium devsel. Fast back-to-back capable. IRQ 3. Master Capable. Latency=64.
Non-prefetchable 32 bit memory at 0xff9e0000 [0xff9e0000].
I/O at 0xdff0 [0xdff1].
cat /proc/interrupts output:
CPU0
0: 121489 XT-PIC timer
1: 2327 XT-PIC keyboard
2: 0 XT-PIC cascade
3: 75 XT-PIC eth0
6: 87 XT-PIC floppy
8: 1 XT-PIC rtc
13: 1 XT-PIC fpu
14: 11 XT-PIC ide0
15: 12 XT-PIC ide1
NMI: 0
cat /proc/ioports output:
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
0376-0376 : ide1
03c0-03df : vga+
03f0-03f5 : floppy
03f6-03f6 : ide0
03f7-03f7 : floppy DIR
03f8-03ff : serial(set)
dc00-dc7f : eth0
ffa0-ffa7 : ide0
ffa8-ffaf : ide1
cat /proc/net/arp output:
IP address HW type Flags HW address Mask Device
cat /proc/net/dev output:
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 2748 27 0 0 0 0 0 0 2748 27 0 0 0 0 0 0
eth0: 0 0 0 0 1 0 0 0 3150 76 0 0 0 0 0 0
cat /proc/net/dev_mcast output:
2 eth0 1 0 01005e000001
cat /proc/net/dev_stat output:
00000000 00000000 00000000 00000000 00000000
cat /proc/net/igmp output:
Idx Device : Count Querier Group Users Timer Reporter
1 lo : 0 V2
010000E0 1 0:FFFD9045 0
2 eth0 : 1 V2
010000E0 1 0:FFFD904D 0
cat /proc/net/ip_fwchains output:
cat /proc/net/ip_fwnames output:
input ACCEPT 1 0 27 0 2748
forward ACCEPT 1 0 0 0 0
output ACCEPT 1 0 54 0 4740
cat /proc/net/netstat output:
TcpExt: SyncookiesSent SyncookiesRecv SyncookiesFailed EmbryonicRsts PruneCalled RcvPruned OfoPruned OutOfWindowIcmps LockDroppedIcmps SockMallocOOM
TcpExt: 0 0 0 0 0 0 0 0 0 0
IpExt: ArpFilter
IpExt: 0
cat /proc/net/raw output:
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
0: 00000000:0001 00000000:0000 07 00000000:00000000 00:00000000 00000000 0 0 0
1: 00000000:0006 00000000:0000 07 00000000:00000000 00:00000000 00000000 0 0 0
cat /proc/net/route output:
Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT
eth0 0AE942AB 00000000 0005 0 0 0 FFFFFFFF 0 0 0
lo 0100007F 00000000 0005 0 0 0 FFFFFFFF 0 0 0
eth0 00E842AB 00000000 0001 0 0 0 00FEFFFF 0 0 0
eth0 00000000 01E842AB 0003 0 0 0 00000000 0 0 0
cat /proc/net/rt_cache output:
Iface Destination Gateway Flags RefCnt Use Metric Source MTU Window IRTT TOS HHRef HHUptod SpecDst
cat /proc/net/snmp output:
Ip: Forwarding DefaultTTL InReceives InHdrErrors InAddrErrors ForwDatagrams InUnknownProtos InDiscards InDelivers OutRequests OutDiscards OutNoRoutes ReasmTimeout ReasmReqds ReasmOKs ReasmFails FragOKs FragFails FragCreates
Ip: 2 64 27 0 0 0 0 0 0 54 0 0 0 0 0 0 0 0 0
Icmp: InMsgs InErrors InDestUnreachs InTimeExcds InParmProbs InSrcQuenchs InRedirects InEchos InEchoReps InTimestamps InTimestampReps InAddrMasks InAddrMaskReps OutMsgs OutErrors OutDestUnreachs OutTimeExcds OutParmProbs OutSrcQuenchs
OutRedirects OutEchos OutEchoReps OutTimestamps OutTimestampReps OutAddrMasks OutAddrMaskReps
Icmp: 27 0 27 0 0 0 0 0 0 0 0 0 0 27 0 27 0 0 0 0 0 0 0 0 0 0
Tcp: RtoAlgorithm RtoMin RtoMax MaxConn ActiveOpens PassiveOpens AttemptFails EstabResets CurrEstab InSegs OutSegs RetransSegs InErrs OutRsts
Tcp: 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Udp: InDatagrams NoPorts InErrors OutDatagrams
Udp: 0 0 0 24
cat /proc/net/sockstat output:
sockets: used 5
TCP: inuse 0 highest 0
UDP: inuse 0 highest 1
RAW: inuse 2 highest 3
cat /proc/net/tcp output:
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
cat /proc/net/udp output:
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
cat /proc/net/unix output:
Num RefCount Protocol Flags Type St Inode Path
c7ee67a0: 00000000 00000000 00010000 0001 01 1162 /dev/log
c7ee6fb0: 00000001 00000000 00000000 0001 03 1184 @00000002
c7ee6a50: 00000001 00000000 00000000 0001 03 1168 @00000001
c7ee7260: 00000001 00000000 00000000 0001 03 1185 /dev/log
c7ee6d00: 00000001 00000000 00000000 0001 03 1169 /dev/log