[gPXE-devel] Attempting to add support for Broadcom BCM5755M (14e4:1673) ethernet adapter

Quinn Plattel qiet72 at gmail.com
Mon Oct 11 06:30:13 EDT 2010


Hi,

I am attempting to add support to gpxe the Broadcom BCM5755M (14e4:1673)
ethernet adapter.
I have confirmed that the adapter works under linux with kernel 2.6.32.
Here is some of my attempts:

I first identified the pci vendor and device id via linux's "lspci -n"
command which gave me 14e4:1673
I then added it to tg3.c file:
-------------------------
@@ -3400,6 +3402,7 @@
 PCI_ROM(0x14e4, 0x165e, "tg3-5705M_2",     "Broadcom Tigon 3 5705M_2", 0),
 PCI_ROM(0x14e4, 0x1677, "tg3-5751",        "Broadcom Tigon 3 5751", 0),
 PCI_ROM(0x14e4, 0x167a, "tg3-5754",        "Broadcom Tigon 3 5754", 0),
+PCI_ROM(0x14e4, 0x1673, "tg3-5755",        "Broadcom Tigon 3 5755", 0),
 PCI_ROM(0x14e4, 0x1693, "tg3-5787",       "Broadcom Tigon 3 5787", 0),
 PCI_ROM(0x14e4, 0x1696, "tg3-5782",        "Broadcom Tigon 3 5782", 0),
 PCI_ROM(0x14e4, 0x169a, "tg3-5786",        "Broadcom Tigon 3 5786", 0),
--------------------

This enabled gpxe to attempt to initialize the adapter instead of ignoring
it.  But it gives this error so far:

-----------------
phy probe failed, err -741097531
Problem fetching invariants of chip, aborting.
-----------------

Ok, then I though, the phy id must not match, so what about forcing it?  I
added the following to tg3.c to identify the phy id:

------------------------
@@ -2543,6 +2543,8 @@

     hw_phy_id_masked = hw_phy_id & PHY_ID_MASK;

+   printf("phy id: %X\n", hw_phy_id);
+
     if (!err && KNOWN_PHY_ID(hw_phy_id_masked)) {
         tp->phy_id = hw_phy_id;
     } else {
--------------------------

This gave me 0xbc050cc0, so I added it to tg3.h:

--------------------------
@@ -2038,6 +2038,7 @@
 #define PHY_ID_BCM5704            0x60008190
 #define PHY_ID_BCM5705            0x600081a0
 #define PHY_ID_BCM5750            0x60008180
+#define PHY_ID_BCM5755            0xbc050cc0
 #define PHY_ID_BCM5787            0xbc050ce0
 #define PHY_ID_BCM8002            0x60010140
 #define PHY_ID_BCM5751            0x00206180
--------------------------

Unfortunately, this is as far as a i got.  The error messages is still the
same.  I haven't been able to figure out what to do next.  I have tried to
enable debugging by "make DEBUG=tg3" and also enabling the serial console in

console.h but the I just get a bunch of "?" instead of proper strings on the
serial port and I did configure my terminal emulator to 9600n81.  Any clues
there?  The terminal works fine with picocom under linux with the same
serial settings.

I feel I am so close in getting this card to work because the tg3 code is
there but it just needs to identify and use the hardware.  Just so you know
I have also downloaded the latest git release, but unfortunately, there is
no support for BCM5755M yet.
I found this page
http://www.broadcom.com/support/ethernet_nic/determine_driver.php which
helped me identify the adapter as a model type NetXtreme Desktop/Mobile
adapter.  There is already support in gpxe for that type adapter such as the
BCM5751M.

Any suggestions?

Quinn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://etherboot.org/pipermail/gpxe-devel/attachments/20101011/fb060fb9/attachment.html 


More information about the gPXE-devel mailing list