iPXE discussion forum

Full Version: Watchdogtimer/transfer issue
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello All,

First of all i like to thank all the people involved in the iPXE project. It's great!

I hope someone can help with this issue i have:

I have compiled an x86_64 snp.efi file. This works well and our Dell Venue Pro 11 7130 x64 tablets are able to boot this. As soon as iPXE is loaded it starts to load files through http, this works also. However, i am loading a 64-bit WinPe which is about 370 MB. The transfer is about 1MB's a second and therefore it takes a while to complete. This transfer is slow, but there's something else. After 5 minutes the machine suddenly reboots.

After some searching i think this is the watchdog timer.

Is there a way to figure out why this transfer is so slow? or can i disable the watchdogtimer?
I have tried to boot a different tablet which uses x86 UEFI, this one uses a smaller x86 WinPE and does not reboot unexpectedly.

If you need additional info, please let me know.

Thank you.

p.s. i am not a programmer.
You might be dealing with a buggy network card driver from your UEFI environment. What kind of networking hardware is in that Dell tablet? PCI vendor/device ID and the chip it uses would be useful info. If you can get it to start Linux the output from lspci -v would be nice.
Dear Robin,

I have created multiple lspci and lsusb output textfiles. I can't upload them using this forum because of the following error:
Please correct the following errors before continuing:
The file upload failed. Please choose a valid file and try again. Error details: There was a problem moving the uploaded file to its destination.

I have tried a Latitude e7440 UEFI 64-bit laptop:
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I218-LM (rev 04)
Subsystem: Dell Device 05cb
Flags: bus master, fast devsel, latency 0, IRQ 255
Memory at f7e00000 (32-bit, non-prefetchable) [size=128K]
Memory at f7e3c000 (32-bit, non-prefetchable) [size=4K]
I/O ports at f080 [size=32]
Capabilities: [c8] Power Management version 2
Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [e0] PCI Advanced Features

Transfer speed about: 2MB/s. Transfer is complete within 5 minutes, so this works. However if i leave the laptop in the iPXE shell for 5 minutes, the machine reboots.

Venue Pro 11 5130 (64-bit model) results:
These machines don't have NIC's. You can choose between a docking NIC or a USB dongle with a (supported by Dell) PXE chip.
lsusb -v output:
Bus 001 Device 004: ID 0b95:772b ASIX Electronics Corp. AX88772B
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 255 Vendor Specific Subclass
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0b95 ASIX Electronics Corp.
idProduct 0x772b AX88772B
bcdDevice 0.01
iManufacturer 1 ASIX Elec. Corp.
iProduct 2 AX88772B
These tablets are connected to a docking station but unable to use integrated NIC of the docking, therefore i cannot test this. This is not a iPXE issue.
Transfer speed: 10MB/s <- fast.
5 minute wait: machine reboots

Venue Pro 11 7130 (64-bit model) results:
Is used the same dongle as the 5130 model.
transfer speed: ~ 1MB/s
5 minute wait: machine reboots

All tested Dell hardware seem to reboot after 5 minutes. The used USB dongle is very fast in the 5130 but slow on the 7130.
The internal NIC of the e7440 laptop works but is slow.

The internal NIC's of the docking station is not visible in de lspci or lsusb output.
I hope this will give you the information you need.

Thank you for your help.
For the machine that had an internal intel NIC you could try to load ipxe.efi instead of snp.efi and see if that helps with the speed. For the docking station NIC that might get a card detected too, but I'm not sure. For the USB NIC the only option is to use snp.efi to piggy-back on that card's PXE implementation. You could also test out the USB branch on John Willis github fork of ipxe. It should have a native driver for the ASIX USB NIC. You can find another thread on the forum detailing the process of implementing the USB driver with links and more. It will be added to mainline once one of the core developers have time to review it.
Dear Robin,

I have edited the file drivers/net/efi/snp.c and threw in the line

bs->SetWatchdogTimer (0, 0, 0, NULL );

This disables the WatchdogTimer and my machines are no longer rebooting after 5 minutes while having slow transfers or waiting in the shell. I can also use the same snp.efi file which is working for most of my machines.

Thank you for the help.
Maybe this feature can be included some time, i can imagine if someone makes a script and user input is required it can take longer than 5 minutesSmile

Have a nice day!
I would suggest you figure out exactly _why_ that line is there. There is probably a reason for it. Send a message to the developer mailing-list to get in touch with people that might be able to give you a technical answer.
Reference URL's