Page 1 of 1

am79c973 missed frame?

Posted: Mon Dec 18, 2023 3:22 am
by maxtyson123
Hi, my am79c973 driver works with virtual box and its forwarding, however when running in qemu and testinf thru ncat my am79c973 reports the "MISSING FRAME" error? Is this becuase I've set qemu up wrong?

(My args: -m 512 -serial stdio -accel whpx,kernel-irqchip=off -accel tcg -display sdl -net nic,model=pcnet -net user,hostfwd=tcp::1234-:1234 -drive file=\wsl.localhost\kali-linux\home\max\max-os\maxOS.img,
format=raw,if=ide,cache=directsync,id=disk0)

Src code https://github.com/maxtyson123/max-os/

Re: am79c973 missed frame?

Posted: Mon Dec 18, 2023 9:16 pm
by Octocontrabass
The missed frame error means the NIC dropped a packet because your driver isn't updating the receive descriptors fast enough.

Try increasing the size of your receive descriptor ring. That will help if it's just a short burst of traffic.

If there are too many incoming packets, it may not be possible to receive all of them without dropping any.

Re: am79c973 missed frame?

Posted: Wed Dec 20, 2023 10:00 pm
by maxtyson123
So I should increase these lines:

Code: Select all

                BufferDescriptor* recvBufferDescr;               //Descriptor entry
                uint8_t recvBufferDescrMemory[2048+15];  //RAM for the recive buffer, also 16 byte aligned
                uint8_t recvBuffers[2*1024+15][8];       //8 Send Buffers, 2KB + 15 bytes
                uint8_t currentRecvBuffer;               //Which buffers are active