[syslinux] HP EFI binaries

Gene Cumm gene.cumm at gmail.com
Fri Aug 28 03:46:36 PDT 2015


On Fri, Aug 28, 2015 at 6:34 AM, Patrick Masotta <masottaus at yahoo.com> wrote:
>>>>
>  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..)

I sent Patrick and Derrick a copy of some binaries with a quick hack
to print the entire MAC on the first attempt to use a UDPv4Sb where
the PxeBc and UDPv4Sb don't live on the same handle.

-- 
-Gene


More information about the Syslinux mailing list