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/
am79c973 missed frame?
-
- Posts: 24
- Joined: Wed Apr 19, 2023 1:40 am
- Libera.chat IRC: maxtyson123
-
- Member
- Posts: 5560
- Joined: Mon Mar 25, 2013 7:01 pm
Re: am79c973 missed frame?
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.
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.
-
- Posts: 24
- Joined: Wed Apr 19, 2023 1:40 am
- Libera.chat IRC: maxtyson123
Re: am79c973 missed frame?
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