SOLVED Manually typing TFTP address after booting

  • After upgrading to the latest trunk (5927) I have often have to type in the TFTP address manually before loading the fog menu.
    I checked already all settings and the service is running. The address in /tftpboot/default.ipxe is right in my opinion and I didn’t change anything.
    Sometimes it boots normally and I don’t have to type in anything.
    Is there something I need to check?

  • @Tom-Elliott
    I have to correct - sometimes it works and sometimes not. So it’s stilll not working. Will wait and test.

  • @Oleg to my knowledge this field does 100% work of nothing. I think it was intended to use the gethostbyaddr function in php or a more suitable method when it was originally added. However, I have no ideas how else to test for this.

  • I upgraded to the latest trunk and now It’s working if I uncheck the FOG_USE_SLOPPY_NAME_LOOKUPS.
    I will try to understand what has been done 🙂
    Thanks !

  • Moderator

    @Tim-M Thanks for uploading the PCAP file. This is great. I’d never be able to find those issues if I’d just be asking questions about your network setup. PCAP/Wireshark is just showing the whole truth. Love it!

    So I guess is your Windows DHCP server. It is answering nicely handing an IP and PXE boot information (next-server= and filename=undionly.kpxe) to the client. But there seams to be another DHCP server on the network! is answering too. I guess this is your gateway (maybe this is provided and configured by an ISP as we have seen with Quazz an others). It answers three times in a row and hands out three completely different IPs (,,, next-server options (,, and filename options (<empty>, undionly.kpxe) to the client.

    On the first go (when the NIC itself PXE boots) things seam to work fine as it is requesting the iPXE binary from your FOG server correctly. But iPXE trying to request an IP is being confused by all those responses - which I don’t wonder about at all.

    Please check you network setup and see who is sending those DHCP replys (who is, maybe ip-helpers on a switch?) and why does it answer three times. It should not answer at all. DHCP is handled by your Windows DHCP server!

  • @Sebastian-Roth Forgive my ignorance, I captured a PCAP dump, but probably grabbed too much. It was too big to upload so I shared it on Google Drive here:

    Here are the TFTP Server settings:

    0_1453922743173_Screen Shot 2016-01-27 at 2.16.15 PM.png

    I have my Windows DHCP Server set with option 66 as and Option 67 as undionly.kpxe. I have tried kkpxe, ipxe, etc… with no success.

    I installed the latest Trunk today (6124). I am still getting the same error. It looks like the screenshot that Quazz uploaded 12 days ago. It keeps asking for the TFTP server.

    Thanks for your help and patience.

  • Moderator

    @Quazz Thanks for letting us know. Please keep us posted if you see this again. You are probably better of using proxydhcp in your case!

  • @Sebastian-Roth Thanks. You guys are awesome! I will try to get to that today. When I wanted to switched from Ghost to Fog a few years ago, my boss was worried about customer support. Just try to get this kind of quick response from Symantec!

  • Moderator

    @Tom-Elliott Alright, good to hear, I’ll update to the newest revision in a bit after I’ve captured these images.

    I believe everything is thus resolved on my end, thanks 🙂

  • @Quazz I believe you saw from an update that I pushed last night.

    My push last night (on jquery and on templates) was to ensure any unset template value was defaulted to an empty string.

    However my approach forgot that you can include other templates within the page.

    For example, in the code:

    $this->templates = array(
    $fields = array(
        _('This is a test to show how things can be added upon to the templates.  The name of this new template will be ${name}') => _('This is the input param from above, also with an included template in directly defined: ${iamanugget}'),
    foreach ($fields AS $field => &$input) {
        $this->data[] = array(
            'field' => $field,
            'input' => $input,
            // Now i still need to add the other templated items to have it print out
            'name' => 'Hello World',
            'iamanugget' => 'Sorry for being an idiot',

    The output should print something along the lines of:

    This is a test to show how things can be added upon to the templates.  The name of this new template will be Hello World    This is the input param from above, also with an included template in directly defined: Sorry for being an idiot

    This worked typically but if a templated value was not set in the data, it would show similar issues as you saw in my mistake.

    I stupidly didn’t iterate the data as it’s passed to replace the found entries which is why you were seeing these ‘${service_value}’ and on other pages.

    This should now be fixed.

  • Moderator

    Dropped my database, purged mysql and apache and reran an older revision to fix the previously mentioned glitches. I know it’s extreme, but my database had quite a few issues and this will be cleaner and faster for me.

  • Moderator

    @Sebastian-Roth I’ll switch back to ISC-DHCP-SERVER in a bit to check for real, but currently on proxydhcp it seems to no longer complain about getting information from both the DHCP and ProxyDHCP server, so that seems to have improved things greatly.

    EDIT: ISC-DHCP-SERVER no longer asks for tftp address on my end, as far as I’ve tested, so far so good!

    EDIT2: Encountered the TFTP prompt again, think I’ll stick to proxydhcp for now.

    EDIT3: I noticed sloppy name lookup was off, but I am unable to enable it (the checkbox clears itself when you try to save the information. In fact, I can’t change any settings it seems, and there’s some other glitches, I’ll post a picture.

    WebGUI is now also unresponsive after restarting the server.

    alt text

    The unrespoviness seems to be related to the following apache error as far as I can tell

    [Fri Jan 22 11:27:43.497568 2016] [:error] [pid 1367] [client] PHP Warning: Division by zero in /var/www/html/fog/lib/pages/dashboardpage.class.php on line 79

    Manually navigating to other pages of the webgui (avoiding the dashboard) works

  • Moderator

    @Tim-M I can totally understand that you are worried about this having 800+ clients which don’t want to boot on their own. As a quick solution I can compile a custom iPXE binary for you that does not do the check. Please tell me which binary are you using? undionly.kpxe, undionly.kkpxe, ipxe.pxe, …?

    On the other hand it would be awesome if you could provide the same information than Quazz did. PCAP dump file of a client booting (best to use a hub to connect the client and another PC to capture the packets) and possibly also pictures of the iPXE config menu.

    Edit: @Tim-M and @Quazz Tom added the fix I suggested. So you can give it a try by upgrading to the very latest trunk and re-running the installer. Please let us know if this makes a difference with your machines.

  • I have been having a similar issue. I am not using the fog server for DHCP. Options 66 and 67 are set correctly on my Windows server. 99% of the time I am asked for the IP of the TFTP server. Since I changed the boot order of 800+ machines to boot to the NIC first when I installed and successfully used FOG 0.32, it has become a real issue while testing 1.2 (latest Trunk).

    Once I enter the TFTP (fog server) ip, it seems to work. Firewall is off. Permissions on TFTP folder are correct. Any help would be greatly appreciated.

  • Moderator

    @Quazz Thanks for the album! This is interesting. Clearly there is no next-server setting within ‘net0’ (so dhcp net0 didn’t get the next-server info) but still next-server is set on the main screen. If I remember correctly from my tests this was not the case for me. We added this check to see if DHCP server and DHCP Proxy send next-server to inform the user that their DHCP setup might be “screwed”. But it looks like this is causing issues (maybe only on low end consumer NICs??).

    @Tom-Elliott Do you think changing the check would make a difference.
    Current check: isset ${proxydhcp/next-server} && isset ${next-server} && echo Duplicate option 66 ...
    New check: isset ${proxydhcp/next-server} && isset ${net0/next-server} && echo Duplicate option 66 ...
    But about machines using net1 instead of net0? Maybe I added too many checks.

  • Moderator

    @Sebastian-Roth I think I may have accidently misled you earlier.

    What I meant with not working 10% of the time I meant 10% of clients (generally lower end consumer garbo). It seems to work fine on anything remotely professional or decent consumer stuff. I’m fairly certain the fault lies with the NICs at this point, but I’ll continue to monitor the situation and try a couple more times.

    Created an imgur album if for nothing else but historic purposes

    imgur link

  • Moderator

    @Quazz said:

    ProxyDHCP does refer to itself as to be the DHCP server but I’m guessing that’s normal.

    Could you post another screen of those settings? Just to make sure. Have you tried several times in a row? Sounds a bit like this is working fine sometimes but also having issues at times. See if you always get the correct values in the config dialog.

  • Moderator

    @Sebastian-Roth Alright, there is indeed no next-server of filename info coming from the DHCP. And they properly receive the info (next-server and filename) from the proxydhcp as well. (it’s the only info it hands out). ProxyDHCP does refer to itself as to be the DHCP server but I’m guessing that’s normal.

    All values are what we can expect, proper gateway, dns and so on.

  • Moderator

    @Quazz Yeah, that should give us an idea of what iPXE sees. From what I can see on those two screens I guess this is before iPXE has tried to request DHCP info. So please go back to the shell (reboot) and type dhcp net0 && config. I would suspect you’d see gateway/netmask/ip being set (infos from but not filename/next-server. If you select ‘net0/’ at the top you should see an entry ‘proxydhcp’… Check the values…

  • Moderator

    @Sebastian-Roth Anything specific you want me to look for in the ipxe config menu?



    As far as I understand, these options are all set as intended at the current stage of the boot process, is that correct?