Page 1 of 1
Intel 8254x don't work on real hardware
Posted: Sun Jan 23, 2022 2:49 pm
by nlg
I wrote a driver for an i8254x card which works very well on virtualbox but which is not able to send frames on a real machine (the reception works on the other hand)
Do you have an idea of what could block the emission?
edit: here is the code:
https://github.com/N-LG/SEAC/blob/maste ... I8254X.asm
Re: Intel 8254x don't work on real hardware
Posted: Mon Jan 24, 2022 5:33 pm
by nlg
I compared my code with sources found on the internet and I found that I did not correctly disable the interrupts nor did not configure the TIPG register but it still does not work in transmission. The procedure for configuring the transmission does not change compared to the config that I found as an example (I still have to check that the descriptors have no problem, however)
I still have to check the configuration at the level of the transmission speed, I had set an auto detection but maybe it does not work or only at the level of the reception but I admit having problems understanding the documentation about the "PHY"
Re: Intel 8254x don't work on real hardware
Posted: Sat Jan 29, 2022 5:22 am
by nifanfa
nlg wrote:I wrote a driver for an i8254x card which works very well on virtualbox but which is not able to send frames on a real machine (the reception works on the other hand)
Do you have an idea of what could block the emission?
edit: here is the code:
https://github.com/N-LG/SEAC/blob/maste ... I8254X.asm
Hi nlg. I wrote an intel8254x driver in c# that works fine on real hardware. But sorry I don't have an assembly version.
https://github.com/nifanfa/Solution1/bl ... el8254X.cs
Re: Intel 8254x don't work on real hardware
Posted: Sat Jan 29, 2022 5:32 am
by nifanfa
I've also used to get the driver not working. That's because I didn't clear the interrupt mask. so it won't suffer any interruptions
Re: Intel 8254x don't work on real hardware
Posted: Tue Feb 01, 2022 3:55 pm
by nlg
thank you for this source, it allows me to revise my C# a bit. and I was able to observe a few tracks:
- I start with a reset of the card and you don't
-I do not initialize the multicast reception registers (but I have no reception problem so I doubt that it comes from there)
-I initialize the TCTL and CRT registers differently, and the problem probably comes from there
Re: Intel 8254x don't work on real hardware
Posted: Wed Feb 09, 2022 12:29 pm
by nlg
I found why the frame sending did not work: I did not activate the Insert FCS/CRC(IFCS) bit in the command of the Transmit Descriptor and therefore the card did not add the CRC at the end of the frame sent
virtualbox sending the packet to a real card (with a good driver not written by me
) the CRC had to be added anyway
thank you for your source nifanfa, it helped me a lot