issue with netcard of dock gen2 of lenovo l390

  • Testers

    I am now successfully imaging with my work around method that involves using a usb 2.0 “gigabit” ethernet adapter following the method I outlined here many moons ago.

    Since the device is able to be imaged with a different ethernet adapter, I’m thinking that maybe there’s just a new driver that needs to be added to FOS. I have tried to find a .efi driver for this device but haven’t been able to find it available for download and there isn’t a way I have yet found to extract it from the built-in lenovo efi drivers. Maybe there’s a kernel option we can add in building that will help. I am very sure though that it’s tied around FOS and this lenovo usb-c ethernet adapter chipset. It will pxe boot just fine but then there are issues after that. It gets further along in the latest version of FOG than @jps is running but it isn’t quite working yet. Just need to find a way to add full support for this adapter and then this will be fixed.

  • Testers

    I was figuring that although the situation is a bit different the solution will probably be close to the same since it’s the same computer model and same ethernet adapter chipset. I believe @jps’s problem and my problem get down to FOS. I got pxe errors in trying different network configurations figured that it was network related


    For me I don’t actually get an error message it just hangs like above. This is with the newest kernel available in the kernelupdate fog configuration screen, 5.1.16

    I can go throw this in a new thread if you think that’s better.

  • Moderator

    @JJ-Fullmer You really should start your own thread since the conditions are a bit different. Having a screen shot of the error would be helpful. Also remember there is iPXE (ipxe.efi) as well as FOS Linux (bzImage) in the mix. Knowing which one is having the error is helpful.

  • Testers

    Doing the mac passthru still fails to do pxe boot. It tries a net0 adapter twice, each one failing and then gives a pxe dhcp error and then restarts.
    Going to try the newest kernel, downloaded it as bzImage2 and will just use it on this device

  • Testers

    I am also having issue with a similar device. I have the L390 yoga and the lenovo usb-c ethernet adapter that lenovo says is supported for pxe boot. I have the latest version of fog and get into bzimage but I was not able to complete imaging. I think it is in part because it first tries the “internal” ethernet adapter and then the pxe device. There is a ethernet port but it requires a special adapter, and that special adapter differs between the L390 and the X390 lenovo thinkpad models, but both of those (we have some of both) can use the usb-c ethernet adapter, so we went with the universal choice.

    I also could not register the device in the fog pxe boot. Everytime I put in a hostname it just asked for it again. I just registered it in the gui with the usb-c adapter’s mac and queued it to upload.

    I keep getting stuck at one of 2 different spots during the imaging process, either

    Restoring Partition Tables (GPT) ..............DONE

    Then it just sits with a flashing cursor,
    or it get through imaging the first partition and sits flashing.

    I did just update to the newest version of the bios and am getting the same behavior.

    I have also tried doing a debug image session, but then it gives an error of something along the lines of ‘check your network connections’ and the task gets cleared.
    I think that maybe something is getting hung up on the device having 2 ethernet adapters in a weird way, what’s fun is you can’t disable the internal one when using the usb-c one, just have to wait for the first one to fail during pxe boot and fog’s processes

    There is a bios option to do mac-address passthru. I’m going to try setting it to use the internal mac for the usb-c adapter (adding the internal mac to the fog host first of course) and see if it makes a difference. When I did this and tried to then boot to fog to register, it didn’t get passed the pxe boot.

    Also, I am using the uefi pxe booting and @jps appears to be using the legacy version of pxe boot. Just to note another difference in situations.

    I was able to image a lenovo x390 yoga, but I used my old hackish method of booting to a usb with refind, going to the efi shell, loading the efi driver of a usb 2.0 ethernet adapter and then loading the ipxe.efi from the usb and that worked, but I didn’t have the usb-c adapter at the time. I haven’t tried doing that on the L390 because well I want the “supported” adapter we bought to work as intended for some weird reason.

  • Moderator

    @jps The short answer is yes you can update the kernel. So that’s fog version 1.3.3?

    As for the file bzImage command the numbers are more to the right than what you posted. I would expect something like this.

    > file bzImage
    bzImage: Linux kernel x86 boot executable bzImage, version 4.19.64 (jenkins-agent@Tollana) #1 SMP Mon Aug 5 11:08:49 CDT 2, RO-rootFS, swap_dev 0x8, Normal VGA

    In this case bzImage is version 4.19.64. If you are using fog 1.3.3 then you surely want to update to at least 4.12.3 save as bzImage and save as bzImage32. But as Sebastian said you really should update, but in the end that is your choice.

  • Nevertheless is it possible to update the kernel ? Thanks

  • Developer

    @jps The Lenovo L390 yoga is a fairly recent device so why not update your FOG version as well - it’s years old.

  • I think, but not sure, it’s version 1.3.3 patch 5929. When i do “file bzImage” it displays “bzImage: x86 boot sector”. The network card is Realtek, VID_17EF&PID_A387&REV_3103 named “ThinkPad USB-C Dock Gen2 Ethernet”

  • Moderator

    Daniel is spot on here. Since you are referencing a 4 digit number I’m suspecting the version of FOG is pretty old.

    What I want you to do is from the fog server navigate to the following directory /var/www/html/fog/service/ipxe Once you are in that directory key in file bzImage This will print out the FOS Linux version number. I will be something like 4.X.X. Lets start with what version you are on to know what version you can safely upgrade to.

    Also if you have a windows computer that can successfully boot on this hardware, go into the device manager and get the hardware id for this nic. We’ll need the vend and hardware ID number so we can cross reference it to a linux driver.

    Let me follow on by saying the picture tells us the complete story, so well done.

    Edit [warning tea leaf reading here] based on enp0s31f6 as the linux device name, I’m going to guess you have an intel I219 style network adapter. When you run the file command it will return something less than version 4.12.0 of the FOS Linux kernel. The intel I219 network adapter wasn’t added to the linux kernel until 4.12.0. Lets see how close I can get.

  • Probably not directly related to the version of FOG, but the version of FOG would influence the version of the kernel initially used for FOS which determines the supported hardware. If you haven’t updated the kernel since installation, you might want to try one of the newer ones (4.19.64 I think is the latest stable one) to see if that takes care of things. Documentation for updating the kernel is on the Wiki: Kernel Update.

Log in to reply