Microsoft Surface Pro 4
I’ll be getting 20+ Microsoft Surface Pro 4’s soon. I’ll likely have one to test with next week. I already know that I’m going to have issues with them, so I’m asking now how to get these to work with FOG?
I’m assuming these are UEFI only… not something I’ve dealt with yet. If UEFI only, I’ll still need to be able to pxe boot non uefi devices.
@avaryan yes with the microsoft usb nic that was available with the surce 3 pro:
But their dock is also working:
But i won’t work with the Surface Book with FOG for me, i actually have one Probook around and cannot get it work:
Anyone have a supported Microsoft dongle they want to lend me?
I’ve renamed and replaced the ipxe.efi file with the 7156 file. Didn’t allow me to PXE boot.
I’ve had the option on the DHCP server changed from undionly.kpxe to ipxe.eft.
No luck yet.
edit: Saw this for the USB NIC that I was given to use:
edit2: Netbooted another laptop while UEFI settings still in place. Got some message about NBP being too big. Never saw that before.
Apparently this is because the device was configured to legacy boot. Can’t seem to switch it back to UEFI.
edit3: Switched non-Surface laptop back to UEFI. Was able to boot to FOG menu. This at least should confirm that UEFI is setup correctly in my test environment.
Wouldn’t the 3rd party dongle still effect this?
The problem with 3rd party dognles is that they HAVE to be supported by the uefi roms on the target computer. While this next statement is not 100% correct, it pretty close. The uefi firmware is a bit more like a linux OS than bios interface. It is written in mostly C and requires kernel level drivers to interface with hardware. The hardware you want to plug in must be supported by the uefi firmware or be extended by onboard uefi firmware on the attached device.
you should try the ipxe7156.efi until we have this figured out right
You are 100% correct that specific ipxe kernel version works with the surface pros. I forgot all about that.
@avaryan I have never tried anything but the Microsoft Dongle. It may certainly be worth a try.
@fry_p Wouldn’t the 3rd party dongle still effect this?
EDIT: If you have a mixed environment, I’d recommend looking at this page UEFI and BIOS Co-Existence in FOG
@george1421 Do you think this would enable FOG to work with the Surface? And through the 3rd party dongle?
@avaryan yes, fog supports uefi. You need to tell your dhcp server to send the name ipxe.efi to the target computer instead of undionly.kpxe.
Does FOG support UEFI?
@avaryan From what I understand, it will only pxe boot from a microsoft dongle.
“Third-party Ethernet adapters are also supported for network deployment, although they do not support PXE boot. To use a third-party Ethernet adapter, you must load the drivers into the deployment boot image and you must launch that boot image from a separate storage device, such as a USB stick”
Finally got a Surface Pro 4 to work with.
I’m not even sure where to start with this thing, lol. The USB NIC is from Dell.
I’ve disabled Secure Boot and Trusted Platform Module and left PXE Network as the only boot option. Doesn’t seem to do anything.
Where do I go from here?
Right after verifying the tests on 04/05_ipxe (see below) you can also try the debug enabled iPXE binary (
DEBUG=efi_timer) to see where it hangs/loops. Find
00_efi_timer_ipxe.efiin the same google drive folder as mentioned below.
Was informed that the Surface devices came in today. May have one next week.
@Sebastian-Roth I should have just put “OK” instead. With just the Surface Pro Ethernet adapter, I always get a USB error past the pxe boot, when it is preparing to image. I can use a powered USB hub to get it to work in those situations. You can change those to avoid confusion, but they pxe booted fine up until the commit you specified. If I can get my hands on another in the near future, I’ll get those svn versions as well.
@Avaryan , you can see that my Surfaces keep getting deployed to users before I can finish testing! They are certainly in high demand around where I work. You are right about that
I love how I started this topic and have made 0 contributions, lol.
Apparently the Surface 4 is in “high demand”; which is why it’s taking so long to come in. Eventually I’ll get my hands on one.
@fry_p Thanks heaps for testing the binaries so far! What does USB error mean? PXE boots fine or not?
From your tests it looks like the code change on EFI timer (git 757ab9) broke things. Is anyone else able to verify this (and test the SVN binaries too) before I get in contact with the iPXE devs? @Avaryan @Scott-Adams? You just need to test
05_ipxe.efi! Plus testing the binaries in the
svnsubfolder would be highly appreciated as well. Find it all here.
@Sebastian-Roth I got my hands on a Pro 4 and tested all 76 of the .efi files you had up in drive. I made notes. Let me know if you need more info. It seems to have worked up until the 5/4/17 commit.
EDIT: They took my surface away for a user before I was able to test the svn folder on the Google Drive folder you shared @Sebastian-Roth