UEFI - Lenovo MIIX 320 and USB Ethernet

  • Hi, I’m trying to capture a new Image, I read many topics on this subject, but I cannot find a solution.
    FOG Server:
    OS = Ubunu 14.4.5 LTS (patched)
    FOG Version = 1.4.4
    bzImage Version: 4.11.0
    bzImage32 Version: 4.11.0

    PC is a Lenovo MIIX 320 (2in1 tablet/notebook). It doesn’t support legacy mode. I disabled secure boot.
    USB-C Ethernet adapter
    boot image: ipxe.efi
    enabled “host kernel parameter”: has_usb_nic=1
    EFI exit type is “refind EFI”

    Fog boot menu is loaded correctly, but when I choose any option, it reboots. I manually registered Host and planned a capture task. Now I’m stuck here:

    troubleshoot steps already tried:
    Change boot image: with all others *.efi images I’ve a “PXE Boot failed” error
    Update Fog to Trunk (done yesterday, it was a 1.5 RC release, i did not take note of svn version): with some images I’ve a “dhcp failed” error, with others it stops after loading init.xz

    I read somewhere (in this forum) about modified/patched kernels for UEFI, but I didn’t find info on how to obtain it.

    I tried to update kernel from fog configuation - kernel update to Kernel - 4.13.4 TomElliott, but I’ve a “Type: 2, File: /var/www/html/fog/lib/fog/fogftp.class.php, Line: 707, Message: ftp_put(): Could not create file., Host:, Username: fog”. It pretty weird (for me) that it doesn’t say what’s the filename i is not able to update, but I double checked FTP credentials and it should be ok.

    Last note: with non-pxe images on other hosts, Fog server works fine. I did no take care of the “legacy/UEFI coexistance” problem at this time, to simplify troubleshooting, I’m working like if I’m goin to have only uefi hosts in the future.

    should i contact ipxe team (another issue is that from USB of this device it’s not possible to boot anything that’s not WinPE) or could some of you help me? thank you!

    PS: this afternoon I’m going to install a new test server from scratch with newest Ubuntu and I’ll try to update kernel on that one. I’ll keep this post updated.

  • @sebastian-roth don’t worry, it’s an exception. I’m managing many fog servers and it’s great (and still my first choice).

    @imagingmaster21 security chip disabled, usb nic allowed in host config, it’s atom: I don’t think it has virtualization support.

    Unfortunately, I don’t have any device available to make further tests.

  • Senior Developer

    @ale-com It’s really sad to hear that you have to go WDS. All the best to you and hope it is all working out.

  • @ale-com Did you try disabling the Security Chip? Also is there a virtualization option in the BIOS settings? You can try to enable that also and it may work. Do you have the argument set in your FOG Config to allow USB NIC?

  • @sebastian-roth they’re using Windows Deployment Services

  • Senior Developer

    @ale-com said in UEFI - Lenovo MIIX 320 and USB Ethernet:

    This morning they confirmed me that another path will be followed.

    Thanks for your update. What do you mean by that?

  • Hi.
    It takes me some time to negotiate with management (and I suppose that in the meantime we should already solved the issue).
    Unfortunately, they’re not allowing me to keep one device for all the time needed.
    This morning they confirmed me that another path will be followed.

    For your info (maybe it could be useful for others) I tried many efi binary, with those results (after updating to trunk):
    i386-7156-efi dhcp failed
    intel7156.efi dhcp failed
    intel.efi dhcp failed
    ipxe7156.efi stops after init.xz
    ipxe.efi stops after init.xz
    realtek.efi dhcp failed
    snp.efi stops after init.xz
    snponly7156.efi stops after init.xz

    ipxe.efi is the only one that, before updating to trunk, allowed me to access the “iPXE prompt” (ipxe7156.efi didn’t)

  • Senior Developer

    @ale-com bump…

  • Senior Developer

    @ale-com said:

    it gets stuck after
    “init.xz… ok”

    We have this happening with pretty much every kind of “newish” tablet/gadget/even some laptops. It’s always got to do with iPXE not being able to hand over to the linux kernel. The reasons for that are different though. One time we had a faulty HP UEFI hardware causing this. On the other hand we’ve also seen this happening as a result of UEFI timer code in the iPXE playing up. And it could be other things as well. We cannot tell until we dig into this. The reason I explain this is that I need to ask you if you are keen enough to go through the debugging process with me? Can take two weeks or four weeks or just a few days sending messages forth and back (try this, yeah shows this on the screen, picture, then try this, yeah… and so on). I am more than happy to do this again and again but I want to ask you if you wanna go there too. There is no point in starting this time consuming work if it stops right in the middle of nowhere because you had to give all the devices to users or have no time to test and send pictures anymore because your boss tells you to work on something else.

    Read through this to get an idea of the endeavor: https://forums.fogproject.org/topic/6525/pxe-boot-hp-x2-210-hybrid-tablet-windows-10-pro

    So if you’re ready, let’s start by trying different iPXE binaries. Usually this doesn’t help but hey, let’s give it a go anyway. Use snp.efi, snponly.efi, intel.efi, realtek.efi, whichever EFI binary you find in /tftpboot really.

    And the other thing is when you get to the iPXE shell and it errors out, key in imgstat just to make sure the binaries are recognized by iPXE. Post a picture.

  • Moderator

    @ale-com said in UEFI - Lenovo MIIX 320 and USB Ethernet:

    I tried to update kernel, but I still have “Type: 2, File: /var/www/html/fog/lib/fog/fogftp.class.php, Line: 707, Message: ftp_put(): Could not create file., Host:, Username: fog”

    The kernel update refers to FOS (the linux OS that is contained in bzImage and the inits), while in theory it could be this I don’t think its getting that far the issue still appears to be in iPXE side or the firmware on the device. I think @Sebastian-Roth had a custom ipxe.efi that sent out debug messages he was testing with another fog admin. Maybe when he has time he can add his wisdom to this thread.

    This issue has nothing to do with the host OS (99% sure) or FOS (51% sure) but we should focus on iPXE or target hardware firmware. I do have another solution where we have use usb booting into FOS if everything else fails. I would really like us to understand why its failing and get it resolved. I think others will have the same issue as you in the future.

  • @george1421 I tried with dev-branch:
    Running Version 1.5.0-RC-9
    SVN Revision: 6080
    ipxe 9720f (or 7156, with ipxe7156.efi) it gets stuck after
    “init.xz… ok”

    after switching to working I’ve:
    Running Version 65
    SVN Revision: 6079
    ipxe version now is 1b67a, but it still get stuck after init.xz.
    “Features” available are not the same as the 356f version. the new ipxe lacks FTP and NFS (TFTP is still there, and bzimage/init.xz are read, so I don’t think it’s an issue).

    I tried to update kernel, but I still have “Type: 2, File: /var/www/html/fog/lib/fog/fogftp.class.php, Line: 707, Message: ftp_put(): Could not create file., Host:, Username: fog”

    I’m installing a new Ubuntu server. In the meantime, any suggestion to troubleshoot this one will be appreciated.

  • Moderator

    @tom-elliott Thank you!!

  • Senior Developer

    @george1421 switch to working branch. Copy the packages/tftp folder contents to /tftpboot. Switch back to dev-branch or master. Do not run the installer.

  • Moderator

    @ale-com as for switching to working, that is all you need, then reinstall FOG from the working branch.

  • Hi @george1421 ,
    first of all, thank you!
    My fog server is a virtual machine, so upgrading to last trunk is not an issue for me. I could rollback in seconds.
    I’m git-cloning the dev-branch and I’ll update you soon. then I can switch to working (I’ll only need to “git checkout working” or there’s something else I should take care of?)

  • Moderator

    I’m not finding that commit number (on ipxe) of 356f I can’t tell if the version ipxe you are using is very new or very old. Its not in the as 20 commits as far as I can tell. I did see this issue in the last week or so with another fog install and I thought it was fixed in the working branch, what will be 1.5.0RC10 when its released.

    @Developers, how can we get access to ipxe.efi from the working branch without switching the OPs install to the working branch? I tried to find it on github but failed.