Surface Pro 3 - ipxe issues

  • Moderator

    @xerxes2985 Yeah that config file won’t do what you need. If you are up for a little road trip I think we can collect what we need to get you started.

    As long as your fog server, dhcp server and target computer are on the same subnet we can use the FOG server to eavesdrop on the dhcp / pxe booting process to give us some insight for tweaking the ltsp.conf file.

    To set this up, make sure all ll three on the same subnet.

    1. Run this tcpdump command: tcpdump -w output.pcap port 67 or port 68 or port 69 or port 4011
    2. PXE boot the target computer to the error or failure how ever you look at it.
    3. Post the pcap file here so we can look at it.

    The tcpdump filter will only capture dhcp, tftp, and dhcpProxy traffic so you can be sure that no internal data will leak out. You can review the output.pcap file with wireshark if you want to be sure.

    Now with your snponly.efi line, can you test to see if the ipxe7156.efi file boots your surface pro better. We are taking several approaches here to see which one fits the best for your situation.

    @Wayne-Workman I think once we get a solid path forward on this devices we need to get this information documented and then into a wiki. These surface pros are not going away any time soon.

  • @Wayne-Workman I’m using

    Running Version 1.3.0-RC-23
    SVN Revision: 6017

    Here are the contents of my itsp.conf

    pxe-prompt="Booting FOG Client", 20
    pxe-service=X86PC, "Boot BIOS PXE", undionly.kpxe
    pxe-service=BC_EFI, "Boot UEFI PXE-BC", ipxe.efi
    pxe-service=X86-64_EFI, "Boot UEFI PXE-64" ipxe.efi
    pxe-service=X86-64_EFI, "Boot Surface UEFI" snponly.efi

    When I PXE boot and select my snponly.efi entry the screen flashes, then goes back to the “Surface” logo.

  • @xerxes2985 Well go through the wiki article I linked and set it up as an option.

    If you can get us a packet capture of the network booting process of the Surface Pro 3, it would help us to improve our DHCP & DNSMASQ default configurations.

  • @Wayne-Workman let me restate that lol. I have it, just not in my itsp.conf file. I didn’t specify that as an option.

  • @Scott-Adams said in Surface Pro 3 - ipxe issues:

    In my environment, I use both Surface Pro 3s and Surface Pro 4s.

    I use snponly.efi and can image my Surfaces.

    Exactly what version of FOG are you using? This is quite important.

  • In my environment, I use both Surface Pro 3s and Surface Pro 4s.

    I use snponly.efi and can image my Surfaces.

  • Testers

    @george1421 @Wayne-Workman This still exists and is working for me with SP3’s and SP4’s. I could not get either model working with ipxe.efi.

  • @xerxes2985 said in Surface Pro 3 - ipxe issues:

    I do not have the boot kernel ipxe7156.efi


    Try this command:
    find /tftpboot | grep ipxe7156.efi

  • Thanks Wayne and George.

    I am using the updated 2.76 version of dnsmasq, however I do not have the boot kernel ipxe7156.efi I’ll have to try that and report back my findings.

  • I think there still is. I think Tom might have stuck all those in their very own directory, along with the 10secdelay files in their own directory too.

  • Moderator

    The other comment here is that there “was” an alternate version of the uefi boot kernel ipxe7156.efi that was build specifically because some of the surface pros would not boot the native ipxe.efi iPXE kernel.

    With the updated dnsmasq (2.76) its possible to have dnsmasq automatically switch the kernels based on the booting device.

  • It’s because the surface pro is an EFI device only, and the version of DNSMASQ that you have installed doesn’t support EFI devices in ProxyDHCP mode.

    The version of DNSMASQ available to your distribution (Ubuntu 16.04) is old and we can’t help that. However you can pull the latest source code from Simon Kelly’s (the creator and maintainer of dnsmasq) website and build the latest version which does have support for EFI devices in ProxyDHCP mode and will work for you’re use case.

    And, we have an entire wiki article just on all of this that you can follow.
    The article is here:

    I’m pinging @george1421 just so he’s aware that you will probably try this, the documentation is all the product of his findings.

    And, for future readers, if your version of DNSMASQ is 2.76 or later, you do not need to build DNSMASQ from source, but still need to properly configure the ltsp.conf file for proper UEFI support in ProxyDHCP mode.

Log in to reply