[syslinux] HP EFI binaries

Patrick Masotta masottaus at yahoo.com
Fri Aug 28 03:34:12 PDT 2015


>>>
 More importantly: look at the actual captured text.  It does NOT
 specify a valid MAC in its entirety and leaves off the leading nibble
 (11 characters, not 12).  Handle 267 shows "065F36E00EE" not "0065F36E00EE".
 <<<

I saw that, they might even be making a mistake when implementing 
the Device Path protocol.

 >>>
 It is possible that this is a visual bug but it DOES give a hint that
 there may be an issue in the MAC addresses.
<<<

It has to be more than visual; if not the code would've got a match.

Probably they do not change the MAC but they make a mistake
with the MAC Address Device Path. Anyway; it's a buggy EFI 
implementation that breaks the multi-nic approach.

 
>>>
  Derrick is already running the latest firmware on this machine.
<<<
 
sorry didn't know.

Derrick , 
you could try this as a ""hack"" for probably solving your problem:
-        && memcmp(mac_1, mac_2, PXE_MAC_LENGTH) == 0) {

+       && memcmp(mac_1 + 1, mac_2 + 1, 5) == 0) {
**or alternatively**  (I do not remember now if the 6 bytes of the MAC go at front or back of the 32 bytes string
+       && memcmp(mac_1 + PXE_MAC_LENGTH - 5, mac_2 + PXE_MAC_LENGTH - 5, 5) == 0) {
at efi/main.c\efi_create_binding()


this change will only look after the last 5 bytes of the HP MAC address for a match,
considering they really are using a MAC length of PXE_MAC_LENGTH (32 bytes) on the
MAC representation of the MAC Address Device Path (who knows..)

Best,
Patrick



More information about the Syslinux mailing list