UEFI PXE on Dell Optiplex 7010 hangs
…gets to ‘ipxe is initializing devices’ and hangs.
This does work on our network with the Lenovo X1 Carbon series (all gens). I’ve tried all the *.efi boot files in /tftpboot but no luck. I even downloaded and tried the latest ‘ipxe.efi’ from ipxe.org. MS Server 2016 DHCP. I did do all of the setup listed here: https://wiki.fogproject.org/wiki/index.php?title=BIOS_and_UEFI_Co-Existence but in this case, I made a DHCP reservation and modified Opt 67 of this single machine so I could play with different boot files. Legacy boot (with undionly.kpxe) works fine this way. If I switch to ‘UEFI only’ in the bios, I do get the NIC as a boot option. It does load PXE but hangs at init. This is Dell BIOS revision A24 which I believe is the latest but I’m about to go double-check for new BIOS. Options? Tips? I’ve looked at the DHCP logs on Server 2016 but there’s nothing damning. That part appears to be working. The Dell just doesn’t want to boot off any *.efi boot file.
@BardWood Bump… Any news on this?
@sebastian-roth Greetings. I had to get the first rev of W10 images out so the 7010 image is legacy this time around. I should have time this week or next. I did look at the link and didn’t look terribly difficult. I’ll give it a crack.
Would you be able to test the stuff described there. Do you need assistance with that? This seems to be very specific issue and we need you to try things out on the hardware to get an idea.
@sebastian-roth I’m not sure a video is necessary since the message loops and the full message is captured in this image but am happy to oblige if it helps.
... EFIPCI ... has driver "82579lm" EFIDRV ... has driver "PCI" EFIDRV ... disconnecting existing drivers EFIDRV ... connecting new drivers EFIPCI ... has driver "82579lm" EFIDRV ... has driver "PCI" EFIDRV ... DRIVER_START EFIPCI ... has driver "82579lm" EFIPCI ... using driver "82579lm" EFIDRV ... using driver "PCI" ...
As you see there is kind of a handshake going on, first disconnecting existing drivers which I suppose might be drivers loaded by UEFI firmware beforehand. Then connecting new drivers (the iPXE driver I suppose) and finally using driver.
On the Dell 7010 though we don’t see the
connecting new driversmessage. The “funny” thing is that in the code between “disconnecting existing drivers” and “connecting new drivers” there are only a dozen lines of code - all in the very same function. My guess is that something goes wrong when iPXE tries to disconnect the drivers and is in a state of “trying to disconnect” from then on as we see from the messages saying “refusing to start during disconnection”.
So I compiled the next binary
07_ipxe.efifor you which should dump a lot of things like the actual EFI protocol calls. I also added some sleeps to the code so it hopefully doesn’t scroll past too fast. Although I can’t add sleeps in the middle of EFI protocol calls so it will be a challenge to get a clear picture/video again.
Edit: Updated the iPXE binary number as I somehow mixed those up with a different debug… 07 is definitely the newest one here.
@BardWood Wow! You’ve done an amazing job getting a stable picture with the camera and I am sure we got all the information from that debug build in the picture you posted! I am still watching the video just to make absolutely sure we don’t miss anything else. Thanks heaps for that.
I will dig through the code and hopefully will find what’s up here. Though we might need to do more of these rounds I’m afraid.
@bardwood FWIW: Your video is repeating in the same spot as mine.
It would be interesting to know what is causing the “Disconnecting existing drivers” line to post. I think that may be the root of the issue.
@sebastian-roth OK have a ~1Gb video file I’m trying to upload to flickr of 05 but a quick glance tells me it’s scrolling the same info in a loop. Here is a screenshot:
@sebastian-roth Unfortunately I can’t capture 60 FPS video on a Motorola Droid Turbo. I thought it was an artificial limitation since the camera is capable of it spec-wise but when I tried in Open Camera, I got the same message. I’ll see if I can get our photographer buf to do it on her iPhone 6.
@sebastian-roth Well let me say I’ve very disappointed in this latest iphone upgrade. Its really driving me crazy at the moment.
I finally have the download figured out. I’ll get you the link to the
05 = Wowsa!video in a moment, or when ever my iphone decides to email me the video
Intersting messages in video
00:16.0 (8086:1e3d class 0708000) has no driver 00:16.1 cannot read PCI configuration: No such device http://ipxe.org/0x2c044087 00:16.3 (8086:1e3d class 0708002) has no driver 00:19.0 (8086:1502 class 020000) has driver "82579lm" has driver "PCI" disconnecting existing drivers
Then loops forever
Has driver "MII" DRIVER_START Refusing to start during disconnection has driver "SNP" DRIVER_START refusing to start during disconnection
@BardWood Ok, seems like it actually does see it as being a proper Intel NIC. I think we are on the right track. Though it definitely needs more work than I had expected. Keep it up and hopefully you can get a good video (60 fps!!) of it. This is where digital devices have a great advantage over our eyes.
RE: 05 = Wowsa! Yea, much output. My phone won’t let me video yet because the battery is too low (???). I’ll capture a video later but I cant even read it in person it scrolls by really fast. I’ll do what I can.
RE: 06 =
@BardWood Ok, here is ready to go
05_ipxe.efi(DEBUG=init,efi_utils,efi_driver,efi_pci). This time I guess you need to take a video of the messages passing by on screen. Make sure to rest the camera/smartphone e.g. on a pile of books so we get a decent steady picture. Would be great if you could even take a video with 60 fps which most smartphones are capable of these days!
But if there’s too much output on screen and you can’t take a proper video you might test
@george1421 Re-reading all the stuff we tried back in 2015 I get the impression that the issue with those 7010s is that for some reason the native Intel driver is not being used. Then it tries SNP and for some reason that fails. More or less a guess though.
@BardWood Here is
04_ipxe.efi(compiled with DEBUG=init,runtime,efi_timer,device,pci option). Please try again and post a picture.
@BardWood Ok, thanks! Sure I was wrong about the EFI timer, thank god.
Here is from 03_ipxe.efi (after chmod 655)
Sits there for 15 mins or so and reboots
@sebastian-roth I’m home right now, but I did update the picture. I’ll hit 03 in my AM tomorrow.