From owner-freebsd-net Sat Mar 24 10:18:23 2001 Delivered-To: freebsd-net@freebsd.org Received: from hotmail.com (f174.law12.hotmail.com [64.4.19.174]) by hub.freebsd.org (Postfix) with ESMTP id CBA3937B71A for ; Sat, 24 Mar 2001 10:18:14 -0800 (PST) (envelope-from edwynn42@hotmail.com) Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Sat, 24 Mar 2001 10:18:13 -0800 Received: from 24.65.68.114 by lw12fd.law12.hotmail.msn.com with HTTP; Sat, 24 Mar 2001 18:18:13 GMT X-Originating-IP: [24.65.68.114] From: "Ed Wynn" To: freebsd-net@freebsd.org Subject: D-Link problem Date: Sat, 24 Mar 2001 13:18:13 -0500 Mime-Version: 1.0 Content-Type: text/plain; format=flowed Message-ID: X-OriginalArrivalTime: 24 Mar 2001 18:18:13.0738 (UTC) FILETIME=[CA37BCA0:01C0B48E] Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org I'm setting up a system (200MHz) with 4.2-RELEASE, and the network card that I have to go in it is a D-Link DFE-538TX/R PCI card, based on the RealTek 8139 chipset. I've been having all kinds of trouble getting it to work. The card works fine in a Win98 system, and the provided diagnostic tools report no problems. Sorry for the long message, but I'm trying to make sure that I have all the common questions answered. Here's what I've tried so far. I have if_rl_load="YES" in /boot/loader.conf Both enabled and disabled PnP OS support in the BIOS Both enabled and disabled WakeOnLan support in the card Moved the network card to different slots, including swapping order with the video card (these are the only boards in the system) Rebuilt the kernel to make sure rl support was enabled None of these provide any real change during the boot, which is that the device is not recognized, so when I try to ifconfig rl0 (or rl1), the interface does not exist. All possibly relevant output from boot -v: pcibios: PCI BIOS entry at 0x4b0 pnpbios: Found PnP BIOS data at 0xc00fca80 pnpbios: Entry = f0000:cab0 Rev = 1.0 pnpbios: OEM ID cd041 ... Preloaded elf module "if_rl.ko" at 0xc04600f8. Preloaded elf module "miibus.ko" at 0xc0460198. ... pci_open(1): mode 1 addr port (0x0cf8) is 0x8000005c pci_open(1a): mode1res=0x80000000 (0x80000000) pci_cfgcheck: device 0 [class=060000] [hdr=00] is there (id=70308086) ... pci_open(1): mode 1 addr port (0x0cf8) is 0x00000000 pci_open(1a): mode1res=0x80000000 (0x80000000) pci_cfgcheck: device 0 [class=060000] [hdr=00] is there (id=70308086) pcib0: on motherboard found-> vendor=0x8086, dev=0x7030, revid=0x02 class=06-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 found-> vendor=0x8086, dev=0x7000, revid=0x01 class=06-01-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 found-> vendor=0x8086, dev=0x7010, revid=0x00 class=01-01-80, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 map[20]: type 1, range 32, base 0000e800, size 4 found-> vendor=0x1002, dev=0x4754, revid=0x48 class=03-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=10 map[10]: type 1, range 32, base e6000000, size 24 map[14]: type 1, range 32, base 0000e000, size 8 found-> vendor=0x1186, dev=0x1300, revid=0x10 class=02-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=11 map[10]: type 1, range 32, base 0000d800, size 8 map[14]: type 1, range 32, base e5800000, size 8 pci0: on pcib0 PCI Concurrency: enabled Cache: 512K pipelined-burst secondary; L1 enabled DRAM: no memory hole, 66 MHz refresh Read burst timing: x-3-3-3/x-4-4-4 Write burst timing: x-3-3-3 RAS-CAS delay: 3 clocks isab0: at device 7.0 on pci0 I/O Recovery Timing: 8-bit 3.5 clocks, 16-bit 3.5 clocks Extended BIOS: disabled Lower BIOS: disabled Coprocessor IRQ13: enabled Mouse IRQ12: disabled Interrupt Routing: A: disabled, B: IRQ11, C: disabled, D: IRQ10 MB0: IRQ15, MB1: isa0: on isab0 atapci0: port 0xe800-0xe80f at device 7.1 on pci0 ... pci0: (vendor=0x1002, dev=0x4754) at 9.0 irq 10 pci0: (vendor=0x1186, dev=0x1300) at 11.0 irq 11 I know the unknown card here is the network card, since the vendor ID matches the one shown by the BIOS as "network controller" during system boot. There are no other devices conflicting with IRQ 10 or 11. Here's what pciconf -l has to say: chip0@pci0:0:0: class=0x060000 card=0x00000000 chip=0x70308086 rev=0x02 hdr=0x00 isab0@pci0:7:0: class=0x060100 card=0x00000000 chip=0x70008086 rev=0x01 hdr=0x00 atapci0@pci0:7:1: class=0x010180 card=0x00000000 chip=0x70108086 rev=0x00 hdr=0x00 none0@pci0:9:0: class=0x030000 card=0x47541002 chip=0x47541002 rev=0x48 hdr=0x00 none1@pci0:11:0: class=0x020000 card=0x13001186 chip=0x13001186 rev=0x10 hdr=0x00 Poring through the mailing list archives, I came across someone who posted a patch for a bug in /sys/pci/if_rl.c. It didn't help me, but while I was in there I noticed that there were other cards specified, but not mine. I checked on freebsd.org in the STABLE sources tree, but the last modification to the two files I was looking at was in 1999, so clearly nobody has done any official work in there in quite some time. I added the appropriate defines and extended the array of cards defined in if_rlreg.h, updated if_rl.c to match, and rebuilt the kernel. This now recognizes the card during the boot sequence, but then crashes like so: Doing initial network setup: hostname. Fatal trap 12: page fault in kernel mode fault virtual address = 0x0 fault code = supervisor read, page not present instruction pointer = 0x8:0xc0458007 stack pointer = 0x10:0xc4110d1c frame pointer = 0x10:0xc4110d28 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 53 (ifconfig) interrupt mask = net tty trap number = 12 panic: page fault I'm hoping that someone has an idea, something for me to try, whatever. I'm a programmer, and I've worked with FreeBSD for several years, so I don't mind getting down and dirty, but I haven't talked directly to hardware in quite a while, and I've never written a device driver or done kernel work, so I'm pretty much at a loss as to how to proceed right now. Any help most appreciated. Greg Schmidt (writing from edwynn42@hotmail.com until this is working) _________________________________________________________________________ Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message