Hello. I have an ISA PnP NE-12 (NE2000 compatible) NIC based on UMC UM9008F chip. This is an output of 'pnpinfo' in this system: =======start of pnpinfo output======== Checking for Plug-n-Play devices... Card assigned CSN #1 Vendor ID UMC9008 (0x0890a355), Serial Number 0x630f0000 PnP Version 1.0, Vendor Version 16 Device Description: ISA PLUG & PLAY Ethernet Card Logical Device ID: UMC9008 0x0890a355 #0 Device supports I/O Range Check Vendor register funcs 00 Compatible Device ID: PNP80d6 (d680d041) I/O Range 0x200 .. 0x3e0, alignment 0x20, len 0x20 [not 16-bit addr] IRQ: 2 3 4 5 10 11 12 15 IRQ: High true edge sensitive End Tag Successfully got 6 resources, 1 logical fdevs -- card select # 0x0001 CSN UMC9008 (0x0890a355), Serial Number 0x630f0000 Logical device #0 IO: 0x0200 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 IRQ 2 0 DMA 4 4 IO range check 0x00 activate 0x01 =======end of pnpinfo output======== This card works well with FreeBSD 4.X but refuse to work with FreeBSD 5.X. Now I'm trying to make it work with FreeBSD 5.2-RC1. Following is a part of dmesg, right after I installed 5.2-RC1: ed1: <ISA PLUG & PLAY Ethernet Card> at port 0x200-0x21f irq 2 on isa0 device_probe_and_attach: ed1 attach returned 22 When I saw it I thought that the problem is in PnP initialization because IRQ 2 looks wrong. I didn't programmed FreeBSD kernel and its device drivers in a past, so I made simple but ugly patch to the 'ed' driver: --- if_ed.c.orig Wed Dec 17 12:44:49 2003 +++ if_ed.c Fri Dec 19 16:34:32 2003 _at__at_ -1655,7 +1655,7 _at__at_ struct resource *res; res = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, - 0ul, ~0ul, 1, (RF_ACTIVE | flags)); + 3ul, ~0ul, 1, (RF_ACTIVE | flags)); if (res) { sc->irq_rid = rid; sc->irq_res = res; After I recompiled the kernel I got following text in dmesg: ed1: <ISA PLUG & PLAY Ethernet Card> at port 0x200-0x21f irq 5 on isa0 ed1: bpf attached ed1: address 00:00:21:82:25:03, type NE2000 (16 bit) And finally when I ran 'ifconfig -a' I saw this: ed1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::200:21ff:fe82:2503%ed1 prefixlen 64 scopeid 0x4 ether 00:00:21:82:25:03 Ok but ed1 still doesn't work! It can send packets but cannot receive any packet. This is how I found it. On the 5.2-RC1 box I ran ping with IP address of second host of my home LAN and in the second pseudo-terminal I ran tcpdump. On the destination host I ran ethereal. The tcpdump detected several outgoing packets with ARP requests. The ethereal detected all these packets as incoming and also several outgoing packets with ARP responses. There is no problem to ping the same second host when I used 3Com NIC and the same Ethernet cable at the same box. Also there are many error messages in /var/log/messages when ed1 is UP: Dec 19 17:01:37 vega kernel: ed1: device timeout Dec 19 17:01:42 vega last message repeated 2 times Dec 19 17:03:05 vega last message repeated 5 times Do you have any idea why FreeBSD 5.x still can't work with ISA PnP NE2000 compatible NICs like the one I have? Thanks P.S. since I'm not subscribed to freebsd-current mailing list could you please Cc you replies to me too? __________________________________ Do you Yahoo!? New Yahoo! Photos - easier uploading and sharing. http://photos.yahoo.com/Received on Fri Dec 19 2003 - 16:33:14 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:34 UTC