[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