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

    snp.efi on Acer TravelMate P2 (TMP215-52-36QZ) runs on No buffer space available

    Scheduled Pinned Locked Moved
    Hardware Compatibility
    2
    11
    1.4k
    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.
    • EduardoTSeoaneE
      EduardoTSeoane
      last edited by

      @george1421 @Sebastian-Roth @Fernando-Gietz

      On this computer only can start the boot secuence with snp.efi file, but it stucks downloading files like, “refind, refind.conf, bzimage”, I recompile the file using this command and using fog ipxe configuration files and fog ixpe script as you describe on blog:

      make bin-x86_64-efi/snp.efi EMBED=/root/git/ipxe-efi/src/ipxescript DEBUG=dhcp,device,efi_driver,efi_init, efi_pci, efi_snp,snp,snponly,snpnet,netdevice,http,tftp,nii

      and i get a lot of lines with this error.

      NETDEV net0 transmission 0x0 failed: Error 0x2a086089 (http://ipxe.org/2a086089)
      https://ipxe.org/err/2a0860

      on ipxe.org it tells “Error: No buffer space available”

      Can someone to help to fix it?

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

        @EduardoTSeoane Adding the debugging output is definitely a good start to look into this. Following the links you posted and looking at the iPXE code (function netdev_tx_defer in netdevice.c) it seems like this happens because of packets not being send out properly. The comment above this function says:

        Drivers may call netdev_tx_defer() if there is insufficient space
        in the transmit descriptor ring. Any packets deferred in this way
        will be automatically retransmitted as soon as space becomes
        available (i.e. as soon as the driver calls netdev_tx_complete()).

        As snp.efi is known to work on many other devices I can only see this to be a firmware issue on this particular device. What happens if you use ipxe.efi?

        I might suggest you leave out some parts of the DEBUG= parameter to narrow down why it’s not sending the packets properly. I would think you can leave out all of the efi ones as well as the higher layer protocols like dhcp,http,tftp.

        In the end you will probably need to post on the iPXE developers list to get further help.

        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

        EduardoTSeoaneE 1 Reply Last reply Reply Quote 0
        • EduardoTSeoaneE
          EduardoTSeoane @Sebastian Roth
          last edited by

          @sebastian-roth another notebook with snp.efi, this moel is a Toshiba satellite C40-G-126 same problem stuck downloading bzImage…

          on the two models same problem with snponly.efi

          with ipxe.efi on this models i retrieved “no configuration methods”, same with realtek.efi
          intel.efi not load

          I do a bad experiment unloading protocols, and i get into load but with a lot of diferent errors and with a delay of minutes…

          Can you suggestme a DEBUG= line to be more clear?

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

            @eduardotseoane I would try those: DEBUG=snp,snponly,snpnet,netdevice

            Looking at the code on where netdev_tx_defer (code ref) is actually called I would think it happens in the snpnet_transmit call (code ref). So with snpnet in the DEBUG I am wondering if you see messages like SNP net0 could not transmit: ... in the debug output?

            Are you good with tcpdump/Wireshark packet capturing? I’d suggest you install tcpdump package on your FOG server and run tcpdump -w /tmp/bootissue.pcap port 80 on your FOG server (as root) while you try to PXE boot the machine. Best you make sure there is no one using the FOG web UI and no other machines PXE booting because that would just fill up the file a lot with information we don’t want. Leave that command waiting on the console until you get the iPXE error. Then stop it (ctrl+c). Now copy the bootissue.pcap file to your PC and upload to a file share and post a link here.

            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

            EduardoTSeoaneE 2 Replies Last reply Reply Quote 0
            • EduardoTSeoaneE
              EduardoTSeoane @Sebastian Roth
              last edited by

              @sebastian-roth
              with out debug enable:
              error image
              https://drive.google.com/file/d/1qimuEy1fm0FuWarHYIpMVu_hlVWEegLR/view?usp=sharing
              pcapfile:
              https://drive.google.com/file/d/1jp3N9LhPmeZQqQR-rj-Tx2ZfPJW8s3BW/view?usp=sharing

              with debug enable too big:
              Video of boot proc…

              https://drive.google.com/file/d/1BspHvH-nsBWBbhx4uDfofQcSQLj96rWJ/view?usp=sharing

              tcpdump result:
              https://drive.google.com/file/d/1c7KyZHbCJTbWcfpKNtXak0qNxBSloxyX/view?usp=sharing

              With debug always end but it last at more than 15mins downloading files.

              1 Reply Last reply Reply Quote 0
              • EduardoTSeoaneE
                EduardoTSeoane @Sebastian Roth
                last edited by

                @sebastian-roth @george1421 @Fernando-Gietz

                Ok at this moment I have a temporal solution compiling on rom-o-matic an shrinked version of the snp.efi and snponly.efi, need to do more tests but at this moment this seems to work…

                if it’s possible Iike to see what’s the problem really…

                Here are the urls to configure and compile the files…

                iPXE file for ACER Travelmate P2
                Use this URL to directly retreive your binary for later use:

                https://rom-o-matic.dev/build.fcgi?BINARY=snp.efi&BINDIR=bin-x86_64-efi&REVISION=master&DEBUG=&EMBED.00script.ipxe=%23!ipxe isset %24{net0/mac} %26%26 ifopen net0 %26%26 dhcp net0 || goto dhcpnet1 echo Received DHCP answer on interface net0 %26%26 goto proxycheck %3Adhcpnet1 isset %24{net1/mac} %26%26 ifopen net1 %26%26 dhcp net1 || goto dhcpnet2 echo Received DHCP answer on interface net1 %26%26 goto proxycheck %3Adhcpnet2 isset %24{net2/mac} %26%26 ifopen net2 %26%26 dhcp net2 || goto dhcpall echo Received DHCP anser on infterface net2 %26%26 goto proxycheck %3Adhcpall dhcp %26%26 goto proxycheck || goto dhcperror %3Adhcperror prompt --key s --timeout 10000 DHCP failed%2C hit 's' for the iPXE shell%3B reboot in 10 seconds %26%26 shell || reboot %3Aproxycheck isset %24{proxydhcp/next-server} %26%26 set next-server %24{proxydhcp/next-server} || goto nextservercheck %3Anextservercheck isset %24{next-server} %26%26 goto netboot || goto setserv %3Asetserv echo -n Please enter tftp server%3A %26%26 read next-server %26%26 goto netboot || goto setserv %3Anetboot chain tftp%3A//%24{next-server}/default.ipxe || prompt --key s --timeout 10000 Chainloading failed%2C hit 's' for the iPXE shell%3B reboot in 10 seconds %26%26 shell || reboot&console.h/CONSOLE_FRAMEBUFFER:=1&general.h/NET_PROTO_STP:=0&general.h/NET_PROTO_LACP:=0&general.h/NET_PROTO_EAPOL:=0&general.h/CRYPTO_80211_WEP:=0&general.h/CRYPTO_80211_WPA:=0&general.h/CRYPTO_80211_WPA2:=0&general.h/DNS_RESOLVER:=0&general.h/IMAGE_EFI:=1&general.h/IMAGE_DER:=0&general.h/IMAGE_PEM:=0&general.h/IWMGMT_CMD:=0&general.h/IBMGMT_CMD:=0&general.h/FCMGMT_CMD:=0&general.h/LOGIN_CMD:=0&general.h/SHELL_CMD:=0&general.h/REBOOT_CMD:=1&general.h/PCI_CMD:=1&general.h/PARAM_CMD:=1&general.h/NEIGHBOUR_CMD:=1&general.h/CONSOLE_CMD:=1&general.h/IPSTAT_CMD:=1&general.h/IMAGE_ARCHIVE_CMD:=0&general.h/VNIC_IPOIB:=0&general.h/TIVOLI_VMM_WORKAROUND:=0&branding.h/PRODUCT_NAME=IKASNOVA PXE BOOT&console.h/KEYBOARD_MAP=es&

                Editable Configuration URL
                Use this URL to adjust your binary’s setup:

                https://rom-o-matic.dev/?BINARY=snp.efi&BINDIR=bin-x86_64-efi&REVISION=master&DEBUG=&EMBED.00script.ipxe=%23!ipxe isset %24{net0/mac} %26%26 ifopen net0 %26%26 dhcp net0 || goto dhcpnet1 echo Received DHCP answer on interface net0 %26%26 goto proxycheck %3Adhcpnet1 isset %24{net1/mac} %26%26 ifopen net1 %26%26 dhcp net1 || goto dhcpnet2 echo Received DHCP answer on interface net1 %26%26 goto proxycheck %3Adhcpnet2 isset %24{net2/mac} %26%26 ifopen net2 %26%26 dhcp net2 || goto dhcpall echo Received DHCP anser on infterface net2 %26%26 goto proxycheck %3Adhcpall dhcp %26%26 goto proxycheck || goto dhcperror %3Adhcperror prompt --key s --timeout 10000 DHCP failed%2C hit 's' for the iPXE shell%3B reboot in 10 seconds %26%26 shell || reboot %3Aproxycheck isset %24{proxydhcp/next-server} %26%26 set next-server %24{proxydhcp/next-server} || goto nextservercheck %3Anextservercheck isset %24{next-server} %26%26 goto netboot || goto setserv %3Asetserv echo -n Please enter tftp server%3A %26%26 read next-server %26%26 goto netboot || goto setserv %3Anetboot chain tftp%3A//%24{next-server}/default.ipxe || prompt --key s --timeout 10000 Chainloading failed%2C hit 's' for the iPXE shell%3B reboot in 10 seconds %26%26 shell || reboot&console.h/CONSOLE_FRAMEBUFFER:=1&general.h/NET_PROTO_STP:=0&general.h/NET_PROTO_LACP:=0&general.h/NET_PROTO_EAPOL:=0&general.h/CRYPTO_80211_WEP:=0&general.h/CRYPTO_80211_WPA:=0&general.h/CRYPTO_80211_WPA2:=0&general.h/DNS_RESOLVER:=0&general.h/IMAGE_EFI:=1&general.h/IMAGE_DER:=0&general.h/IMAGE_PEM:=0&general.h/IWMGMT_CMD:=0&general.h/IBMGMT_CMD:=0&general.h/FCMGMT_CMD:=0&general.h/LOGIN_CMD:=0&general.h/SHELL_CMD:=0&general.h/REBOOT_CMD:=1&general.h/PCI_CMD:=1&general.h/PARAM_CMD:=1&general.h/NEIGHBOUR_CMD:=1&general.h/CONSOLE_CMD:=1&general.h/IPSTAT_CMD:=1&general.h/IMAGE_ARCHIVE_CMD:=0&general.h/VNIC_IPOIB:=0&general.h/TIVOLI_VMM_WORKAROUND:=0&branding.h/PRODUCT_NAME=IKASNOVA PXE BOOT&console.h/KEYBOARD_MAP=es&

                iPXE file for dynabook Satellite pro
                Use this URL to directly retreive your binary for later use:

                https://rom-o-matic.dev/build.fcgi?BINARY=snponly.efi&BINDIR=bin-x86_64-efi&REVISION=master&DEBUG=&EMBED.00script.ipxe=%23!ipxe isset %24{net0/mac} %26%26 ifopen net0 %26%26 dhcp net0 || goto dhcpnet1 echo Received DHCP answer on interface net0 %26%26 goto proxycheck %3Adhcpnet1 isset %24{net1/mac} %26%26 ifopen net1 %26%26 dhcp net1 || goto dhcpnet2 echo Received DHCP answer on interface net1 %26%26 goto proxycheck %3Adhcpnet2 isset %24{net2/mac} %26%26 ifopen net2 %26%26 dhcp net2 || goto dhcpall echo Received DHCP anser on infterface net2 %26%26 goto proxycheck %3Adhcpall dhcp %26%26 goto proxycheck || goto dhcperror %3Adhcperror prompt --key s --timeout 10000 DHCP failed%2C hit 's' for the iPXE shell%3B reboot in 10 seconds %26%26 shell || reboot %3Aproxycheck isset %24{proxydhcp/next-server} %26%26 set next-server %24{proxydhcp/next-server} || goto nextservercheck %3Anextservercheck isset %24{next-server} %26%26 goto netboot || goto setserv %3Asetserv echo -n Please enter tftp server%3A %26%26 read next-server %26%26 goto netboot || goto setserv %3Anetboot chain tftp%3A//%24{next-server}/default.ipxe || prompt --key s --timeout 10000 Chainloading failed%2C hit 's' for the iPXE shell%3B reboot in 10 seconds %26%26 shell || reboot&console.h/CONSOLE_FRAMEBUFFER:=1&general.h/NET_PROTO_STP:=0&general.h/NET_PROTO_LACP:=0&general.h/NET_PROTO_EAPOL:=0&general.h/CRYPTO_80211_WEP:=0&general.h/CRYPTO_80211_WPA:=0&general.h/CRYPTO_80211_WPA2:=0&general.h/DNS_RESOLVER:=0&general.h/IMAGE_EFI:=1&general.h/IMAGE_DER:=0&general.h/IMAGE_PEM:=0&general.h/IWMGMT_CMD:=0&general.h/IBMGMT_CMD:=0&general.h/FCMGMT_CMD:=0&general.h/LOGIN_CMD:=0&general.h/SHELL_CMD:=0&general.h/REBOOT_CMD:=1&general.h/PCI_CMD:=1&general.h/PARAM_CMD:=1&general.h/NEIGHBOUR_CMD:=1&general.h/CONSOLE_CMD:=1&general.h/IPSTAT_CMD:=1&general.h/IMAGE_ARCHIVE_CMD:=0&general.h/VNIC_IPOIB:=0&general.h/TIVOLI_VMM_WORKAROUND:=0&branding.h/PRODUCT_NAME=IKASNOVA PXE BOOT&console.h/KEYBOARD_MAP=es&

                Editable Configuration URL
                Use this URL to adjust your binary’s setup:

                https://rom-o-matic.dev/?BINARY=snponly.efi&BINDIR=bin-x86_64-efi&REVISION=master&DEBUG=&EMBED.00script.ipxe=%23!ipxe isset %24{net0/mac} %26%26 ifopen net0 %26%26 dhcp net0 || goto dhcpnet1 echo Received DHCP answer on interface net0 %26%26 goto proxycheck %3Adhcpnet1 isset %24{net1/mac} %26%26 ifopen net1 %26%26 dhcp net1 || goto dhcpnet2 echo Received DHCP answer on interface net1 %26%26 goto proxycheck %3Adhcpnet2 isset %24{net2/mac} %26%26 ifopen net2 %26%26 dhcp net2 || goto dhcpall echo Received DHCP anser on infterface net2 %26%26 goto proxycheck %3Adhcpall dhcp %26%26 goto proxycheck || goto dhcperror %3Adhcperror prompt --key s --timeout 10000 DHCP failed%2C hit 's' for the iPXE shell%3B reboot in 10 seconds %26%26 shell || reboot %3Aproxycheck isset %24{proxydhcp/next-server} %26%26 set next-server %24{proxydhcp/next-server} || goto nextservercheck %3Anextservercheck isset %24{next-server} %26%26 goto netboot || goto setserv %3Asetserv echo -n Please enter tftp server%3A %26%26 read next-server %26%26 goto netboot || goto setserv %3Anetboot chain tftp%3A//%24{next-server}/default.ipxe || prompt --key s --timeout 10000 Chainloading failed%2C hit 's' for the iPXE shell%3B reboot in 10 seconds %26%26 shell || reboot&console.h/CONSOLE_FRAMEBUFFER:=1&general.h/NET_PROTO_STP:=0&general.h/NET_PROTO_LACP:=0&general.h/NET_PROTO_EAPOL:=0&general.h/CRYPTO_80211_WEP:=0&general.h/CRYPTO_80211_WPA:=0&general.h/CRYPTO_80211_WPA2:=0&general.h/DNS_RESOLVER:=0&general.h/IMAGE_EFI:=1&general.h/IMAGE_DER:=0&general.h/IMAGE_PEM:=0&general.h/IWMGMT_CMD:=0&general.h/IBMGMT_CMD:=0&general.h/FCMGMT_CMD:=0&general.h/LOGIN_CMD:=0&general.h/SHELL_CMD:=0&general.h/REBOOT_CMD:=1&general.h/PCI_CMD:=1&general.h/PARAM_CMD:=1&general.h/NEIGHBOUR_CMD:=1&general.h/CONSOLE_CMD:=1&general.h/IPSTAT_CMD:=1&general.h/IMAGE_ARCHIVE_CMD:=0&general.h/VNIC_IPOIB:=0&general.h/TIVOLI_VMM_WORKAROUND:=0&branding.h/PRODUCT_NAME=IKASNOVA PXE BOOT&console.h/KEYBOARD_MAP=es&

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

                  @EduardoTSeoane Looking at the packet captures we see a fair amount of TCP Retransmission and TCP Window Full from the FOG server side as well as TCP Dup ACK from the host side. They all point to the receive buffer in iPXE being filled up because it’s not able to process the information fast enough. Very much sounds like an issue in the SNP (Simple Network Protocol) part of the UEFI firmware in this device.

                  Ok at this moment I have a temporal solution compiling on rom-o-matic an shrinked version of the snp.efi and snponly.efi, need to do more tests but at this moment this seems to work.

                  That sounds really interesting. What do you mean by “shrinked version”? Maybe it’s just the very latest version of iPXE that does not trigger the same behavior on this particular device. You can build iPXE binaries from the latest iPXE source code using the script you find in the fogproject directory utils/FOGiPXE/buildipxe.sh.

                  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

                  EduardoTSeoaneE 3 Replies Last reply Reply Quote 0
                  • EduardoTSeoaneE
                    EduardoTSeoane @Sebastian Roth
                    last edited by EduardoTSeoane

                    @sebastian-roth shrinked version compiling removing unnecesary elements on my instalation. Tested on production and dont works. Boot stuck conecting after boot.php or downloading bzImage/refind*/init.xz. I’ll try your suggestion…

                    1 Reply Last reply Reply Quote 0
                    • EduardoTSeoaneE
                      EduardoTSeoane @Sebastian Roth
                      last edited by

                      @sebastian-roth Sugestion tested on production and don’t works, same fail results

                      1 Reply Last reply Reply Quote 0
                      • EduardoTSeoaneE
                        EduardoTSeoane @Sebastian Roth
                        last edited by

                        @sebastian-roth For your knowledge, I submit the information that you provides me to ACER, it seems like they go to help us with this, I continue the post with the solution if we reach it, at the same time if you have time I like to continue with this problem…

                        1 Reply Last reply Reply Quote 1
                        • EduardoTSeoaneE
                          EduardoTSeoane @EduardoTSeoane
                          last edited by EduardoTSeoane

                          @eduardotseoane @sebastian-roth @george1421 @Fernando-Gietz

                          Problem solved with last development ipxe.efi

                          https://github.com/FOGProject/fogproject/tree/dev-branch/packages/tftp

                          1 Reply Last reply Reply Quote 1
                          • 1 / 1
                          • First post
                            Last post

                          228

                          Online

                          12.0k

                          Users

                          17.3k

                          Topics

                          155.2k

                          Posts
                          Copyright © 2012-2024 FOG Project