Can't get if_txp(4) to attach to a 3CR990B-TXM NIC

Pyun YongHyeon pyunyh at gmail.com
Wed Jun 13 04:44:21 UTC 2007


On Tue, Jun 12, 2007 at 10:20:11AM -0700, Freddie Cash wrote:
 > On Friday 08 June 2007 09:59 pm, Pyun YongHyeon wrote:
 > > On Fri, Jun 08, 2007 at 09:13:37AM -0700, Freddie Cash wrote:
 > >  > Good morning,
 > >  >
 > >  > I'm having a bit of an issue getting a 3CR990B-TXM NIC detected and
 > >  > usable.  Just wondering if anyone knows of any issues with this NIC
 > >  > chipset and/or with the motherboard chipset.
 > >  >
 > >  > The motherboard is a Biostar GeForce 6100 AM2 using an nVidia nForce
 > >  > 410 chipset and nVidia GeForce 6100 vide chipset.
 > >  >
 > >  > I've tried FreeBSD 6.1, 6.2, 6-STABLE (from Wed), and 7-CURRENT
 > >  > (from Thu) on this system.  Everything installs nicely, everything
 > >  > on the board is detected correctly and usable.  It's just the PCI
 > >  > NIC that doesn't work.
 > >  >
 > >  > If I compile a custom kernel without any network drivers in it, and
 > >  > then kldload if_txp, the following appears (same message on all 4
 > >  > versions):
 > >  >
 > >  > txp0: <3Com 3cR990B-TXM Etherlink with 3XP Processor> port
 > >  > 0xbc00-0xbc7f mem 0xfdcff000-0xfdcff07f irq 16 at device 8.0 on pci3
 > >  > txp0: not waiting for boot
 > >  > device_attach: txp0 attach returned -1
 > >
 > > Would you try attached path?
 > > It wouldn't fix your issue but it will handle failure of contigmalloc
 > > as expected.
 > 
 > Patch applies cleanly, module compiles cleanly, and module is kldloaded 
 > cleanly.  But same error message as before, and no txp0 device is 
 > created.
 > 
 > Tested on 7-CURRENT from last week.
 > 

Thanks for testing!

It seems that the message will show up in case of firmware loading/ring
initialization failure. Try attached patch which will show failing
function name.

Because I don't have 3CR990 hardware it's very hard to fix it. I'm unsure
remote debugging would help here.
Btw, it seems the hardware looks very good(except for extra copying on
strict alignment architecture) and it even supports TSO!

-- 
Regards,
Pyun YongHyeon
-------------- next part --------------
Index: if_txp.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/txp/if_txp.c,v
retrieving revision 1.46
diff -u -r1.46 if_txp.c
--- if_txp.c	12 Jun 2007 04:33:21 -0000	1.46
+++ if_txp.c	13 Jun 2007 04:10:18 -0000
@@ -548,7 +548,8 @@
 		DELAY(50);
 	}
 	if (r != STAT_WAITING_FOR_BOOT) {
-		device_printf(sc->sc_dev, "not waiting for boot\n");
+		device_printf(sc->sc_dev, "%s: not waiting for boot\n",
+		    __func__);
 		return (-1);
 	}
 
@@ -1022,7 +1023,8 @@
 	}
 
 	if (r != STAT_WAITING_FOR_BOOT) {
-		device_printf(sc->sc_dev, "not waiting for boot\n");
+		device_printf(sc->sc_dev, "%s: not waiting for boot\n",
+		    __func__);
 		return(ENXIO);
 	}
 


More information about the freebsd-stable mailing list