PXE E74 on some PC
-
Hi all !
First congrats for your project, I use it regularly on my personal network and it works wonderfully well!
Secondly, I come here because I encounter some problem on a similar solution used at work (personalized solution) and we encounter some problems on some Pc. Our solution is dnsmasq proxy dhcp based for pxe client booting.
we have 1 client vlan where is connected our dnsmasq server and another vlan (on another site) where is connected our main dhcp server. Our Lenovo Laptops with IBA netadapter boot without problem BUT our Lenovo ThinkCenter (realtek PXE B00 D02) are facing problem ‘PXE E74’. we don’t understand why. (Virtualbox Vm have this error too). This problem appear only for legacy Bios boot (UEFI pxe boot works in all of case)i think the problem is the main DHCP server has scope option 43 set with a kind of URL … (i don’t know what is it) But why only some pc are impacted ??
we are using :
dnsmasq 2.77 (freshly updated to test the dhcp-reply-delay option)
ipxe.pxe (tried undionly.kpxe too but i think it is not the problem)
ipxe.efi
our ipxe file send one menu.ipxe file by http (no pb with that)(I’m able to capture traffic if needed)
I thank you very much in advance to read that and keep an eye to the conf to say me what can be wrong .
our config is like that :
#DHCP-PARAM |||||||||||||||||||||||||||||||||||||||||||||||||||||||| #no dns port=0 # Log lots of extra information about DHCP transactions. log-dhcp dhcp-no-override #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| #TFTP-PARAM |||||||||||||||||||||||||||||||||||||||||||||||||||||||| # Set the root directory for files available via FTP. enable-tftp tftp-root=/srv/tftp/ #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| #******************************************************************* #BIOS BOOT PARAM ||||||||||||||||||||||||||||||||||||||||||||||||||| dhcp-match=ipxe,175 dhcp-option-force=175,ipxe #dhcp-boot=ipxe.kpxe,,[*IP DNSMASQ*] dhcp-boot=net:!ipxe,ipxe.kpxe,,[*IP DNSMASQ*] dhcp-boot=net:ipxe,http://[*IP DNSMASQ*]/boot.ipxe,,[*IP DNSMASQ*] #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| #EFI BOOT PARAM |||||||||||||||||||||||||||||||||||||||||||||||||||| #note-> menu.ipxe directly chained by embed script #------------------------------------------------- pxe-service=BC_EFI, "boot iPXE", efi64/ipxe.efi pxe-service=X86-64_EFI, "Boot iPXE 64", efi64/ipxe.efi #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| pxe-prompt="Booting",2 #-------------------------------------------------------------------------- # inspect the vendor class string and match the text to set the tag #dhcp-vendorclass=BIOS,PXEClient:Arch:00000 #dhcp-vendorclass=UEFI32,PXEClient:Arch:00006 #dhcp-vendorclass=UEFI,PXEClient:Arch:00007 #dhcp-vendorclass=UEFI64,PXEClient:Arch:00009 #DHCP-PROXY-PARAM |||||||||||||||||||||||||||||||||||||||||||||||||| dhcp-range=[*IP DNSMASQ*],proxy,255.255.255.0 #|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
[Mod note: I updated your post to include a code block so its easier to read your config]
You might want to start with this config from the following post. https://forums.fogproject.org/topic/8725/compiling-dnsmasq-2-76-if-you-need-uefi-support/6
This config is known to work correctly. Just be sure to update the fog server’s IP addresses.
# Don't function as a DNS server: port=0 # Log lots of extra information about DHCP transactions. log-dhcp # Set the root directory for files available via FTP. tftp-root=/tftpboot # The boot filename, Server name, Server Ip Address dhcp-boot=undionly.kpxe,,<fog_server_IP> # Disable re-use of the DHCP servername and filename fields as extra # option space. That's to avoid confusing some old or broken DHCP clients. dhcp-no-override # inspect the vendor class string and match the text to set the tag dhcp-vendorclass=BIOS,PXEClient:Arch:00000 dhcp-vendorclass=UEFI32,PXEClient:Arch:00006 dhcp-vendorclass=UEFI,PXEClient:Arch:00007 dhcp-vendorclass=UEFI64,PXEClient:Arch:00009 # Set the boot file name based on the matching tag from the vendor class (above) dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,<fog_server_IP> dhcp-boot=net:UEFI,ipxe.efi,,<fog_server_IP> dhcp-boot=net:UEFI64,ipxe.efi,,<fog_server_IP> # PXE menu. The first part is the text displayed to the user. The second is the timeout, in seconds. pxe-prompt="Booting FOG Client", 1 # The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86, # Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI # This option is first and will be the default if there is no input from the user. pxe-service=X86PC, "Boot to FOG", undionly.kpxe pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi dhcp-range=<fog_server_ip>,proxy
-
@george1421 said in [PXE E74 on some PC](/post/100115): > # Don't function as a DNS server: > port=0 > > # Log lots of extra information about DHCP transactions. > log-dhcp > > # Set the root directory for files available via FTP. > tftp-root=/tftpboot > > # The boot filename, Server name, Server Ip Address > dhcp-boot=undionly.kpxe,,<fog_server_IP> > > # Disable re-use of the DHCP servername and filename fields as extra > # option space. That's to avoid confusing some old or broken DHCP clients. > dhcp-no-override > > # inspect the vendor class string and match the text to set the tag > dhcp-vendorclass=BIOS,PXEClient:Arch:00000 > dhcp-vendorclass=UEFI32,PXEClient:Arch:00006 > dhcp-vendorclass=UEFI,PXEClient:Arch:00007 > dhcp-vendorclass=UEFI64,PXEClient:Arch:00009 > > # Set the boot file name based on the matching tag from the vendor class (above) > dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,<fog_server_IP> > dhcp-boot=net:UEFI,ipxe.efi,,<fog_server_IP> > dhcp-boot=net:UEFI64,ipxe.efi,,<fog_server_IP> > > # PXE menu. The first part is the text displayed to the user. The second is the timeout, in seconds. > pxe-prompt="Booting FOG Client", 1 > > # The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86, > # Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI > # This option is first and will be the default if there is no input from the user. > pxe-service=X86PC, "Boot to FOG", undionly.kpxe > pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi > pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi > > dhcp-range=<fog_server_ip>,proxy
George, thanks for your answer, but i have got the same problem with this config file.
i think when my proxydhcp send option 43 (boot menu + boot prompt) it’s not taken by the client because the client receive another options 43 from the main dhcp and information is overitten i think … could it be possible ?
but in this case how can we explain that some client boot properly from network ? (same subnet)however i have some differents infos sending by proxydhcp in opt 43 with your config file :
43 (vendor-specific information) = PXEClient
43 sub 6 = PXE Discovery Control
43 sub 8 = PXE boot Servers
43 sub 9 = PXE boot menu
43 sub 10 = PXE menu promptbefore i only had sub 9 and sub 10
-
@louislagad said in PXE E74 on some PC:
pxe-service=X86PC, “Boot to FOG”, undionly.kpxe
pxe-service=X86-64_EFI, “Boot to FOG UEFI”, ipxe.efi
pxe-service=BC_EFI, “Boot to FOG UEFI PXE-BC”, ipxe.efiOK what I want you to change is this in the config file I posted. (I know this config file works in 90% of the cases but some times we need to add a little more magic).
Update the above section to look like this (replacing <fog_server_ip> with the fog server’s IP address):
pxe-service=X86PC, "Boot to FOG", undionly.kpxe,<fog_server_ip> pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi,<fog_server_ip> pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi,<fog_server_ip>
Don’t forget to restart the dnsmasq service after you update the config file.
-
@louislagad If the last post doesn’t fix the issue then lets grab a pcap of the dialog. What we need to get a crystal clear picture is that the fog server, dhcp server and pxe booting client need to be on the same subnet (vlan).
https://forums.fogproject.org/topic/9673/when-dhcp-pxe-booting-process-goes-bad-and-you-have-no-clue
Upload the pcap to a google drive and either post the link here or send me a IM with the link (if you don’t want it published globally). I’ll take a look at it with wireshark so we can understand what the client is seeing.
-
@george1421
ok i tried but same error E74 …ok, i will take a cap and submit it to you in the IM (i don’t want to publish IP @) (yes DHCP is in another subnet so you will only see the gateway because packet come from another vlan but you will have packet information)
thx
-
@louislagad Are client and fog server on same subnet?
-
client/ server are in the same vlan yes and main dhcp server is in another vlan in another country … so dhcp packet are coming from the wan
-
@louislagad OK lets see what the pcap is telling us. That will give us a better picture of what the client is seeing.
Just wondering, is the dhcp server configured for some other imaging solution?