<html xmlns="http://www.w3.org/TR/REC-html40" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:v="urn:schemas-microsoft-com:vml">

<head>


<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body vlink="blue" link="blue" lang="EN-US">

<div class="Section1">

<p class="MsoNormal"><font face="Arial" color="navy" size="2"><span style="font-size:
10.0pt;font-family:Arial;color:navy">Quinn,<o:p></o:p></span></font></p>

<p class="MsoNormal"><font face="Arial" color="navy" size="2"><span style="font-size:
10.0pt;font-family:Arial;color:navy"><o:p>&nbsp;</o:p></span></font></p>

<p class="MsoNormal"><font face="Arial" color="navy" size="2"><span style="font-size:
10.0pt;font-family:Arial;color:navy">In tg3.h, search for KNOWN_PHY_ID, and add
&#8220;(X) == PHY_ID_BCM5755&#8221; to the list of IDs there.<o:p></o:p></span></font></p>

<p class="MsoNormal"><font face="Arial" color="navy" size="2"><span style="font-size:
10.0pt;font-family:Arial;color:navy"><o:p>&nbsp;</o:p></span></font></p>

<p class="MsoNormal"><font face="Arial" color="navy" size="2"><span style="font-size:
10.0pt;font-family:Arial;color:navy">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.<o:p></o:p></span></font></p>

<p class="MsoNormal"><font face="Arial" color="navy" size="2"><span style="font-size:
10.0pt;font-family:Arial;color:navy"><o:p>&nbsp;</o:p></span></font></p>

<p class="MsoNormal"><font face="Arial" color="navy" size="2"><span style="font-size:
10.0pt;font-family:Arial;color:navy">Hope this helps,<o:p></o:p></span></font></p>

<p class="MsoNormal"><font face="Arial" color="navy" size="2"><span style="font-size:
10.0pt;font-family:Arial;color:navy">Geoff<o:p></o:p></span></font></p>

<p class="MsoNormal"><font face="Arial" color="navy" size="2"><span style="font-size:
10.0pt;font-family:Arial;color:navy"><o:p>&nbsp;</o:p></span></font></p>

<p class="MsoNormal"><font face="Arial" color="navy" size="2"><span style="font-size:
10.0pt;font-family:Arial;color:navy"><o:p>&nbsp;</o:p></span></font></p>

<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">

<div>

<div style="text-align:center" align="center" class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size:12.0pt">

<hr tabindex="-1" align="center" width="100%" size="2">

</span></font></div>

<p class="MsoNormal"><b><font face="Tahoma" size="2"><span style="font-size:10.0pt;
font-family:Tahoma;font-weight:bold">From:</span></font></b><font face="Tahoma" size="2"><span style="font-size:10.0pt;font-family:Tahoma">
gpxe-devel-bounces@etherboot.org [mailto:gpxe-devel-bounces@etherboot.org] <b><span style="font-weight:bold">On Behalf Of </span></b>Quinn Plattel<br>
<b><span style="font-weight:bold">Sent:</span></b> Monday, October 11, 2010
3:30 AM<br>
<b><span style="font-weight:bold">To:</span></b> gpxe-devel@etherboot.org<br>
<b><span style="font-weight:bold">Subject:</span></b> [gPXE-devel] Attempting
to add support for Broadcom BCM5755M (14e4:1673) ethernet adapter</span></font><o:p></o:p></p>

</div>

<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size:
12.0pt"><o:p>&nbsp;</o:p></span></font></p>

<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size:
12.0pt">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 &quot;lspci
-n&quot;<br>
command which gave me 14e4:1673<br>
I then added it to tg3.c file:<br>
-------------------------<br>
@@ -3400,6 +3402,7 @@<br>
&nbsp;PCI_ROM(0x14e4, 0x165e, &quot;tg3-5705M_2&quot;,&nbsp;&nbsp;&nbsp;&nbsp;
&quot;Broadcom Tigon 3 5705M_2&quot;, 0),<br>
&nbsp;PCI_ROM(0x14e4, 0x1677,
&quot;tg3-5751&quot;,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;Broadcom
Tigon 3 5751&quot;, 0),<br>
&nbsp;PCI_ROM(0x14e4, 0x167a,
&quot;tg3-5754&quot;,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;Broadcom
Tigon 3 5754&quot;, 0),<br>
+PCI_ROM(0x14e4, 0x1673,
&quot;tg3-5755&quot;,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;Broadcom
Tigon 3 5755&quot;, 0),<br>
&nbsp;PCI_ROM(0x14e4, 0x1693,
&quot;tg3-5787&quot;,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;Broadcom Tigon
3 5787&quot;, 0),<br>
&nbsp;PCI_ROM(0x14e4, 0x1696,
&quot;tg3-5782&quot;,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;Broadcom
Tigon 3 5782&quot;, 0),<br>
&nbsp;PCI_ROM(0x14e4, 0x169a,
&quot;tg3-5786&quot;,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;Broadcom
Tigon 3 5786&quot;, 0),<br>
--------------------<br>
<br>
This enabled gpxe to attempt to initialize the adapter instead of ignoring<br>
it.&nbsp; 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?&nbsp; I<br>
added the following to tg3.c to identify the phy id:<br>
<br>
------------------------<br>
@@ -2543,6 +2543,8 @@<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp; hw_phy_id_masked = hw_phy_id &amp; PHY_ID_MASK;<br>
<br>
+&nbsp;&nbsp; printf(&quot;phy id: %X\n&quot;, hw_phy_id);<br>
+<br>
&nbsp;&nbsp;&nbsp;&nbsp; if (!err &amp;&amp; KNOWN_PHY_ID(hw_phy_id_masked)) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tp-&gt;phy_id = hw_phy_id;<br>
&nbsp;&nbsp;&nbsp;&nbsp; } else {<br>
--------------------------<br>
<br>
This gave me 0xbc050cc0, so I added it to tg3.h:<br>
<br>
--------------------------<br>
@@ -2038,6 +2038,7 @@<br>
&nbsp;#define
PHY_ID_BCM5704&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0x60008190<br>
&nbsp;#define
PHY_ID_BCM5705&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0x600081a0<br>
&nbsp;#define
PHY_ID_BCM5750&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0x60008180<br>
+#define PHY_ID_BCM5755&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0xbc050cc0<br>
&nbsp;#define
PHY_ID_BCM5787&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0xbc050ce0<br>
&nbsp;#define
PHY_ID_BCM8002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0x60010140<br>
&nbsp;#define
PHY_ID_BCM5751&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0x00206180<br>
--------------------------<br>
<br>
Unfortunately, this is as far as a i got.&nbsp; The error messages is still the<br>
same.&nbsp; I haven't been able to figure out what to do next.&nbsp; I have
tried to<br>
enable debugging by &quot;make DEBUG=tg3&quot; and also enabling the serial
console in<br>
<br>
console.h but the I just get a bunch of &quot;?&quot; instead of proper strings
on the<br>
serial port and I did configure my terminal emulator to 9600n81.&nbsp; Any
clues<br>
there?&nbsp; 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.&nbsp; 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.&nbsp; 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">
<o:p></o:p></span></font></p>

</div>

</div>

</body>

</html>