[ipxe-devel] Problem with TG3 driver

Brandon Penglase bpenglase-ipxe at spaceservices.net
Tue May 8 15:14:58 UTC 2012


Hello All,
     I've been trying to get a Dell Optiplex FX160 to boot with iPXE via 
USB flash drive. While booting via chainload does work, we do not have 
PXE boot enabled on all of our subnets, so it is handy to have a flash 
drive to boot from.
     The FX160 has a Broadcom NetXTreme BCM5764M Gigabit Ethernet PCIe 
(14e4:1684[1028:0281]), according to HDT from Syslinux. I would have an 
issue that when I would boot the machine, it would hang trying to get a 
DHCP address. When I used Git Biesect, it narrowed it down to the tg3 
driver:

f6840ba83e60631e6561a957f11867b206edd7d9 is the first bad commit
commit f6840ba83e60631e6561a957f11867b206edd7d9
Author: Thomas Miletich <thomas.miletich at gmail.com>
Date:   Mon Jan 30 23:10:52 2012 +0000

     [tg3] New tg3 driver

     Replace the old Etherboot tg3 driver with a more up-to-date driver
     using the iPXE API.

     Signed-off-by: Thomas Miletich <thomas.miletich at gmail.com>
     Modified-by: Michael Brown <mcb30 at ipxe.org>
     Signed-off-by: Michael Brown <mcb30 at ipxe.org>

:040000 040000 546b1b5f584d4699dd3e33a34f33c1abce254408 
70478d0c1836f6fc69885e7636dcd88249ddd172 M    src

I found that when I revert the following, it works as expected:
1476d6f47ca0bbd8aaefa396eb8bc0be0a1bd4be - "[tg3] Remove 
tg3_calc_dma_bndry()"
b5ed30b2d0504de3bfd9dcc6ad895c270a9e0fbc - "[tg3] Fix compilation on 
newer gcc versions"
f6840ba83e60631e6561a957f11867b206edd7d9 - "[tg3] New tg3 driver"

I pulled ipxe today around 10:45 EST/EDT (whatever it is). I've compiled 
with the following command:
make DEBUG=dhcp,tg3:7,tg3_hw:7,tg3_phy:7 bin/ipxe.usb

I've attached the following from serial output:

first.cap is just letting ipxe do it's default thing (dhcp, get 
next-server, bootfile, etc), and it failing that
second.cap is me hitting ctrl+b and then manually typing 'ifopen net0' 
and 'dhcp'
good.cap is when I reverted the above commits and rebuilt, and let ipxe 
do it's thing. And this functions as expected (it pulls ipxelinux.0 as 
our Microsoft server isn't setup to hand out anything different when 
it's already ipxe, so it's just being treated as any old PXE client).

     Let me know if there is anything else I can do, or any more 
debugging I can provide. Sadly I'm not that familiar with driver code, 
so I'm not able to help much in terms of coming up with a patch myself, 
but I am willing to try what is needed to get it solved.


     Thanks,
         Brandon Penglase
         (Sedorox on IRC)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: first.cap
Type: application/vnd.tcpdump.pcap
Size: 34361 bytes
Desc: not available
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20120508/dade80b6/attachment.cap>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: good.cap
Type: application/vnd.tcpdump.pcap
Size: 1199 bytes
Desc: not available
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20120508/dade80b6/attachment-0001.cap>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: second.cap
Type: application/vnd.tcpdump.pcap
Size: 81219 bytes
Desc: not available
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20120508/dade80b6/attachment-0002.cap>


More information about the ipxe-devel mailing list