I'm running 7.2-stable and I replaced an old ISA NIC with a D-Link DFE-530TX+ card. According to the manual, the correct driver for this card is rl driver. The kernel insists on using the vr driver which is for the DFE-530TX.>From what I can tell, the two cards have different chipsetsand so the drivers are not compatable. I can configure the vr driver, but the card does not work with it - I cannot establish a connection even with ping. Is there a way for me to force the kernel to use the rl driver? I am using a generic kernel, so all the needed drivers are built-in. Any other suggestions? Output from ifconfig and dmesg are below. Thanks, Mike Gass Minnesota USA ifconfig output --------------------------------------------------------- vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=2808<VLAN_MTU,WOL_UCAST,WOL_MAGIC> ether 00:22:b0:6d:e8:b6 inet 192.168.0.3 netmask 0xffffff00 broadcast 192.168.0.255 media: Ethernet autoselect (100baseTX <full-duplex>) status: active plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 dmesg output ------------------------------------------ Copyright (c) 1992-2009 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 7.2-STABLE #0: Sat Jun 13 09:59:29 CDT 2009 root@pavilion.home.net:/usr/obj/usr/src/sys/GENERIC module_register: module rl/miibus already exists! Module rl/miibus failed to register: 17 module_register: module cardbus/rl already exists! Module cardbus/rl failed to register: 17 module_register: module pci/rl already exists! Module pci/rl failed to register: 17 Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Pentium II/Pentium II Xeon/Celeron (400.91-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x665 Stepping = 5 Features=0x183f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR> real memory = 268369920 (255 MB) avail memory = 248492032 (236 MB) kbd1 at kbdmux0 acpi0: <PTLTD RSDT> on motherboard acpi0: [ITHREAD] acpi0: Power Button (fixed) Timecounter "ACPI-safe" frequency 3579545 Hz quality 850 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 agp0: <Intel 82443BX (440 BX) host to PCI bridge> on hostb0 pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0 pci1: <ACPI PCI bus> on pcib1 vgapci0: <VGA-compatible display> port 0x2000-0x20ff mem 0xf5000000-0xf5ffffff,0xf4100000-0xf4100fff irq 11 at device 0.0 on pci1 drm0: <3D Rage Pro AGP 1X/2X> on vgapci0 vgapci0: child drm0 requested pci_enable_busmaster info: [drm] AGP at 0xf8000000 64MB info: [drm] Initialized mach64 2.0.0 20060718 isab0: <PCI-ISA bridge> at device 7.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1050-0x105f at device 7.1 on pci0 ata0: <ATA channel 0> on atapci0 ata0: [ITHREAD] ata1: <ATA channel 1> on atapci0 ata1: [ITHREAD] uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0x1060-0x107f irq 5 at device 7.2 on pci0 uhci0: [GIANT-LOCKED] uhci0: [ITHREAD] usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0 usb0: USB revision 1.0 uhub0: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0 uhub0: 2 ports with 2 removable, self powered pci0: <bridge> at device 7.3 (no driver attached) pci0: <multimedia, audio> at device 10.0 (no driver attached) vr0: <VIA VT6105 Rhine III 10/100BaseTX> port 0x1400-0x14ff mem 0xf4000000-0xf40000ff irq 3 at device 11.0 on pci0 vr0: Quirks: 0x0 vr0: Revision: 0x86 miibus0: <MII bus> on vr0 ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto vr0: Ethernet address: 00:22:b0:6d:e8:b6 vr0: [ITHREAD] acpi_button0: <Power Button> on acpi0 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] atkbd0: [ITHREAD] psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: [ITHREAD] psm0: model Generic PS/2 mouse, device ID 0 fdc0: <floppy drive controller> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0 fdc0: [FILTER] fd0: <1440-KB 3.5" drive> on fdc0 drive 0 sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A sio0: [FILTER] cpu0: <ACPI CPU> on acpi0 acpi_throttle0: <ACPI CPU Throttling> on cpu0 pmtimer0 on isa0 orm0: <ISA Option ROM> at iomem 0xc0000-0xca7ff pnpid ORM0000 on isa0 ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode ppbus0: <Parallel port bus> on ppc0 ppbus0: [ITHREAD] plip0: <PLIP network interface> on ppbus0 plip0: WARNING: using obsoleted IFF_NEEDSGIANT flag lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port ppi0: <Parallel I/O> on ppbus0 ppc0: [GIANT-LOCKED] ppc0: [ITHREAD] sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 Timecounter "TSC" frequency 400911857 Hz quality 800 Timecounters tick every 1.000 msec ad0: 28610MB <WDC WD300BB-75DEA0 05.03E05> at ata0-master UDMA33 acd0: CDROM <CRD-8322B/1.05> at ata1-master PIO4 Trying to mount root from ufs:/dev/ad0s1a vr0: link state changed to DOWN vr0: link state changed to UP vr0: link state changed to DOWN vr0: link state changed to UP
At 01:24 PM 6/19/2009, Michael Gass wrote:>I'm running 7.2-stable and I replaced an old ISA NIC with >a D-Link DFE-530TX+ card. According to the manual, theWhat does pciconfig -lvc show ? ---Mike
On Fri, Jun 19, 2009 at 10:24 AM, Michael Gass <mgass@unix.csbsju.edu>wrote:> I'm running 7.2-stable and I replaced an old ISA NIC with > a D-Link DFE-530TX+ card. According to the manual, the > correct driver for this card is rl driver. The kernel > insists on using the vr driver which is for the DFE-530TX. > >From what I can tell, the two cards have different chipsets > and so the drivers are not compatable. > > I can configure the vr driver, but the card does not work > with it - I cannot establish a connection even with ping. > > Is there a way for me to force the kernel to use the rl > driver? I am using a generic kernel, so all the needed > drivers are built-in. >"Simplest" method would be to compile a custom kernel with the rl driver and without the vr driver. Or to build a kernel without any networking drivers, so that they are all built as modules, and then use /boot/loader.conf to load just the if_rl module. One could probably also write a hints line in /boot/loader.conf to tell the vr driver to ignore that specific PCI slot or whatnot, although I've never actually done that. -- Freddie Cash fjwcash@gmail.com
----- Original Message ----- From: "Michael Gass" <mgass@unix.csbsju.edu> To: <freebsd-stable@freebsd.org> Sent: Friday, June 19, 2009 8:24 PM Subject: kernel wants the wrong driver for my NIC> I'm running 7.2-stable and I replaced an old ISA NIC with > a D-Link DFE-530TX+ card. According to the manual, the > correct driver for this card is rl driver. The kernel > insists on using the vr driver which is for the DFE-530TX. >>From what I can tell, the two cards have different chipsets > and so the drivers are not compatable.It's a NIC with Davicom chip...
On Friday 19 June 2009 1:24:29 pm Michael Gass wrote:> I'm running 7.2-stable and I replaced an old ISA NIC with > a D-Link DFE-530TX+ card. According to the manual, the > correct driver for this card is rl driver. The kernel > insists on using the vr driver which is for the DFE-530TX. > >From what I can tell, the two cards have different chipsets > and so the drivers are not compatable.I would assume the vr(4) driver is the right driver for your card since PCI devices probe based on PCI IDs. Also, the driver has worked well enough to read a MAC address, etc. (have you compared it with the sticker on the card, if it matches vr(4) is almost _certainly_ the correct driver). -- John Baldwin
On Fri, Jun 19, 2009 at 12:24:29PM -0500, Michael Gass wrote:> I'm running 7.2-stable and I replaced an old ISA NIC with > a D-Link DFE-530TX+ card. According to the manual, the > correct driver for this card is rl driver. The kernel > insists on using the vr driver which is for the DFE-530TX. > >From what I can tell, the two cards have different chipsets > and so the drivers are not compatable. >I got the vr driver to work: it was an IRQ issue. Seems sio1 wanted irq 3 which is what vr0 was taking. Somehow that caused a problem. BUT I am still confused about the rl driver not working for this card. The NOTES in /usr/src/sys/conf/NOTES explicitly state that the rl driver is for the DFE-530TX+ and that the vr driver is for the DFE-530TX. I have the former and so should be using the rl drive it seems. Is this a mistake in the documentation (including the man page for each driver)? I made a new kernel without the vr driver and the result was that no driver at all was recognized for the NIC. Is there a way to force the kernel to put an entry in /dev for rl0 so that I could try to configue it for the NIC? BTW, visual inspection of the chip on my DFE-530TX+ says it is a DL10030C. Here is some relevant output from running pciconf -lvc. vr0@pci0:0:11:0: class=0x020000 card=0x14061186 chip=0x31061106 rev=0x86 hdr=0x00 vendor = 'VIA Technologies Inc' device = 'VT6105M/LOM Rhine III PCI Fast Ethernet Controller' class = network subclass = ethernet cap 01[40] = powerspec 2 supports D0 D1 D2 D3 current D0 vgapci0@pci0:1:0:0: class=0x030000 card=0x47421002 chip=0x47421002 rev=0x5c hdr=0x00> > Output from ifconfig and dmesg are below. > > Thanks, Mike Gass Minnesota USA > > ifconfig output > --------------------------------------------------------- > vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 > options=2808<VLAN_MTU,WOL_UCAST,WOL_MAGIC> > ether 00:22:b0:6d:e8:b6 > inet 192.168.0.3 netmask 0xffffff00 broadcast 192.168.0.255 > media: Ethernet autoselect (100baseTX <full-duplex>) > status: active > plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500 > lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 > inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 > inet6 ::1 prefixlen 128 > inet 127.0.0.1 netmask 0xff000000 > > > dmesg output > ------------------------------------------ > Copyright (c) 1992-2009 The FreeBSD Project. > Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 > The Regents of the University of California. All rights reserved. > FreeBSD is a registered trademark of The FreeBSD Foundation. > FreeBSD 7.2-STABLE #0: Sat Jun 13 09:59:29 CDT 2009 > root@pavilion.home.net:/usr/obj/usr/src/sys/GENERIC > module_register: module rl/miibus already exists! > Module rl/miibus failed to register: 17 > module_register: module cardbus/rl already exists! > Module cardbus/rl failed to register: 17 > module_register: module pci/rl already exists! > Module pci/rl failed to register: 17 > Timecounter "i8254" frequency 1193182 Hz quality 0 > CPU: Pentium II/Pentium II Xeon/Celeron (400.91-MHz 686-class CPU) > Origin = "GenuineIntel" Id = 0x665 Stepping = 5 > Features=0x183f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR> > real memory = 268369920 (255 MB) > avail memory = 248492032 (236 MB) > kbd1 at kbdmux0 > acpi0: <PTLTD RSDT> on motherboard > acpi0: [ITHREAD] > acpi0: Power Button (fixed) > Timecounter "ACPI-safe" frequency 3579545 Hz quality 850 > acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0 > pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 > pci0: <ACPI PCI bus> on pcib0 > agp0: <Intel 82443BX (440 BX) host to PCI bridge> on hostb0 > pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0 > pci1: <ACPI PCI bus> on pcib1 > vgapci0: <VGA-compatible display> port 0x2000-0x20ff mem 0xf5000000-0xf5ffffff,0xf4100000-0xf4100fff irq 11 at device 0.0 on pci1 > drm0: <3D Rage Pro AGP 1X/2X> on vgapci0 > vgapci0: child drm0 requested pci_enable_busmaster > info: [drm] AGP at 0xf8000000 64MB > info: [drm] Initialized mach64 2.0.0 20060718 > isab0: <PCI-ISA bridge> at device 7.0 on pci0 > isa0: <ISA bus> on isab0 > atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1050-0x105f at device 7.1 on pci0 > ata0: <ATA channel 0> on atapci0 > ata0: [ITHREAD] > ata1: <ATA channel 1> on atapci0 > ata1: [ITHREAD] > uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0x1060-0x107f irq 5 at device 7.2 on pci0 > uhci0: [GIANT-LOCKED] > uhci0: [ITHREAD] > usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0 > usb0: USB revision 1.0 > uhub0: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0 > uhub0: 2 ports with 2 removable, self powered > pci0: <bridge> at device 7.3 (no driver attached) > pci0: <multimedia, audio> at device 10.0 (no driver attached) > vr0: <VIA VT6105 Rhine III 10/100BaseTX> port 0x1400-0x14ff mem 0xf4000000-0xf40000ff irq 3 at device 11.0 on pci0 > vr0: Quirks: 0x0 > vr0: Revision: 0x86 > miibus0: <MII bus> on vr0 > ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus0 > ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto > vr0: Ethernet address: 00:22:b0:6d:e8:b6 > vr0: [ITHREAD] > acpi_button0: <Power Button> on acpi0 > atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0 > atkbd0: <AT Keyboard> irq 1 on atkbdc0 > kbd0 at atkbd0 > atkbd0: [GIANT-LOCKED] > atkbd0: [ITHREAD] > psm0: <PS/2 Mouse> irq 12 on atkbdc0 > psm0: [GIANT-LOCKED] > psm0: [ITHREAD] > psm0: model Generic PS/2 mouse, device ID 0 > fdc0: <floppy drive controller> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0 > fdc0: [FILTER] > fd0: <1440-KB 3.5" drive> on fdc0 drive 0 > sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 > sio0: type 16550A > sio0: [FILTER] > cpu0: <ACPI CPU> on acpi0 > acpi_throttle0: <ACPI CPU Throttling> on cpu0 > pmtimer0 on isa0 > orm0: <ISA Option ROM> at iomem 0xc0000-0xca7ff pnpid ORM0000 on isa0 > ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 > ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode > ppbus0: <Parallel port bus> on ppc0 > ppbus0: [ITHREAD] > plip0: <PLIP network interface> on ppbus0 > plip0: WARNING: using obsoleted IFF_NEEDSGIANT flag > lpt0: <Printer> on ppbus0 > lpt0: Interrupt-driven port > ppi0: <Parallel I/O> on ppbus0 > ppc0: [GIANT-LOCKED] > ppc0: [ITHREAD] > sc0: <System console> at flags 0x100 on isa0 > sc0: VGA <16 virtual consoles, flags=0x300> > sio1: configured irq 3 not in bitmap of probed irqs 0 > sio1: port may not be enabled > vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 > Timecounter "TSC" frequency 400911857 Hz quality 800 > Timecounters tick every 1.000 msec > ad0: 28610MB <WDC WD300BB-75DEA0 05.03E05> at ata0-master UDMA33 > acd0: CDROM <CRD-8322B/1.05> at ata1-master PIO4 > Trying to mount root from ufs:/dev/ad0s1a > vr0: link state changed to DOWN > vr0: link state changed to UP > vr0: link state changed to DOWN > vr0: link state changed to UP > > _______________________________________________ > freebsd-stable@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"-- Michael Gass Department of Mathematics St. John's University Collegeville, MN 56321-3000 (320) 363-3090 mgass@csbsju.edu
At 07:08 PM 6/19/2009, Michael Gass wrote:>I am still confused about the rl driver not working for this >card. The NOTES in /usr/src/sys/conf/NOTES explicitly state >that the rl driver is for the DFE-530TX+ and that the vr >driver is for the DFE-530TX.The manufacturer could have changed chipsets and didnt change model numbers. Its certainly not unprecedented. Or the wrong NIC could have been sold to you by accident.>I made a new kernel without the vr driver and the result was >that no driver at all was recognized for the NIC. >Is there a way to force the kernel to put an entry in /dev >for rl0 so that I could try to configue it for the NIC?Its a vr nic. Fiddling with the PCI ids of the drivers, will not make it work. i.e. changing the device IDs that the rl attaches to and removing it from the vr. ---Mike