summaryrefslogtreecommitdiffstats
path: root/src/util/fixrom.pl
diff options
context:
space:
mode:
authorMichael Brown2014-03-17 18:15:18 +0100
committerMichael Brown2014-03-20 16:54:25 +0100
commitccb6e5c62737b1fe1b96ed0a9aae691bfa99a830 (patch)
tree9c0a4ecd2d40b888f72e66c17118177147788113 /src/util/fixrom.pl
parent[realtek] Add ability to dump all internal registers (diff)
downloadipxe-ccb6e5c62737b1fe1b96ed0a9aae691bfa99a830.tar.gz
ipxe-ccb6e5c62737b1fe1b96ed0a9aae691bfa99a830.tar.xz
ipxe-ccb6e5c62737b1fe1b96ed0a9aae691bfa99a830.zip
[realtek] Clear bit 24 of RCR
On an Asus Z87-K motherboard with an onboard 8168 NIC, booting into Windows 7 and then warm rebooting into iPXE results in a broken RX datapath: packets can be transmitted successfully but garbage is received. A cold reboot clears the problem. A dump of the PHY registers reveals only one difference: in the failure case the bits ADVERTISE_PAUSE_CAP and ADVERTISE_PAUSE_ASYM are cleared. Explicitly setting these bits does not fix the problem. A dump of the MAC registers reveals a few differences, of which the most obvious culprit is the undocumented bit 24 of the Receive Configuration Register (RCR), which is set in the failure case. Explicitly clearing this bit does fix the problem. Reported-by: Sebastian Nielsen <ipxe@sebbe.eu> Reported-by: Oliver Rath <rath@mglug.de> Debugged-by: Sebastian Nielsen <ipxe@sebbe.eu> Tested-by: Sebastian Nielsen <ipxe@sebbe.eu> Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/util/fixrom.pl')
0 files changed, 0 insertions, 0 deletions