Intel UNDI Stuck Initializing
-
From what I can read here ([url]http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/thinkpad_11e_yoga_11e_hmm_sp40f29949_01.pdf[/url]), I am pretty sure this is UEFI…
Please try to switch to legacy BIOS mode and hopefully undionly.(k)kpxe will work for you then!!
Edit: Didn’t see your post…
[B]Well then you need to provide more information about what exactly you tried and the error messages you got! Let’s start from scratch: Please use undionly.kpxe and boot uo the machine. What do you see? Errors? Reboot? Hangup? Take a picture/video and upload so we see what you see…[/B] -
What is running DHCP? Are you using ProxyDHCP (dnsmasq) ?
What version of FOG are you running (or trunk version)?
If you cannot turn UEFI off as Uncle Frank suggested, you can try setting DHCP options 067 to ipxe.efi , snp.efi , and snponly.efi
Sooner or later, machines will ONLY support UEFI, so I would be very interested in doing my best to help you get FOG working with a mixed environment. I myself have made this my personal mission…
-
[quote=“Uncle Frank, post: 45262, member: 28116”]From what I can read here ([url]http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/thinkpad_11e_yoga_11e_hmm_sp40f29949_01.pdf[/url]), I am pretty sure this is UEFI…
Please try to switch to legacy BIOS mode and hopefully undionly.(k)kpxe will work for you then!!
Edit: Didn’t see your post…
[B]Well then you need to provide more information about what exactly you tried and the error messages you got! Let’s start from scratch: Please use undionly.kpxe and boot uo the machine. What do you see? Errors? Reboot? Hangup? Take a picture/video and upload so we see what you see…[/B][/quote]Fog 1.2.0, SVN Trunk r3225, undionly.kpxe(.kkxpe hangs on intializing devices) , TFTP Enabled, Tom Elliot Unofficial Kernal 3.19.3 (x86_x64). We were able to get it past initializing devices but it does not go any further. Here is a picture of where it stops. These are the only machines that this has occurred with so far. We have other uefi based machines that have not had any issues.
[ATTACH=full]1860[/ATTACH][url=“/_imported_xf_attachments/1/1860_20150410_074417.jpg?:”]20150410_074417.jpg[/url]
-
According to what I’m seeing on that screen. You’re definitely NOT running 3225, at least not in the TFTPBOOT folder.
-
[ATTACH=full]1861[/ATTACH] [quote=“Tom Elliott, post: 45305, member: 7271”]According to what I’m seeing on that screen. You’re definitely NOT running 3225, at least not in the TFTPBOOT folder.[/quote]
Sorry trunk now updated to r3225, still getting the same screen though.
[url=“/_imported_xf_attachments/1/1861_20150410_083016.png?:”]20150410_083016.png[/url]
-
I had a similar issue yesterday at home.
It turned out to be permissions on this folder: /var/www/html/fog
To test, go here: [URL=‘http://10.0.0.3/fog/service/ipxe/boot.php’]http://x.x.x.x/fog/service/ipxe/boot.php[/URL]
If you see “permission denied” or anything like that, it’s permissions.
Those should be set to: chmod -R 755 /var/www/html/fog
Of course, that’s the location in [U][B]Fedora.[/B][/U]
For us to tell you where it is for you, we need to know [B]what OS[/B] you’re running.
-
[quote=“Wayne Workman, post: 45308, member: 28155”]I had a similar issue yesterday at home.
It turned out to be permissions on this folder: /var/www/html/fog
To test, go here: [URL=‘http://10.0.0.3/fog/service/ipxe/boot.php’]http://x.x.x.x/fog/service/ipxe/boot.php[/URL]
If you see “permission denied” or anything like that, it’s permissions.
Those should be set to: chmod -R 755 /var/www/html/fog
Of course, that’s the location in [U][B]Fedora.[/B][/U]
For us to tell you where it is for you, we need to know [B]what OS[/B] you’re running.[/quote]
Sorry Debian 7, and I have access to that location. I do not get a permission denied.
-
The screenshot you posted,
There should be a message after that… it will only show briefly.
Can you take a video, and then play back and pause on that message? And then tell us what it says? -
[quote=“Wayne Workman, post: 45310, member: 28155”]The screenshot you posted,
There should be a message after that… it will only show briefly.
Can you take a video, and then play back and pause on that message? And then tell us what it says?[/quote]
No message shows. It just sits there with a blinking cursor. It does not go past that point in the image.EDIT: If we set it to use the undionly.pxe versus .kpxe it loops back to the boot device screen but there is still no screen with a message.
-
[quote=“SeqSupport@Edkey, post: 45311, member: 27616”]No message shows. It just sits there with a blinking cursor. It does not go past that point in the image.
EDIT: If we set it to use the undionly.pxe versus .kpxe it loops back to the boot device screen but there is still no screen with a message.[/quote]
Try every file that doesn’t have a .efi extension. Let us know.
Also, what is running DHCP? Are you using dnsmasq ?
-
We have a windows server that runs our DHCP. We are not using dnsmasq. All of the ipxe.pxe/kpxe/kkpxe produce the initializing device issue. The undionly.kkpxe produces the initializing device issue as well and the undionly.kpxe makes it past the initializing device but gets stuck at the screen of the image I posted. This laptop is the only laptop we have had problems with so far from Lenovo. Every other machine we have works just fine with fog and undionly.kkpxe.
-
Optionally,
You can also turn UEFI back on, and try every .efi file.
You might have better luck than I did.
-
[quote=“Wayne Workman, post: 45318, member: 28155”]Optionally,
You can also turn UEFI back on, and try every .efi file.
You might have better luck than I did.[/quote]
Alright I will try this next.
-
No luck. Tom do you have any suggestions?
-
Odd to say it, but it looks like it’s trying to process the files. Simple processing, yet being stuck piecing it back together. Maybe you could try using proxyDHCP to see if it will work?
-
I’ve got code for that… (thanks Tom)
FOR THE RECORD, I like to document stuff… even if you know a lot about Linux (I don’t), I try to write things as if I’m helping someone who’s never used Linux in their life…
Debian 7
Empty out options 066 and 067 on your DHCP server.
For each file you want to try (highly recommend using either undionly.kpxe or ipxe.efi), you need to either symbolically link the file to FILENAME.0, or just copy it… they are so small anyways so I just copy them…
so… for undionly.kpxe:
[CODE]cp /tftpboot/undionly.kpxe /tftpboot/undionly.0[/CODE]Then, you’ll need to configure dnsmasq (otherwise known as ProxyDHCP)
[CODE]vi /etc/dnsmasq.conf[/CODE][CODE]port=0
log-dhcp
tftp-root=/tftpboot
dhcp-boot=undionly.0,x.x.x.x,x.x.x.x
dhcp-option=17,/images
dhcp-option=vendor:PXEClient,6,2b
dhcp-no-override
pxe-prompt=“Press F8 for boot menu”, 3
pxe-service=X86PC, “Boot from network”, undionly
pxe-service=X86PC, “Boot from local hard disk”, 0
dhcp-range=x.x.x.x,proxy[/CODE]Change all the ‘sets’ of x’s to your FOG server’s IP. Note the line: dhcp-boot=undionly.0 You need to change the filename here for each one you try, in addition to making a copy of the ACTUAL file as /tftpboot/FILENAME.0 and then restart dnsmasq.
Quick reference for basic editing in vi:
i = go into insert mode, here you may use arrows to navigate text, and edit it with the keyboard as normal.
Esc (the escape key) = exit insert modeWHEN NOT in insert mode you may use
:w (then enter) = write changes.
:q (then enter) = exit vi
:q! (then enter) = exit vi without saving changes.Restart dnsmasq:
[CODE]/etc/init.d/dnsmasq restart[/CODE]Enable / Disable dnsmasq on boot:
[CODE]update-rc.d dnsmasq defaults[/CODE]
Or if using dependency boot:
[CODE]insserv -d dnsmasq[/CODE] -
So iPXE is initializing the device but we don’t know which one it is. I tried to find out which NIC is in that 11e and it took me at least 20 minutes. I really hate all those websites where you read “Tech specs… CPU … Gigabit-Ethernet …”!! No NIC brand or model name, arrgh!
Found it: Should be RTL8111/8168B, right?? This NIC is should be supported by iPXE from what I can see in the source code. Seems like we need mode debugging to get this working. The easier step (I think) is to capture a packet dump to see if iPXE is sending any packets after initializing the device. The first packet should be a broadcast (DHCP request) so you should see it everywhere on your network. Please install wireshark on one of your PCs, connect it to the same net with FOG server and client and capture while booting up the 11e Thinkpad. You should see DHCP request when the NIC itself greps an IP first, then iPXE comes up. Do you see another DHCP request after that??
Second, you need to build a custom iPXE binary with debug enabled. I just added a section to the existing wiki article about debugging, see here: [url]http://fogproject.org/wiki/index.php/Building_undionly.kpxe#Debugging[/url]
In your case I’d start with adding ‘DEBUG=undi,dhcp’. Hopefully you can see where it stucks. Please post a picture of it.
I really wonder why ipxe.kpxe is not working for you. To explain: undionly uses the general UNDI interface to communicate with the NIC. If you want to use real iPXE drivers you need to use one of the ipxe.xxx binaries. You can give that a try with debugging enabled (DEBUG=realtek) too!!
Edit: I just found a couple of threads about iPXE and realtek 8111… Most are saying that they got it working with that NIC.
[url]http://fogproject.org/forum/threads/realtek-8111-8168-undionly-kpxe-hangs-on-initialising-devices.10453/[/url]
[url]http://lists.ipxe.org/pipermail/ipxe-devel/2014-October/003837.html[/url] -
[quote=“Uncle Frank, post: 45333, member: 28116”]So iPXE is initializing the device but we don’t know which one it is. I tried to find out which NIC is in that 11e and it took me at least 20 minutes. I really hate all those websites where you read “Tech specs… CPU … Gigabit-Ethernet …”!! No NIC brand or model name, arrgh!
Found it: Should be RTL8111/8168B, right?? This NIC is should be supported by iPXE from what I can see in the source code. Seems like we need mode debugging to get this working. The easier step (I think) is to capture a packet dump to see if iPXE is sending any packets after initializing the device. The first packet should be a broadcast (DHCP request) so you should see it everywhere on your network. Please install wireshark on one of your PCs, connect it to the same net with FOG server and client and capture while booting up the 11e Thinkpad. You should see DHCP request when the NIC itself greps an IP first, then iPXE comes up. Do you see another DHCP request after that??
Second, you need to build a custom iPXE binary with debug enabled. I just added a section to the existing wiki article about debugging, see here: [url]http://fogproject.org/wiki/index.php/Building_undionly.kpxe#Debugging[/url]
In your case I’d start with adding ‘DEBUG=undi,dhcp’. Hopefully you can see where it stucks. Please post a picture of it.
I really wonder why ipxe.kpxe is not working for you. To explain: undionly uses the general UNDI interface to communicate with the NIC. If you want to use real iPXE drivers you need to use one of the ipxe.xxx binaries. You can give that a try with debugging enabled (DEBUG=realtek) too!!
Edit: I just found a couple of threads about iPXE and realtek 8111… Most are saying that they got it working with that NIC.
[url]http://fogproject.org/forum/threads/realtek-8111-8168-undionly-kpxe-hangs-on-initialising-devices.10453/[/url]
[url]http://lists.ipxe.org/pipermail/ipxe-devel/2014-October/003837.html[/url][/quote]Once I have created a debug kpxe where does the debug file get dropped?
-
It get’s placed in the /tftpboot directory as the replacement to the originally named file.
For example. If you’re building the undionly.kpxe debug built file, you would copy the fresh built undionly.kpxe to your /tftpboot/undionly.kpxe.
Hopefully that helps.
-
[quote=“SeqSupport@Edkey, post: 45387, member: 27616”]Once I have created a debug kpxe where does the debug file get dropped?[/quote]
Not sure if understand your question. As Tom already noted, place the compiled binary into your TFTP root directory. If you were asking where the debug output will end up! That you will see right on the screen when booting up the client… no file output.