Re: tg3 pxe weirdness
From: Siva Reddy Kallam <siva.kallam@broadcom.com>
Date: 2017-09-22 06:21:52
On Thu, Sep 21, 2017 at 7:53 PM, Berend De Schouwer [off-list ref] wrote:
Hi, I've got a machine with a Broadcom bcm5762c, using the tg3 driver, that fails to receive network packets under some very specific conditions. It works perfectly using a 1Gbps switch. If, however, it first uses PXE and then loads the Linux tg3 driver, and the switch is 100Mbps, it no longer receives packets larger than ICMP. It does do ARP and ping. If it boots using PXE on a 1Gbps switch, boots into Linux, and then it's plugged into 100 Mbps it also stops receiving packets. mii-diag and dmesg confirm auto-negotiated speed and flow control, and confirm temporary disconnect as the cables are moved. PXE boots using UNDI, which then transfers a kernel using TFTP, which transfers correctly. The kernel boots, loads the tg3 driver, connects the network. Up to this point everything works. Ping will work too. Any other network traffic fails. Booting from a harddrive works fine. I assume the UNDI driver somewhere breaks auto-negotiation. I've tried using mii-tool and ethtool, but I haven't managed to make it work yet. Is it possible to get negotiation working after PXE boot? Are there any tg3 driver flags that might make a difference? Berend
Can you please share below details? 1) Model and Manufacturer of the system 2) Linux distro/kernel used?