snp.efi on Acer TravelMate P2 (TMP215-52-36QZ) runs on No buffer space available
-
@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/2a0860on ipxe.org it tells “Error: No buffer space available”
Can someone to help to fix it?
-
@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 useipxe.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.
-
@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 loadI 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?
-
@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 withsnpnet
in the DEBUG I am wondering if you see messages likeSNP 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. -
@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=sharingwith 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=sharingWith debug always end but it last at more than 15mins downloading files.
-
@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:Editable Configuration URL
Use this URL to adjust your binary’s setup:iPXE file for dynabook Satellite pro
Use this URL to directly retreive your binary for later use:Editable Configuration URL
Use this URL to adjust your binary’s setup: -
@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
. -
@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…
-
@sebastian-roth Sugestion tested on production and don’t works, same fail results
-
@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…
-
@eduardotseoane @sebastian-roth @george1421 @Fernando-Gietz
Problem solved with last development ipxe.efi
https://github.com/FOGProject/fogproject/tree/dev-branch/packages/tftp