Lenovo Thinkpad Yoga 260 w/Lenovo ThinkPad USB 3.0 Ethernet Adapter FRU:03x6903
-
@sudburr Just thinking out loud here. Right now there is questions if iPXE is able to initiazle the hardware. But once we get past iPXE there is still the FOG client OS (FOS) to ensure that it will work with your hardware.
A while ago I wrote a tutorial [https://forums.fogproject.org/topic/6532/usb-boot-target-device-into-fog-os-live-fosl-for-debugging] on how to create a FOS-L usb boot drive. This would boot the FOS client OS via USB instead of transferring it via PXE. If you have time to test and a spare USB Flash drive, create a FOS_L boot image and see if the FOS client can pick up an IP address. We may have to add a kernel parameter since you are using a usb NIC. But lets start with the out of the box instructions. What this will tell us is that once we get past the iPXE issue FOG will function as expected. If the FOS doesn’t support the nic then working on iPXE is only the beginning of a long process.
-
@surbud said:
Using undionly.kpxe it stalls at iPXE initialising devices.
Most probably caused by a faulty UNDI PXE stack implementation
Using ipxe.pxe it stalls at iPXE initialising devices, then eventually fails to DHCP.
Stalls and then still goes ahead and does DHCP? Maybe try
ipxe.kpxe
oripxe.kkpxe
?Using undionly.kkpxe it stalls at http://172.19.244.13/fog/service/ipxe/bg.png… 12% or 39%
Maybe we can get some more information by enabling debugging in iPXE. Please look into generating your own iPXE binary and add the following in the debug field:
ipv4:2
(that’s just a first quick idea to see some more debugging output - will be a lot. Possibly there will be better options than enabling ipv4 debug but it’s a start. I will look into that when I get home) -
another idea - although unlikely to help - is to put a dumb-switch between the adapter and the rest of the network… see what happens.
-
Okay, I’m back in the office, and quickly tried something else with undionly.kkpxe .
mv /var/www/html/fog/service/ipxe/bg.png /var/www/html/fog/service/ipxe/bg.png.old
I can get to the FOG menu!
Host is NOT registered!
Menu Selection Results:
Boot from hard disk = Booting from SAN device 0x80 + hang run Memtest86+ = memdisk... 10% + hang Quick Registration and Inventory = bzimage... 0% + hang Quick Image = http://172.19.244.13/fog/service/ipxe/boot.php... 37% + hang Client System Information (Compatibility) = bzimage... 0% + hang
I’m also entertaining the idea that this may be a bad USB Ethernet adapter; so I’m getting another to be sure.
-
I have successfully booted from USB FOS FOG 64-bit Debug Kernel.
I have eth0 (1c394713aa5e) and eth1 (the USB Ethernet) (3c18a006dfa1)
eth1 has a valid ip address .
-
If I replace the version 4.3.2 bzImage and init.xz on the USB key with 4.5.1 variants, it still boots fine.
-
@sudburr Well on the plus side once we get past the iPXE booting issue FOG will work.
The down side is that we still need to get the iPXE kernel to work with that nic correctly. It is too bad changing the png file didn’t work. But as I expected it just moved the problem to the next large transfer.
-
@george1421 What about switching the bootfile? Using undionly.pxe/ipxe.pxe or if UEFI, using snp.efi/snponly.efi?
-
@sudburr said
If I replace the version 4.3.2 bzImage and init.xz on the USB key with 4.5.1 variants, it still boots fine.
What do you mean by this??
The trunk version should be already running 4.5.1
Just for clarity, when the ipxe kernel boots it should say a version number and some hex characters after the version. Can you please post the version and hex characters here.
-
@Tom-Elliott unidonly.pxe can’t dhcp, ipxe.pxe hangs at iPXE initialising devices.
Okay, setting to UEFI boot and snp.efi . It works.
Re-instating bg.png. It still works.
Sigh… so UEFI it will be. Time to upgrade the DHCP server.
btw, iPXE is 2d42d
-
@sudburr Well it was worth a shot on checking the build number. The version if iPXE you are using is only 2 commits old. So the point is its fairly new. So upgrading iPXE probably will not resolve the issue.
Your other option is to find a usb network adapter that IS supported by iPXE and the Thinkpad.
-
@sudburr said:
Okay, setting to UEFI boot and snp.efi . It works.
But only if you switch to UEFI in “BIOS” I suppose! Well then, UEFI is not too bad after all… Just wondering of you need to reinstall your client OS. Have you tried ipxe.efi as well?
-
Not yet. I’m pulling an image from it right now.
But I did try snponly.efi and it was unhappy.
-
ipxe.efi also works.
-
I’m hoping to acquire a ThinkPad OneLink+ to RJ45 Adapter ( pn: 4X90K06975 ) which should leverage the Yoga’s onboard ‘Intel Ethernet Connection I219-V’ through the OneLink+ connector to see how that pans out.
-
@sudburr Please let us know when you succed using this adapter! As well it would be great to know which NIC chip is in that adapter… so I can add it to the wiki.
-
I finally got my hands on a Lenovo ThinkPad OneLink+ to RJ45 Adapter ( model SC10J34224 ).
Using FOG RC10, kernel 4.7.3, it connects and fogs quite happily in UEFI mode using ipxe.efi and Legacy mode using undionly.kpxe.
Tested on a Lenovo ThinkPad Yoga 260 and a Lenovo ThinkPad 13.
-
@sudburr Thank you for posting back there is another FOG user that is having a problem with similar hardware. Your insights may be valuable with his issue too.
-
Revisiting this using the newly released 1.51 BIOS and these settings:
UEFI/Legacy Boot = BOTH UEFI/Legacy Boot Priority = Legacy First CSM Support = YES Secure Boot = disabled
I am able to undionly.kpxe boot via the Lenovo ThinkPad OneLink+ to RJ45 Adapter ( model SC10J34224 ).
Atttempts to undionly.kpxe boot the Lenovo ThinkPad USB 3.0 Ethernet Adapter ( Realtek RTL8153 USB Ethernet Controller (xHCI) v2.00 (05/20/15) ) results in detection and iPXE loading, but hanging at:
iPXE initialising devices...
Strangely this same setup now works happily on the Lenovo ThinkPad 13 with BIOS 1.15, so there is something odd about the Yoga 260.
Booting instead with a UEFI USB with ipxe.efi or snp.efi at least, works if I change the BIOS setting:
UEFI/Legacy Boot Priority = UEFI First
My intent then is to USB boot, but I can only find instructions for UEFI for USB booting. I’d like to test .*pxe booting by USB. Is this possible and how?
-
It looks like finding a way to .KPXE USB boot is moot since playing directly with the DHCP results in:
undionly.pxe
= fails through to hddundionly.kpxe
= hangs at iPXE initialising devices …undionly.kkpxe
= hangs at bg.png 25%ipxe.pxe , ipxe.kpxe , ipxe.kkpxe
= only looks for link up on net0 (the onboard nic) twiceipxe.krn
= hangs after loadingrealtek.pxe , realtek.kpxe , realtek.kkpxe
= exits after loading