Can't get if_txp(4) to attach to a 3CR990B-TXM NIC
Pyun YongHyeon
pyunyh at gmail.com
Thu Jun 14 04:19:32 UTC 2007
On Thu, Jun 14, 2007 at 12:58:07PM +0900, To Freddie Cash wrote:
> On Wed, Jun 13, 2007 at 09:01:39AM -0700, Freddie Cash wrote:
> > On Tuesday 12 June 2007 09:15 pm, Pyun YongHyeon wrote:
> > > 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.
> >
> > Patch uplied cleanly, module compiled clealy, and module was kldloaded
> > cleanly.
> >
> > Error message is now:
> > txp0: <3Com 3cR990B-TXM Etherlink with 3XP Processor> port 0xbc00-0xbc7f
> > mem 0xfdcff000-0xfdcff07f irq 18 at device 6.0 on pci3
> > txp0: txp_download_fw: not waiting for boot
> > device_attach: txp0 attach returned -1
> >
> > The IRQ and device numbers changed as it's in a different PCI slot than
> > before.
> >
> > Looks like your guess was right, there's something not working right in
> > the firmware download.
> >
>
> Revert previous patch and apply attached patch again.
> Please give it spin and let me know result.
>
> > > 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!
> >
> > We normally use 3C905-series and 3C980-series NICs. Our local PC vendor
> > sent us these instead when we ordered low-profile NICs to put into our
> > new firewall boxes (while we wait for the back-order on Intel gigabit
> > dual-port, low-profile, PCIe NICs to be filled).
> >
>
> I don't have experience from 3C980 but it seems the 3C990 with 3XP
> processor looks better hardware than 3C905/3C980 series.
>
> > I was going to try upgrading the firmware on the NICs, as there's an
> > update available on the 3Com website, but the installer requires a
> > Windows box (tried via a DOS boot disk and get the "Can't be run in DOS
> > mode" error), which we don't have available at the moment.
> >
Forgot to say an important thing.
It seems that OpenBSD has a newer firmware image than that of FreeBSD.
If you are still in trouble with firmware, try updating the firmware
image at the following URL.
http://people.freebsd.org/~yongari/txp/3c990img.h
Just replace sys/dev/txp/3c990img.h with the file at the URL.
--
Regards,
Pyun YongHyeon
More information about the freebsd-stable
mailing list