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
_______________________________________________ gPXE-devel mailing list gPXE-devel@etherboot.org http://etherboot.org/mailman/listinfo/gpxe-devel