[gPXE-devel] Attempting to add support for Broadcom BCM5755M (14e4:1673) ethernet adapter
Quinn Plattel
qiet72 at gmail.com
Tue Oct 12 09:36:24 EDT 2010
Hi,
Looking good so far. It can do the following:
- get the correct mac address
- show the correct link speed
- identify it as a PCI express adapter
- get an ip address
Not working yet though. Here is the screen output:
Tigon3 [partno(none) rev a002 PHY(unknown)] (PCIX:100MHz:32-bit)
Link is up at 1000 Mbps, full duplex.
WARNING: Using legacy NIC wrapper on 00:1c:23:26:82:e7
gPXE 1.0.1 -- Open Source Boot Firmware -- http://etherboot.org
Features: AoE HTTP iSCSI DNS TFTP bzImage COMBOOT ELF Multiboot PXE PXEXT
DHCP (net0 00:1c:23:26:82:e7)... ok
tftp://server.net/file.gpxe./menu.c32..transmit timed out
tg3_stop_block timed out, ofs=0x4c00 enable_bit=002
Firmware will not restart magic=0x4b657654
Firmware will not restart magic=0x4b657654
and so on....
I will try and look at the linux kernel sources of tg3.c and see if I can
find more info on the 5755.
Any other ideas would be helpful.
Quinn
On Mon, Oct 11, 2010 at 4:54 PM, Geoff Lywood <glywood at vmware.com> wrote:
> Quinn,
>
>
>
> In tg3.h, search for KNOWN_PHY_ID, and add “(X) == PHY_ID_BCM5755” to the
> list of IDs there.
>
>
>
> The Linux driver for tg3 has a number of workarounds that specifically
> check for the 5755 (or later) and behave a little differently if those chips
> are found. It is quite possible that the gPXE driver will not work correctly
> with your card, even after you make the change that I suggest above.
>
>
>
> Hope this helps,
>
> Geoff
>
>
>
>
> ------------------------------
>
> *From:* gpxe-devel-bounces at etherboot.org [mailto:
> gpxe-devel-bounces at etherboot.org] *On Behalf Of *Quinn Plattel
> *Sent:* Monday, October 11, 2010 3:30 AM
> *To:* gpxe-devel at etherboot.org
> *Subject:* [gPXE-devel] Attempting to add support for Broadcom BCM5755M
> (14e4:1673) ethernet adapter
>
>
>
> 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
>
>
--
Best regards/Med venlig hilsen,
Quinn Plattel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://etherboot.org/pipermail/gpxe-devel/attachments/20101012/69f3f752/attachment-0001.html
More information about the gPXE-devel
mailing list