Windows laptop unable to boot into Fog menu
-
Hi george1421,
Unfortunately no, I don’t see any of those in the pcap. The results I’ve pasted earlier is the full pcap. Does it mean the fog server isn’t talking to the dhcp server ?
I’ve verified the fog server , client and dhcp server are on the same network. -
@froydo Just for clarity your dhcp server, fog server, and pxe booting client are on the same subnet (no routers in between)?
If at all possible I’d like to review the pcap file in wireshark if you will post it here.
-
Hi george1421,
yes, that’s right , dhcp server, fog server, and pxe booting client are on the same subnet - the dhcp server is a juniper switch/router so it has the x.x.x.1 address
I found a better tool called tshark to format the pcap output. It’s pretty long , at least this is much more detailed and decriptive. Again I modified the actual ips with “” . please let me know what you find. Many thanks again.
Frame 21: 590 bytes on wire (4720 bits), 590 bytes captured (4720 bits)
Encapsulation type: Ethernet (1)
Arrival Time: Dec 13, 2016 15:07:22.886684000 EST
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1481659642.886684000 seconds
[Time delta from previous captured frame: 3.003953000 seconds]
[Time delta from previous displayed frame: 3.003953000 seconds]
[Time since reference or first frame: 192.990330000 seconds]
Frame Number: 21
Frame Length: 590 bytes (4720 bits)
Capture Length: 590 bytes (4720 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:ip:udp:bootp]
Ethernet II, Src: (xxxx), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Destination: Broadcast (ff:ff:ff:ff:ff:ff)
Address: Broadcast (ff:ff:ff:ff:ff:ff)
… …1. … … … … = LG bit: Locally administered address (this is NOT the factory default)
… …1 … … … … = IG bit: Group address (multicast/broadcast)
Source: xxxx
Address: xxxx
… …0. … … … … = LG bit: Globally unique address (factory default)
… …0 … … … … = IG bit: Individual address (unicast)
Type: IP (0x0800)
Internet Protocol Version 4, Src: 0.0.0.0 (0.0.0.0), Dst: 255.255.255.255 (255.255.255.255)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
0000 00… = Differentiated Services Codepoint: Default (0x00)
… …00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
Total Length: 576
Identification: 0x0001 (1)
Flags: 0x00
0… … = Reserved bit: Not set
.0… … = Don’t fragment: Not set
…0. … = More fragments: Not set
Fragment offset: 0
Time to live: 20
Protocol: UDP (17)
Header checksum: 0xa4ad [validation disabled]
[Good: False]
[Bad: False]
Source: 0.0.0.0 (0.0.0.0)
Destination: 255.255.255.255 (255.255.255.255)
[Source GeoIP: Unknown]
[Destination GeoIP: Unknown]
User Datagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)
Source port: bootpc (68)
Destination port: bootps (67)
Length: 556
Checksum: 0x8742 [validation disabled]
[Good Checksum: False]
[Bad Checksum: False]
Bootstrap Protocol
Message type: Boot Request (1)
Hardware type: Ethernet (0x01)
Hardware address length: 6
Hops: 0
Transaction ID: 0x759b8c06
Seconds elapsed: 0
Bootp flags: 0x8000 (Broadcast)
1… … … … = Broadcast flag: Broadcast
.000 0000 0000 0000 = Reserved flags: 0x0000
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 0.0.0.0 (0.0.0.0)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: xxxx
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (53) DHCP Message Type
Length: 1
DHCP: Request (3)
Option: (50) Requested IP Address
Length: 4
Requested IP Address: “dhcp ip address” (e.g. x.x.x.120)
Option: (55) Parameter Request List
Length: 36
Parameter Request List Item: (1) Subnet Mask
Parameter Request List Item: (2) Time Offset
Parameter Request List Item: (3) Router
Parameter Request List Item: (4) Time Server
Parameter Request List Item: (5) Name Server
Parameter Request List Item: (6) Domain Name Server
Parameter Request List Item: (11) Resource Location Server
Parameter Request List Item: (12) Host Name
Parameter Request List Item: (13) Boot File Size
Parameter Request List Item: (15) Domain Name
Parameter Request List Item: (16) Swap Server
Parameter Request List Item: (17) Root Path
Parameter Request List Item: (18) Extensions Path
Parameter Request List Item: (22) Maximum Datagram Reassembly Size
Parameter Request List Item: (23) Default IP Time-to-Live
Parameter Request List Item: (28) Broadcast Address
Parameter Request List Item: (40) Network Information Service Domain
Parameter Request List Item: (41) Network Information Service Servers
Parameter Request List Item: (42) Network Time Protocol Servers
Parameter Request List Item: (43) Vendor-Specific Information
Parameter Request List Item: (50) Requested IP Address
Parameter Request List Item: (51) IP Address Lease Time
Parameter Request List Item: (54) DHCP Server Identifier
Parameter Request List Item: (58) Renewal Time Value
Parameter Request List Item: (59) Rebinding Time Value
Parameter Request List Item: (60) Vendor class identifier
Parameter Request List Item: (66) TFTP Server Name
Parameter Request List Item: (67) Bootfile name
Parameter Request List Item: (128) DOCSIS full security server IP [TODO]
Parameter Request List Item: (129) PXE - undefined (vendor specific)
Parameter Request List Item: (130) PXE - undefined (vendor specific)
Parameter Request List Item: (131) PXE - undefined (vendor specific)
Parameter Request List Item: (132) PXE - undefined (vendor specific)
Parameter Request List Item: (133) PXE - undefined (vendor specific)
Parameter Request List Item: (134) PXE - undefined (vendor specific)
Parameter Request List Item: (135) PXE - undefined (vendor specific)
Option: (57) Maximum DHCP Message Size
Length: 2
Maximum DHCP Message Size: 1260
Option: (54) DHCP Server Identifier
Length: 4
DHCP Server Identifier: “dhcp server ip” ( e.g. x.x.x.1)
Option: (97) UUID/GUID-based Client Identifier
Length: 17
Client Identifier (UUID): xxxx
Option: (93) Client System Architecture
Length: 2
Client System Architecture: IA x86 PC (0)
Option: (94) Client Network Device Interface
Length: 3
Major Version: 2
Minor Version: 1
Option: (60) Vendor class identifier
Length: 32
Vendor class identifier: PXEClient:Arch:00000:UNDI:002001
Option: (255) End
Option End: 255
PaddingFrame 22: 392 bytes on wire (3136 bits), 392 bytes captured (3136 bits)
Encapsulation type: Ethernet (1)
Arrival Time: Dec 13, 2016 15:07:22.892746000 EST
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1481659642.892746000 seconds
[Time delta from previous captured frame: 0.006062000 seconds]
[Time delta from previous displayed frame: 0.006062000 seconds]
[Time since reference or first frame: 192.996392000 seconds]
Frame Number: 22
Frame Length: 392 bytes (3136 bits)
Capture Length: 392 bytes (3136 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:ip:udp:bootp]
Ethernet II, Src: xxxx, Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Destination: Broadcast (ff:ff:ff:ff:ff:ff)
Address: Broadcast (ff:ff:ff:ff:ff:ff)
… …1. … … … … = LG bit: Locally administered address (this is NOT the factory default)
… …1 … … … … = IG bit: Group address (multicast/broadcast)
Source: xxxx
Address: xxxx
… …0. … … … … = LG bit: Globally unique address (factory default)
… …0 … … … … = IG bit: Individual address (unicast)
Type: IP (0x0800)
Internet Protocol Version 4, Src: “dhcp server ip” ( e,g, x.x.x.1), Dst: 255.255.255.255 (255.255.255.255)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
0000 00… = Differentiated Services Codepoint: Default (0x00)
… …00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
Total Length: 378
Identification: 0xd981 (55681)
Flags: 0x00
0… … = Reserved bit: Not set
.0… … = Don’t fragment: Not set
…0. … = More fragments: Not set
Fragment offset: 0
Time to live: 1
[Expert Info (Note/Sequence): “Time To Live” only 1]
[Message: “Time To Live” only 1]
[Severity level: Note]
[Group: Sequence]
Protocol: UDP (17)
Header checksum: 0xaaf1 [validation disabled]
[Good: False]
[Bad: False]
Source: “dhcp server ip” ( e.g. x.x.x.1)
Destination: 255.255.255.255 (255.255.255.255)
[Source GeoIP: Unknown]
[Destination GeoIP: Unknown]
User Datagram Protocol, Src Port: bootps (67), Dst Port: bootpc (68)
Source port: bootps (67)
Destination port: bootpc (68)
Length: 358
Checksum: 0x1eb3 [validation disabled]
[Good Checksum: False]
[Bad Checksum: False]
Bootstrap Protocol
Message type: Boot Reply (2)
Hardware type: Ethernet (0x01)
Hardware address length: 6
Hops: 0
Transaction ID: 0x759b8c06
Seconds elapsed: 0
Bootp flags: 0x8000 (Broadcast)
1… … … … = Broadcast flag: Broadcast
.000 0000 0000 0000 = Reserved flags: 0x0000
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: “dhcp ip” ( e.g. x.x.x.120)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: xxxx
Client hardware address padding: 00000000000000000000
Server host name: “fog server ip”
Boot file name: undionly.kpxe
Magic cookie: DHCP
Option: (53) DHCP Message Type
Length: 1
DHCP: ACK (5)
Option: (54) DHCP Server Identifier
Length: 4
DHCP Server Identifier: “dhcp server ip” (x.x.x.1)
Option: (51) IP Address Lease Time
Length: 4
IP Address Lease Time: (3600s) 1 hour
Option: (1) Subnet Mask
Length: 4
Subnet Mask: 255.255.255.0 (255.255.255.0)
Option: (3) Router
Length: 4
Router: “dhcp server ip” (x.x.x.1)
Option: (6) Domain Name Server
Length: 8
Domain Name Server: “dns server ip 1” (dns server ip1)
Domain Name Server: “dns server ip2” (dns server ip2)
Option: (15) Domain Name
Length: 25
Domain Name: “domainname”
Option: (28) Broadcast Address
Length: 4
Broadcast Address: x.x.x.255 (x.x.x.255)
Option: (66) TFTP Server Name
Length: 10
TFTP Server Name: “fog server ip”
Option: (67) Bootfile name
Length: 13
Bootfile name: undionly.kpxe
Option: (128) DOCSIS full security server IP [TODO]
Length: 9
Value: xxxx
Option: (255) End
Option End: 255
Padding -
@froydo Well I guess I’m not the one who can help you here. Its been a long day I don’t have the energy to try to decode the tshark output frame by frame.
If you are willing to post the complete pcap where I can review it I will.
Note: You don't have to post it to the forums, just direct message me a link.
-
@froydo Stupid as this sounds, what happens if you simply change the /var/lib/tftpboot folder location to just /tftpboot and restart tftpd-hpa service?
-
Hi Tom,
Yes I’ve changed it so now /var/lin/tftpboot is a link to /tftpboot. But when I tried restarting /etc/init.d/tftpd-hpa , nothing happens. even ./tftpd-hpa status returns nothing. And the same process is still running…
root 24631 0.0 0.0 15128 148 ? Ss 13:50 0:00 /usr/sbin/in.tftpd --listen --user root --address :69 -s /tftpboot
Hi george1421,
I will try to send you the output.pcap file . I will see if I can just drop that file directly into the chat box -
oh no worries Tom, I figured out how to restart the tftpd-hpa. But same problem of the timeout and exiting on the laptop. I even chmod 777 to /tftpboot but no difference… however I am able to ftp to my fog server from my pc. So ftp is ok just tftp is not somehow?
-
Hi george1421,
i have my pcap file ready, I wasn’t able to drop it into your chat box, it wouldn’t allow it . Do you have somewhere I can drop it off to like an ftp server or email add , etc ? Much appreciated.
-
@froydo Another, and hopefully, final change.
The line of the config file that is looking only at :69 can you try:
0.0.0.0:69
and restart tftpd-hpa.
Yes, the restart is still needed.
-
@Tom-Elliott The OP sent me the pcap file.
One remarkable thing found was there are two different dhcp server responses to the client’s discover packet. Each dhcp server is giving conflicting boot file and next server values to the client. In the pcap file there was no indication of the client asking the FOG server (assuming that is where the tcpdump command was being run) for the boot file.
@froydo on your fog server make sure your tftp process is running. The following command should show you the tftp server is listenting
netstat -an|grep 69
You should see a line like
udp 0.0.0.0:69
-
Thanks I got that message which shows tftpd service is running. I did the changes in the config and restarted but still having the same issue, even with the windows firewall turned off.
-
@froydo Maybe give dnsmasq and proxy dhcp a try?
It’s been a while since I’ve configured it but here are some possibly helpful articles
https://wiki.fogproject.org/wiki/index.php?title=ProxyDHCP_with_dnsmasq
https://forums.fogproject.org/topic/5713/dnsmasq-breaks-apt-get -
@froydo Additionally, and I’m sorry if this was covered earlier in these posts and I missed it, is this laptop booting to legacy pxe or uefi pxe? It sounds like legacy pxe since its looking for pxelinux.0 in one error. But just want to make sure we’re helping you configure the right thing here.
-
the lenovo is booting Both , but legacy first.
-
@froydo said in Windows laptop unable to boot into Fog menu:
Hi george1421,
My dhcp server is a Juniper ex3300 and under the Boot options, there is the Boot Server , I entered my fog server ip there.
there is the boot file which I entered “/bzImage”. There’s no next server option anywhere I could see.So is your dhcp run completely by the switch? You don’t have a windows or linux dhcp service to manage things? Or did I miss something?
-
Good news . Problem solved. We had to add “next server” in our dhcp server. then everything works now. Thanks all for you help.
-
Hi Guys,
I have a new problem now. I’ve successfully boot into Fog Menu on the laptop and sucessfully registered the laptop. Now when I try to capture the image - on the laptop I see it keeps failing at “Attempting to check in - Failed” . and this repeats over and over again.
-
@froydo Did you make a image entry in the gui to upload to?
I would also suggest for your first host and image doing the quick host registration and inventory from the menu then queuing an upload from the gui.
After you do a quick registration there should be a host in your hosts gui.
You’ll also need to make a image to assign to the host so it has a database entry to link to.If that doesn’t make sense check out https://wiki.fogproject.org/wiki/index.php?title=Managing_FOG or I can explain in more detail if you don’t find the answer there.
-
@froydo Did you get this figured out?
-
Yes JJ it all works now. thanks