Several problems with Surface Pro 4
-
Hello
We want to image some Surface Pro 4, because we already have a fog server runnig for desktop clients, we want to give it a try. I was on an older trunk and had some problems, so i upgraded to the latest
Running Version 1.3.0-RC-7 SVN Revision: 5946
Unfortunally that didn’t help. So a few things I’ve done after reading a lot of forum posts.
- fog.reginput Boot Options:
mode=manreg has_usb_nic=1 isdebug=yes
- FOG_KERNEL_DEBUG ebabled and Log Level 7
- Manually added the host to the fog server
- Exit type = REFIND_EFI
- use
ipxe.efi
- replaced tftp files with these https://sourceforge.net/p/freeghost/code/5835/tree/trunk/packages/tftp/
What is working
- If no task is assigned I can boot into the PXE menu
What is not working
- If i select an entry the display just goes dark, nothing happens
- If i select
Boot from harddisk
REFIND_EFI starts, i need to press a key and then windows tries to boot but get stuck at the windows logo. (no problem if i boot without pxe) - If a task is assigned it get stuck at
bzImage... ok init.xz... ok
- Perform Full Host Registration and Inventory & Quick registration doesn’t work (Select menu entry -> screen goes dark; Quick registration -> chainload failed).
Any help would be appreciated!
- fog.reginput Boot Options:
-
Here are the steps wich resolved the issues:
@jhuesser said in Several problems with Surface Pro 4:
- If i select an entry the display just goes dark, nothing happens
Use
intel7156.efi
- If i select
Boot from harddisk
REFIND_EFI starts, i need to press a key and then windows tries to boot but get stuck at the windows logo. (no problem if i boot without pxe)
Use
intel7156.efi
- If a task is assigned it get stuck at
bzImage... ok init.xz... ok
Use
intel7156.efi
- Perform Full Host Registration and Inventory & Quick registration doesn’t work (Select menu entry -> screen goes dark; Quick registration -> chainload failed).
manually add the host and add
has_usb_nic=1
to the host settings. (also for dhcp error in FOS)@jhuesser said in Several problems with Surface Pro 4:
@george1421 It doesn’t recognize the keyboard at this point. (…)
Use an USB-Keyboard with an USB-Hub
@Sebastian-Roth Am I right, if i used the USB keyboard at the beginning, there is no need to modify the initrd to remove the keyboard interaction?
@Tom-Elliott said in Several problems with Surface Pro 4:
@george1421
lshw
lsusb
lspci
dmesg
Personally, dmesg will probably be of more use as even if the kernel doesn’t have drivers we should see the device in the list on load up.
Should i execute dmesg on a ubuntu bootet on the SP4 or in the FOS Engine?
-
The has_usb_nic=1 should only be required if you’re running a USB Nic, and that NIC is recognized, but unable to get an IP address. That said, I doubt this is the issue you’re having, just trying to help lead you in the right direction.
This sounds, to me, that you’re not using the same files as suggested in the posts you’ve read thus far. In 1.3.0-RC-7, there are already files available for the Surface pro’s to boot from. They’re labeled in the /tftpboot/ folder and have the 7156 applied to the filenames so as to limit confusion of what they are.
You should also try different files. If ipxe7156.efi isn’t working for you, maybe intel7156.efi or realtek7156.efi may work. There’s also the snp7156.efi and snponly7156.efi files. I don’t know why the surface’s have a hard time booting and I’m fairly certain its something with the drivers from the 7156 version through current but I have not been able to get to a solid method of testing to narrow exactly when the problem occurred. This is primarily because I don’t have any of the surface pro’s myself, so I can’t tell if one file (or another) will or won’t work.
-
@Tom-Elliott said in Several problems with Surface Pro 4:
This is primarily because I don’t have any of the surface pro’s myself, so I can’t tell if one file (or another) will or won’t work.
I’m sure if someone wanted to donate a new Surface Pro 4 to the FOG Project the developers could figure out what is going wrong here… Just a suggestion…
-
@Tom-Elliott Thank you. Tried eveery *71556.efi file. Here is what I got:
-
ipxe7156.efi
was able to boot into the menu, Selected perform full host registartion. GotFailed to get an IP via DHCP
and with
has_usb_nic=1
I gotPlease unplug your device and replug it into the usb port
. In both cases the keyboard is not regocnized and nothing happens if i press enter.
-
intel7156.efi
After loading the bootfile and iPXE starts, it saidDCHP failed
-
realtek7156.efi
same asintel7156.efi
-
snp7156.efi
same asipxe7156.efi
-
snponly7156.efi
same asipxe7156.efi
Btw. the output text is “new” Hadn’t had this with
ipxe.efi
Any ideas?
-
-
I’m guessing the issue is due to the ethernet connection going through the keyboard dock thingy.
-
@jhuesser From the images you are getting into the FOS engine. So iPXE has done its part so no need to mess with iPXE files any more. So if you are getting to that point (in your first image), I would do the following:
- Manually register that device (it you have not already)
- Setup a debug capture sequence
- PXE boot the device. It should launch into capture mode and then after a few enter key presses it will drop you to a linux command prompt. This is the FOS engine command line.
From there we can do some debugging like
ip addr show
Please post the output of that command here.Also ensure that the network port this device is connected to has spanning tree turned off (not a good choice) or one of the fast spanning tree protocols enabled. (RSTP, port-fast, fast stp, etc). A quick test would be to place a dumb (unmanaged) switch between your building switch and the target computer. If you can pickup an IP address in this configuration you need to look into your spanning tree configuration on your building switch. What happens when the FOG boots a target device is that as the target boots, it winks (monetarily turns off and back on the network link) as each kernel hands off to the next kernel (i.e. PXE boot ROM-> iPXE and iPXE -> FOS Engine). The issue is that if STP is enabled it takes STP 27 seconds to move from listening to forwarding. By the time the link moves to forwarding, the FOG boot process has already given up.
-
@george1421 thank you. When i PXE boot the surface again with
ipxe7156.efi
and an active upload-debug tastk, it gets as far as in image 1. Network should be fine, I’ve done some imaging with desktop PCs with the same port.@Quazz I’m using an ethernet to usb adapter (offical from Microsoft). It’s new, bought 2 days ago.
-
@jhuesser Alright, well, it has a Realtek nic in it if I’m not mistaken, r8152. Realtek boot files will most likely give you the largest chance of success.
Is it possible to update the BIOS on the surface pro 4? It might help somewhat.
-
@Quazz If I use
realtek7156.efi
The same is happening as withintel7156.efi
(Third image, or again at the bottom). And no it’s not possible to update the UEFI.
-
@jhuesser said in Several problems with Surface Pro 4:
Boot from harddisk``` REFIND_EFI starts, i need to press a key and then windows tries to boot but get stuck at the windows logo. (no problem if i boot without pxe)
Btw. the problem with the windows boot up is solved if I use
ipxe7156.efi
as @Tom-Elliott suggested. -
@jhuesser I think I lost where we are in this thread.
So for the surface pro 4 you identified that you need to pxe boot ipxe7156.efi (actually that will work just fine for surface pro 4 and traditional uefi systems, so you can have just one efi boot file).
From there are we still running into issues?
-
@george1421 exactly.
If i assign a task via fog web interface or select a menu entry in the fog boot menu, always the DHCP error shows up.
-
@jhuesser OK where its failing is that the FOS Engine ( the custom linux operating system that captures and deploys images ) doesn’t have the driver required for that nic. If you do a debug capture (when you schedule a capture you select the debug option) does it allow you to continue and get a to a command prompt?
Since you are at this point you have the right iPXE (pxe boot stuff) we have to now find out why the FOS engine is not talking with the network adapter.
-
@george1421 Created an debug upload task. See the same Output as in this image
@jhuesser said in Several problems with Surface Pro 4:
So it downloads the boot file, start iPXE, start FOS and then it breaks…
-
@jhuesser I’m surprised that it just stops. I assume when you press enter it reboots then?
@Developers Do you know why the FOS engine would stop at this point. From the error message it appears that kernel is not seeing any network adapter since it says interfaces: with no interface name.
-
@george1421 It doesn’t recognize the keyboard at this point. If there is no upload task and the fog menu shows it works, but as soon as the FOS is running, it doesn’t recognize it.
-
@jhuesser Since I’m ignorant of the surface pro, but is there an option to add extra usb stuff, like a usb nic or keyboard?
If the keyboard is unresponsive then the question is the kernel frozen or is the keyboard not recognized. I’m suspecting some unknown usb 3 controller between the kernel device.
-
@george1421 OP is using a USB NIC since it doesn’t have one built-in. It also has a sort of keyboard dock which I’m guessing is what OP is talking about when he says it doesn’t respond.
-
Yeah, I’m using an USB nic. Keyboard is the origiginal surface case keyboard. This is the connector:
As is said, in the boot menu it works fine. But when it stops at the DHCP error and ask to press enter, it doesn’t respond.
-
@jhuesser I’d guess this is either a case of Spanning Tree as George already mentioned (try connecting a dump mini switch between your Surface and the building switch) or we have a driver issue here with the USB NIC you are using. Can you please boot up a normal PC with ubuntu live CD, then after bootup plugin the USB NIC to that PC and run the following commands on a terminal:
lsusb ... dmesg | tail ...