Laptop with integrated 4G modem

  • Hi.
    I’ve been handed some new laptops with integrated 4G modems, and I haven’t been able to boot them with FOG.

    They boot correctly with the ethernet nic with pxe but fail after the PXE menu. It seems to be trying to use the 4G modem as the main boot nic instead of the ethernet card.

    I get the message:

    No DHCP response on interface wwp0s20f0u7, skipping it.
    Failed to get an IP via DHCP! Tried on interfaces(s): wwp0s20f0u7

    Shouldn’t it try to use the other card when this one fails?
    Is there any way to check which cards are detected and change the main nic used?

  • Senior Developer

    @george1421 So are you saying we should not alter the kernel config because of this? While you are right about it should be working when using the latest 5.10.19 kernel I still wonder if the CDC_ETHER will cause us trouble as we did not have that enabled in the 4.x series kernels.

  • Moderator

    @sebastian-roth Well I wonder should we look at this as a one off issue? The system would have worked correctly if an updated kernel was used that supported (in this case) the I225-V nic. Are we trying to solve a problem because of a niche issue? I don’t know the right answer, but its been functional up until this use case.

  • Senior Developer

    @null Thanks for bringing this up! Sorry for kind of cross posting in your topic about something I stumbled upon when I was trying to find out why the 4G modem would be seen by the FOS kernel at all. Seems like we have the CDC_MBIM driver in the kernel. Although it’s been in the config for a long time and has not caused real trouble I still tend to remove it now. Anyone voting to keep this driver in the kernel?

    Ok, now to the cross posting part of this message. While looking into this I found that we seem to have the CDC_ETHER driver enabled in the current kernel config. Looks like this was enabled when I prepared the config for the 5.x series of the kernel.

    @george1421 @Tom-Elliott You might remember we had issues with this CDC_ETHER driver in the past. I think it was with Surface devices. Yes, just found some posts in the forums: 1, 2.

    While Tom was able to enable CDC_NCM (and CDC_MBIM - which I think we really don’t need) without CDC_ETHER it turns out this is not possible in the 5.x kernels anymore. CDC_NCM has a strict dependency on CDC_ETHER and we would need to mess with the code to get around this.

    So I am wondering what to do? Anyone around with Surface 3 or 4 devices to test the latest kernel 5.10.19 to see if the CDC_ETHER driver is still causing issues?

  • Moderator

    @null OK very well, from the error message I couldn’t tell if it was iPXE or FOS Linux that was throwing the error. Official support for that network adapter will be in the FOS Linux kernel 5.10.19 (may be there now, I knew it was in dev 1 week ago). You might want to give that kernel a chance since its mainstream and supported by the FOG devs. My one-off kernels are for specific niche uses.

  • @george1421 Thank you for the response.

    I ended up finding the problem, just now, the drivers for the ethernet card weren’t included in the boot image, that’s why it gave up after trying with just one interface.

    I found another post here with another bzImage with drivers for the Intel I225-V nic which these latptops have. After switching the image the laptop booted just fine.

  • Moderator

    @null The iPXE boot loader should try the first 3 interfaces in the computer. Its strange that it does find the 4G modem because the wireless drivers are not normally included in the iPXE boot loader.

    When you pxe boot and iPXE starts but fails to get an IP address it should say something about press ‘s’ to get to the ipxe console. Press that s key and gain access to the iPXE console. Then at the console prompt key in ifstat take a clear picture of the results and post the picture in the forum. That will give us a good idea of the network interfaces iPXE is seeing.