Hi,<br><br>I am attempting to add support to gpxe the Broadcom BCM5755M (14e4:1673)<br>ethernet adapter.<br>I have confirmed that the adapter works under linux with kernel 2.6.32.<br>Here is some of my attempts:<br><br>I first identified the pci vendor and device id via linux's "lspci -n"<br>
command which gave me 14e4:1673<br>I then added it to tg3.c file:<br>-------------------------<br>@@ -3400,6 +3402,7 @@<br> PCI_ROM(0x14e4, 0x165e, "tg3-5705M_2", "Broadcom Tigon 3 5705M_2", 0),<br>
PCI_ROM(0x14e4, 0x1677, "tg3-5751", "Broadcom Tigon 3 5751", 0),<br> PCI_ROM(0x14e4, 0x167a, "tg3-5754", "Broadcom Tigon 3 5754", 0),<br>+PCI_ROM(0x14e4, 0x1673, "tg3-5755", "Broadcom Tigon 3 5755", 0),<br>
PCI_ROM(0x14e4, 0x1693, "tg3-5787", "Broadcom Tigon 3 5787", 0),<br> PCI_ROM(0x14e4, 0x1696, "tg3-5782", "Broadcom Tigon 3 5782", 0),<br> PCI_ROM(0x14e4, 0x169a, "tg3-5786", "Broadcom Tigon 3 5786", 0),<br>
--------------------<br><br>This enabled gpxe to attempt to initialize the adapter instead of ignoring<br>it. But it gives this error so far:<br><br>-----------------<br>phy probe failed, err -741097531<br>Problem fetching invariants of chip, aborting.<br>
-----------------<br><br>Ok, then I though, the phy id must not match, so what about forcing it? I<br>added the following to tg3.c to identify the phy id:<br><br>------------------------<br>@@ -2543,6 +2543,8 @@<br><br> hw_phy_id_masked = hw_phy_id & PHY_ID_MASK;<br>
<br>+ printf("phy id: %X\n", hw_phy_id);<br>+<br> if (!err && KNOWN_PHY_ID(hw_phy_id_masked)) {<br> tp->phy_id = hw_phy_id;<br> } else {<br>--------------------------<br><br>This gave me 0xbc050cc0, so I added it to tg3.h:<br>
<br>--------------------------<br>@@ -2038,6 +2038,7 @@<br> #define PHY_ID_BCM5704 0x60008190<br> #define PHY_ID_BCM5705 0x600081a0<br> #define PHY_ID_BCM5750 0x60008180<br>+#define PHY_ID_BCM5755 0xbc050cc0<br>
#define PHY_ID_BCM5787 0xbc050ce0<br> #define PHY_ID_BCM8002 0x60010140<br> #define PHY_ID_BCM5751 0x00206180<br>--------------------------<br><br>Unfortunately, this is as far as a i got. The error messages is still the<br>
same. I haven't been able to figure out what to do next. I have tried to<br>enable debugging by "make DEBUG=tg3" and also enabling the serial console in<br><br>console.h but the I just get a bunch of "?" instead of proper strings on the<br>
serial port and I did configure my terminal emulator to 9600n81. Any clues<br>there? The terminal works fine with picocom under linux with the same<br>serial settings.<br><br>I feel I am so close in getting this card to work because the tg3 code is<br>
there but it just needs to identify and use the hardware. Just so you know<br>I have also downloaded the latest git release, but unfortunately, there is<br>no support for BCM5755M yet.<br>I found this page<br><a href="http://www.broadcom.com/support/ethernet_nic/determine_driver.php">http://www.broadcom.com/support/ethernet_nic/determine_driver.php</a> which<br>
helped me identify the adapter as a model type NetXtreme Desktop/Mobile<br>adapter. There is already support in gpxe for that type adapter such as the<br>BCM5751M.<br><br>Any suggestions?<br><br>Quinn<br><br clear="all">
<br>