PXE Surface PRO 3



  • Hello,

    We have a problem for PXE boot on the SURFACE PRO 3, for this we use a Microsoft Ethernet adapter (Model: 1663).

    When that we start on the network we see in the DHCP logs the first two phases:

    • DHCPDISCOVER (IP address of the client request)
    • DHCPOFFER (server response that sends the IP address)

    But the DHCPREQUEST phase (Customer must accept the IP address) is not established.

    Is it in the DHCP file to a specific configuration for it to work?

    Because under the Windows system and the DHCPREQUEST DHCPPACK phases happens correctly.

    Thanking you in advance.
    Best regards.


  • Moderator

    @Nicolas-Bricet

    We are requesting that all community members who have Surface Pros to please do a packet capture, to capture the DHCP conversation the client sends out at boot time via the ethernet dock, and upload the capture here. The intent is to gather more information about the Surface Pro, so fog can better support network booting it.

    Thanks,
    Wayne


  • Moderator


  • Developer

    @Nicolas-Bricet Good to hear that you found the issue. My guess is that your UEFI device does not like DHCP option 66 and 67. Most clients are happy with “next-server” and “filename” options (not DHCP options but part of the main DHCP packet) and I don’t use option 66/67 at all. From my point of view there is no need for you to use both!



  • We found where the problem came when we use the DHCP file it works without problems :

    subnet *.*.*.0 netmask 255.255.255.0
    {
        option routers               *.*.*.254;
        option broadcast-address     *.*.*.255;
        option subnet-mask           255.255.255.0;
        option domain-name           "****************";
        option domain-name-servers   *.*.*.*, *.*.*.*;
        
        next-server                  *.*.*.*;  
        filename                     "undionly.kpxe";
    }
    
     host surface-pro
        {
            hardware ethernet            *.*.*.*.*.*;
            fixed-address                *.*.*.*;
    		next-server                  *.*.*.*;
    		filename                     "ipxe.efi";
        }
    
    

    By cons with this configuration that does not start the PXE:

    subnet *.*.*.0 netmask 255.255.255.0
    {
        option routers               *.*.*.254;
        option broadcast-address     *.*.*.255;
        option subnet-mask           255.255.255.0;
        option domain-name           "****************";
        option domain-name-servers   *.*.*.*, *.*.*.*;
        
        next-server                  *.*.*.*;
        option tftp-server-name      "*.*.*.*";
        
        filename                     "undionly.kpxe";
       option bootfile-name         "undionly.kpxe";
    }
    
     host surface-pro
        {
            hardware ethernet            *.*.*.*.*.*;
            fixed-address                *.*.*.*;
    		next-server                  *.*.*.*;
    		filename                     "ipxe.efi";
        }
    

    This option raises concerns: option bootfile-name “undionly.kpxe”;

    Can we rule out this option for the DHCP level not he runs because we have left this option in the configuration file? Or add a “class”?

    Thank you if you can help me.



  • Hello,

    When I start networking is what happens:
    Checking Media Presence …
    Media Present …
    Start PXE over IPv4.
    The last stage lasts a few tenths of seconds and we do not see what happens or an error message and then it executes the next step:
    Start PXE over IPv6

    So one wonders which could pose problems in the DHCP level and options for we see u’il well retrieves its IP address.

    Thanks for your help.
    Best regards.


  • Developer

    Let me guess… It hangs on “Initialising devices…”?!? Please take a picture or video as Wayne suggested so we are able to see the same things you see. Otherwise helping is somewhat more complicated if we don’t see what’s going on.


  • Moderator

    @Nicolas-Bricet Are you using IPv6 throughout your university?

    Can you give us a YouTube video of the issue you’re seeing? Just a short smartphone video of a computer booting until it hangs would be good.



  • Hello,

    The first tests were a common DHCP server at our university, we had problems getting these two phases:

     DHCPDISCOVER (IP address of the customer request)
     DHCPOFFER (server response That Sends the IP address)
    

    We therefore performed some tests on a local DHCP server on Ubuntu server (ISC-DHCP-server).

    We now cover much we both phases “DHCPDISCOVER” and “DHCPOFFER” but it hangs at boot file “ipxe.efi” it does not appear we FOG menu and this happens on IPv6

    Thanking you.


  • Moderator

    Here’s a thread with a bunch of links in it on the subject. https://forums.fogproject.org/topic/5800/help-with-surface-pro-3-pxe


  • Developer

    I am trying to read between the lines here… You are trying to use FOG with ISC-DHCP-server (talking about dhcp log files)?

    Could you please capture those DHCP packets on your FOG server and upload a PCAP file so we can have a look? Install package tcpdump and run tcpdump -i eth0 -w dhcp.pcap port 67 or port 68 or port 69 as root. Leave this command, boot up your surface device till it times out and stop tcpdump (Ctrl-c) then. Upload the dhcp.pcap here.

    Because under the Windows system and the DHCPREQUEST DHCPPACK phases happens correctly.

    I don’t really get what you mean here. You mean a windows client requesting an IP is going throught all four DHCP phases (DISCOVER, OFFER, REQUEST, ACK)? Or do you mean things work correctly when using a windows DHCP server??


Log in to reply
 

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.