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
Intel 8254x don't work on real hardware
Re: Intel 8254x don't work on real hardware
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"
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"
-
- Member
- Posts: 104
- Joined: Tue Aug 17, 2021 10:40 am
- Libera.chat IRC: visitor
- Location: CN
- Contact:
Re: Intel 8254x don't work on real hardware
Hi nlg. I wrote an intel8254x driver in c# that works fine on real hardware. But sorry I don't have an assembly version.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
https://github.com/nifanfa/Solution1/bl ... el8254X.cs
My github: https://github.com/nifanfa
-
- Member
- Posts: 104
- Joined: Tue Aug 17, 2021 10:40 am
- Libera.chat IRC: visitor
- Location: CN
- Contact:
Re: Intel 8254x don't work on real hardware
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
My github: https://github.com/nifanfa
Re: Intel 8254x don't work on real hardware
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
- 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
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
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