Community
cancel
Showing results for 
Search instead for 
Did you mean: 
AKcho
Beginner
1,054 Views

Please help with receive setup of a 82574 based NIC

I am developing a Miniport device driver for an 82574l based NIC on Windows CE 5.0, using NDIS 5.1. Transmission setup works OK and the NIC transmits OK. I setup receive as the documentation dictates:

  1. Allocated a region of memory for legacy receive descriptor list using NdisMAllocateSharedMemory and setup a descriptor ring.
  2. Setup receive buffers of appropriate size and allocated and pointers to these buffers and stored these in each descriptor in the descriptor ring.
  3. Programed the descriptor base address with the address of the descriptor ring.
  4. Set the length register to the size of the descriptor ring.

However the when I process receive related interrupts the memory buffers pointed to by the memory allocations I got from NDIS point to regions filled with 0s. Using the diagnostic registers it shows that data was received and the Receive Data FIFO Packet Count register indicates how many packets were received and analyzing the RX FIFO PBM region seems good. So I must be doing something really bad when setting up my RX registers to not be able to handle RX packets. I will gladly provide my code to anybody who can help me.

0 Kudos
17 Replies
idata
Community Manager
58 Views

Hi Abraham,

 

 

Thank you for the post. We need to further investigate on this.

 

 

rgds,

 

wb

 

idata
Community Manager
58 Views

Hi Abraham,

 

 

Further checking on this, the WinCE5 is an old OS and is no longer supported by Microsoft* https://support.microsoft.com/en-us/lifecycle?p1=3100. We will not be fixing anything as this is already an OS that is EOS, what we can do is to try to find additional information which could be of help if you can provide me the driver name, version, date and time. Thanks.

 

 

rgds,

 

wb

 

AKcho
Beginner
58 Views

While the final target would be WinCE 5 device I am doing the development on WinCE 6. I was provided with the source code for the E1x51CE6 (x = K|Q|R) driver from Intel but the sources I was provided with are not buildable. I was using these to reference my understanding of the hardware itself more than anything else, but for some reason as I posted in my original post I cannot get the allocated shared memory for the hardware descriptors to point to the right shared buffers allocated to the receive buffers. I'd really appreciate any help I can get.

Many Thanks

Avi

idata
Community Manager
58 Views

Hi Avi,

 

 

Thank you for the reply. Where did you get the source code from Intel? What is the driver name, version date and time? so that we can better check for you.

 

 

Thanks,

 

wb

 

AKcho
Beginner
58 Views

Hi,

I got the approved source code pull from Intel in Israel, The following is the contents of the pull.bat (file dated April 15 2010)

==============================================================

set CVSROOT=:pserver:scmbuild@azusa:/home/cvsroot/ladsw

set HOME=\\bldsrv\tools\scm\scm_sql_tools

cd c:\Sandbox

\\Bldsrv\Tools\WINCVS1.3\cvs.exe export -d 140473 -r win11-4-11-0b_BHSW1_IP_Reduced_Build windows_e1q_ndis 2>>c:\Sandbox\140473\CvsGet.log 1>>c:\Sandbox\140473\Pull.log

==============================================================

The driver name is as mentioned above E1Q51CE6 (as defined in the module definition file for WinCE) for the E1Q driver family (to be honest, I could not find out the the difference between E1Q51CE6, E1K51CE6 and E1R51CE6).

Many thanks

Avi

idata
Community Manager
58 Views

Hi Avi,

 

 

Thank you for the additional information provided. We will further check on your inquiry.

 

 

rgds,

 

wb

 

AKcho
Beginner
58 Views

Many thanks

Avi

idata
Community Manager
58 Views

Hi Avi,

 

 

Just to double check have you tried contacting Intel Israel and if they could assist you from there also?

 

 

Thanks,

 

wb

 

AKcho
Beginner
58 Views

Hi,

Of course I tried, but they said that it is not supported any more, so that was it.

Thanks

Avi

idata
Community Manager
58 Views

Hi Avi,

 

Thank you for the update. Let me check further what we can further assist from here.

 

 

rgds,

 

wb

 

AKcho
Beginner
58 Views

Much appreciated!!!

Best

Avi

st4
New Contributor III
58 Views

Hi Avi,

I sent a PM to you, please provide the info from there. Much thanks.

rgds,

wb

idata
Community Manager
58 Views

Hi Avi,

 

Further checking Win CE extended support ends on 10/14/2014 as per https://http://support.microsoft.com/en-us/lifecycle?p1=3100 support.microsoft.com/en-us/lifecycle?p1=3100. We have not received any further feedback, do you still want to pursue on this? Please feel free to update us. Thank you.

 

 

Rgds,

 

wb

 

AKcho
Beginner
58 Views

Hi,

I am aware of it, but NIC drivers for Windows (all systems and versions) are really NDIS drivers. While there are minute differences, between Win CE and Win NT versions, the most obvious ones being a DLL in Win CE and and different interrupt initialization and some handling, most of it is quite similar. My main problem was that the sources in the source code pull I got, I was unable to build, and therefore could not compare to my code, so I could figure out what I was doing wrong. Basically I could send data with no problem but for some reason I could not setup the Rx Descriptor Base Address regs, RX descriptor length regs and RX descriptor list head offset regs correctly or else I would have obtained the received data. Interrupts worked OK TX works OK and all seems OK but for the RX buffers being empty even after setting them up. Checking the diagnostic regs the indication is that data is coming in. To be honest if I only could build the sources I would probably figure out what I am doing wrong.

Many thanks

Avi

AKcho
Beginner
58 Views

Just one more thing, since Win CE 6.0 is using NDIS 5 it doesn't really make a difference if it is Win CE 5.

Thanks

Avi

idata
Community Manager
58 Views

Hi Avi,

 

 

Thanks for the clarification.

 

 

rgds,

 

wb

 

idata
Community Manager
58 Views

Hi Avi,

 

 

We would like to apologize we are not able to extend further assistance due to the driver support was already discontinued. Apologize for any inconvenience this might have caused. Again, thank you for your time on this matter.

 

 

rgds,

 

wb

 

 

 

Reply