• Recent
    • Unsolved
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Tablet PC hangs on bzImage

    Scheduled Pinned Locked Moved Solved
    FOG Problems
    5
    80
    16.8k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Z
      Zerpie @Sebastian Roth
      last edited by

      @Sebastian-Roth When I run the command I get the following

      # tcpdump -w hang.pcap host 153.86.19.24
      tcpdump: NFLOG link-layer type filtering not implemented
      
      1 Reply Last reply Reply Quote 0
      • S
        Sebastian Roth Moderator
        last edited by Sebastian Roth

        @Zerpie Ok, usually tcpdump is able to select the proper network interface just by itself but does not seem to work here - which Linux OS and version do you use?

        # tcpdump -i eth0 -w hang.pcap host 153.86.19.24
        

        Put in the interface FOG is using. If you are not sure run grep interface /opt/fog/.fogsettings to find out.

        The command should return a message like listening on ..., link-type EN10MB (Ethernet), capture size ... and won’t return to the shell. Leave it like that till you booted the client to hang.

        Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

        Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

        Z 1 Reply Last reply Reply Quote 0
        • Z
          Zerpie @Sebastian Roth
          last edited by

          @Sebastian-Roth I’m using CentOS 7. Specifying the network interface worked, though. Here’s a link to the hang.pcap file shared on my Google Drive.

          https://drive.google.com/file/d/1SzQGpk4DsDf3yuB2P7AemvxMXzMdcmYf/view?usp=sharing

          1 Reply Last reply Reply Quote 0
          • S
            Sebastian Roth Moderator
            last edited by

            @Zerpie That’s very strange. In the PCAP I don’t even see the kernel download at all. The only thing I see is ARP requests and TFTP transfer (download iPXE from FOG server). Seems almost like a filter was used that filters out TCP/HTTP?! Are you sure you let the tcpdump run till you had the bzImage_debug hang on screen? We should see at least some HTTP communication because before the kernel starting iPXE will request boot information via HTTP. We should see this. This is really strange.

            Mind trying again? Other than that I’d advice you to try using a different iPXE binary just to see if that makes a difference. Is your FOG providing DHCP to your clients or is it an external DHCP? Currently this client uses i386-efi/ipxe.efi (seen in the PCAP). Change that and tell it to use i386-efi/snponly.efi. See if that makes a difference.

            Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

            Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

            Z 1 Reply Last reply Reply Quote 0
            • Z
              Zerpie @Sebastian Roth
              last edited by

              @Sebastian-Roth I let it run a little longer this time. Well after it would hang on BzImage_debug…

              Here’s the new link.
              https://drive.google.com/file/d/154AX_8LHOGKVLBHetWh9-RxihPoj3qFe/view?usp=sharing

              I’ll try changing it to use i386-efi/snponly.efi. Where do I change that?

              1 Reply Last reply Reply Quote 0
              • S
                Sebastian Roth Moderator
                last edited by Sebastian Roth

                @Zerpie said in Tablet PC hangs on bzImage:

                I’ll try changing it to use i386-efi/snponly.efi. Where do I change that?

                That depends on your DHCP server. As you ask about this I suppose you just use the DHCP server that was setup by FOG when running the installer. For this edit /etc/dhcp/dhcpd.conf on your FOG server and find those lines:

                ...
                    class "UEFI-32-2" {
                        match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00002";
                        filename "i386-efi/ipxe.efi";
                    }
                    class "UEFI-32-1" {
                        match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00006";
                        filename "i386-efi/ipxe.efi";
                    }
                ...
                

                Simply change the filename to i386-efi/snponly.efi, save and restart DHCP (service dhcpd restart).

                Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                Z 1 Reply Last reply Reply Quote 0
                • Z
                  Zerpie @Sebastian Roth
                  last edited by Zerpie

                  @Sebastian-Roth Thank you for that. I went ahead and changed it. It still hangs on BzImage so I went ahead and captured another hang.pcap.

                  Here’s the link.
                  https://drive.google.com/file/d/1fX5xdrz0b_SIPogj7eQFtChOyoDhcf-7/view?usp=sharing

                  Z 1 Reply Last reply Reply Quote 0
                  • Z
                    Zerpie @Zerpie
                    last edited by Zerpie

                    Actually. I just checked the pcap file myself and it looks like it’s still using the ipxe.efi and not snponly.efi. Let me try that again.

                    1 Reply Last reply Reply Quote 0
                    • Z
                      Zerpie
                      last edited by

                      Here’s the latest file. I made sure it was grabbing i386-efi/snponly.efi this time.

                      https://drive.google.com/file/d/1Il1L7msBxgOD2ZIPD3oLr4FifenjwT6E/view?usp=sharing

                      1 Reply Last reply Reply Quote 0
                      • S
                        Sebastian Roth Moderator
                        last edited by

                        @Zerpie Something is really going wrong here. Not sure why we see so little information in the PCAP file. There should be much more in it (e.g. at least DHCP). Let’s try doing the same thing just this time simply run tcpdump -i eth0 -w hang3.pcap (this is without a capture filter)

                        Do you have more than one FOG server?

                        Other than that, would you be able to capture traffic on the client side as well? Usually you need to have an old hub to connect between client and switch where you hook on another PC and run tcpdump or wireshark to capture. Or you have access to your switch where the client is connected and can setup a monitoring port to capture all the packets on that client port.

                        Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                        Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                        Z 1 Reply Last reply Reply Quote 0
                        • Z
                          Zerpie @Sebastian Roth
                          last edited by

                          @Sebastian-Roth I’m only running one Fog server.

                          Here’s the hang3.pcap
                          https://drive.google.com/file/d/1uA54wIeUgPbpduEJZp_RhobKP1Xh4aWq/view?usp=sharing

                          1 Reply Last reply Reply Quote 0
                          • S
                            Sebastian Roth Moderator
                            last edited by Sebastian Roth

                            @Zerpie Ok, this time we see a bit more in the PCAP and I kind of know why my last filter was wrong. Thanks for sticking with me and being patient.

                            One thing (probably unrelated) that jumped at me is that the kernel args/parameters (debug earlyprintk=efi loglevel=7) are not set. Maybe you just removed them after testing because we saw that the kernel does not even load properly. Just wanted to mention this in case you thing they are still in place. Then maybe something else is wrong here.

                            So now let’s get to the interesting bits of the PCAP. Near the end we can see the client starting the download of the kernel (GET /fog/service/ipxe/bzImage_debug). And it starts of as normal. Well kind of. Looking at the response from the webserver in detail I have a couple of things bogging me. See the picture where I compare the startup of one of my clients (left) with yours (right) - click on the picture to get a readable version:
                            0_1536784162598_compare_pcap.jpg

                            • PHP version string showing PHP/5.6.37 - should not be possible to run a recent version of FOG with that PHP version. Please run rpm -qa | grep php and post output here.
                            • Content-Length: 1727680 seems like my kernel image is 4-5 times as big as yours is. Why? Please run ls -alk /var/www/html/fog/service/ipxe/bzImage*
                            • The binary data on my side starts off with the magic MZ header [ref] - this is because the kernel is build as EFI executable binary.
                              The later two things might just be an issue of the bzImage_debug home-brew kernel. Maybe even my fault when I gave you the instructions to build it. Not sure though.

                            But back to the kernel transfer. It does actually run for a bit including the client sending proper TCP acknowledge packets - as well fairly quickly. Seems all pretty perfect. But then fairly soon (20 ms) the client just stalls out of nowhere, not sending TCP ACKs or any other packets back to the server. The server on the other side keeps asking for confirmation for a couple of seconds and gives up then.
                            0_1536785402558_hang_pcap.jpg

                            So it looks like iPXE causing the hang - maybe when transferring data over network or just after some amount of time. When I told you to try and use snponly.efi I hoped that this might fix the issue because a different network stack/driver is used. Didn’t help it.

                            So before we get into building iPXE from source (as easy as building the kernel!) I would like you to try an old iPXE binary that we have used with other tablets when there was an EFI timer issue in iPXE more than two years ago. That issue was fixed in iPXE and therefore I didn’t think about that till now.
                            ipxe.efi: https://github.com/FOGProject/fogproject/raw/9213bd2a456718b2ce00fa46de4982d35f2703be/packages/tftp/i386-efi/ipxe.efi
                            snponly.efi https://github.com/FOGProject/fogproject/raw/9213bd2a456718b2ce00fa46de4982d35f2703be/packages/tftp/i386-efi/snponly.efi (only in case you wanna give it a try but I guess if the other one doesn’t do it this won’t either)
                            Just download the binary and put into your /tftpboot directory on the FOG server (rename original binary I’d suggest).

                            Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                            Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                            Z 1 Reply Last reply Reply Quote 0
                            • Z
                              Zerpie @Sebastian Roth
                              last edited by

                              @Sebastian-Roth said in Tablet PC hangs on bzImage:

                              PHP version string showing PHP/5.6.37 - should not be possible to run a recent version of FOG with that PHP version. Please run rpm -qa | grep php and post output here.

                              # rpm -qa | grep php
                              php-gd-5.6.37-1.el7.remi.x86_64
                              php-mcrypt-5.6.37-1.el7.remi.x86_64
                              php-pecl-jsonc-1.3.10-2.el7.remi.5.6.x86_64
                              php-5.6.37-1.el7.remi.x86_64
                              php-ldap-5.6.37-1.el7.remi.x86_64
                              php-pdo-5.6.37-1.el7.remi.x86_64
                              php-process-5.6.37-1.el7.remi.x86_64
                              php-common-5.6.37-1.el7.remi.x86_64
                              php-cli-5.6.37-1.el7.remi.x86_64
                              php-bcmath-5.6.37-1.el7.remi.x86_64
                              php-mbstring-5.6.37-1.el7.remi.x86_64
                              php-mysqlnd-5.6.37-1.el7.remi.x86_64
                              php-pecl-zip-1.15.3-1.el7.remi.5.6.x86_64
                              php-fpm-5.6.37-1.el7.remi.x86_6
                              

                              Content-Length: 1727680 seems like my kernel image is 4-5 times as big as >yours is. Why? Please run ls -alk /var/www/html/fog/service/ipxe/bzImage*

                              # ls -alk /var/www/html/fog/service/ipxe/bzImage*
                              -rwxr-xr-x. 1 fog  fog  8118832 Sep  6 16:21 /var/www/html/fog/service/ipxe/bzImage
                              -rwxr-xr-x. 1 fog  fog  7562352 Sep  6 16:21 /var/www/html/fog/service/ipxe/bzImage32
                              -rw-r--r--. 1 root root 1727680 Sep 10 13:23 /var/www/html/fog/service/ipxe/bzImage_debug
                              

                              I re-added the Host kernel Arguments (debug earlyprintk=efi loglevel=7) and tried the old iPXE binary, but it’s still hanging on BzImage.

                              1 Reply Last reply Reply Quote 0
                              • S
                                Sebastian Roth Moderator
                                last edited by

                                @Zerpie said in Tablet PC hangs on bzImage:

                                tried the old iPXE binary, but it’s still hanging on BzImage

                                Too bad. So I guess we need to get into debugging iPXE. Start by building your own ipxe.efi binary following the instructions here: https://wiki.fogproject.org/wiki/index.php?title=IPXE#Compile

                                Which version of FOG are you running? Sorry if I asked this before but cannot find it in the thread.

                                Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                                Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                                Z 2 Replies Last reply Reply Quote 0
                                • Z
                                  Zerpie @Sebastian Roth
                                  last edited by

                                  @Sebastian-Roth said in Tablet PC hangs on bzImage:

                                  Which version of FOG are you running?

                                  1.5.4

                                  1 Reply Last reply Reply Quote 0
                                  • Z
                                    Zerpie @Sebastian Roth
                                    last edited by

                                    @Sebastian-Roth I made it to the “Bake The Cake” section and built the simple 32 bit efi binaries. I’m not sure what to do from there.

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      Sebastian Roth Moderator
                                      last edited by Sebastian Roth

                                      @Zerpie Ok, I guess you were able to boot up your client using that new iPXE binary to the same point where it hangs, right?

                                      So we need to dive into it. Probably the easiest way to do this is getting to know the iPXE command shell. For that create a fresh text file in the ipxe source code directory, name it shell or whatever you like with the following content:

                                      #!ipxe
                                      shell
                                      

                                      Now compile the binary again but using: make bin-i386-efi/ipxe.efi EMBED=shell (filename of the above script)

                                      So now when you boot a client it does not do all the FOG magic but throws you straight to the iPXE shell. Please run the following commands, take a picture of the screen and post here:

                                      ipxe> dhcp net0
                                      ...
                                      ipxe> ifstat
                                      ...
                                      

                                      In case you are very keen you can go through the full set of iPXE driver testing on your own: http://ipxe.org/dev/driver

                                      Feel free to ask questions where ever you need help with that.

                                      Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                                      Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                                      Z 1 Reply Last reply Reply Quote 0
                                      • Z
                                        Zerpie @Sebastian Roth
                                        last edited by

                                        @Sebastian-Roth said in Tablet PC hangs on bzImage:

                                        Now compile the binary again but using: make bin-i386-efi/ipxe.efi EMBED=shell (filename of the above script)

                                        I must be doing something wrong. I made shell.txt and placed it in /projects/ipxe/ipxe-efi/src (perhaps that’s wrong?) Then I tried compiling the binary again with that command and this is what I get.

                                        # make bin-i386-efi/ipxe.efi EMBED=shell
                                        make: *** No rule to make target `shell', needed by `bin-i386-efi/embedded.o'.  
                                        Stop.
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          Sebastian Roth Moderator
                                          last edited by

                                          @Zerpie I should have been more clear. The exact filename has to be used in the EMBED= parameter and the file needs to be in the ipxe-code/src/ directory.

                                          So if you have ipxe-code/src/shell.txt you should be able to compile using command make bin-i386-efi/ipxe.efi EMBED=shell.txt

                                          Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                                          Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                                          Z 1 Reply Last reply Reply Quote 1
                                          • Z
                                            Zerpie @Sebastian Roth
                                            last edited by

                                            @Sebastian-Roth Thanks, I got it now. So I compiled the binary again, but it’s still hanging on bzimage and doesn’t drop me to the iPXE shell. I must be doing something wrong. I made sure to edit the dhcpd.conf again to put it back to ipxe.efi instead of snponly.efi.

                                            Here’s what I’m still seeing when I try to boot the tablet (Sorry for the quality, that the clearest I can get the text to appear in a photo.)

                                            0_1537555247642_IMG_20180921_143513983.jpg

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 2 / 4
                                            • First post
                                              Last post

                                            183

                                            Online

                                            12.0k

                                            Users

                                            17.3k

                                            Topics

                                            155.2k

                                            Posts
                                            Copyright © 2012-2024 FOG Project