kernel wants the wrong driver for my NIC (new issue)

Erik Trulsson ertr1013 at student.uu.se
Sat Jun 20 00:06:02 UTC 2009


On Fri, Jun 19, 2009 at 06:08:02PM -0500, Michael Gass wrote:
> 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)?

Then perhaps the card you have actually is a DFE-530TX.

Or maybe the manufacturer changed which chip they use without
bothering to change the name of the card - such things happen all
too often.  I.e. there may well exist two different 'DFE-530TX+'
variants - one which uses a Realtek controller, and one which uses
a VIA controller.

> 
> 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?

No. The kernel uses the PCI chip-ID to decide which driver attaches
to the card.  To change which driver is used you would have to go in and
modify the kernel source and build a new kernel.
Don't bother doing that however, because if the vr(4) driver works for this
card (as you say it does) then there is absolutely no way that the rl(4)
driver would work for the same card. (And vice versa.)

> 
> 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 at 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

That looks very much like a VIA chip which should indeed be handled by the vr(4) driver.




-- 
<Insert your favourite quote here.>
Erik Trulsson
ertr1013 at student.uu.se


More information about the freebsd-stable mailing list