F
Frank van Eijkelenburg
Guest
On Jul 6, 12:12 pm, Michael S <already5cho...@yahoo.com> wrote:
mistakes of others, here comes the cause of the problem:
The packets which were transmitted to the pc were too large (more than
the maximum payload size of the receiver). In that case, the packets
are simply dropped (no errors). Of course I have to read the maximum
payload size from the device control register in the PCI Express
Capability structure.
best regards,
Frank
Finally, I solved the problem. For those who want to learn fromOn Jul 6, 11:00 am, Frank van Eijkelenburg
fei.technolut...@gmail.com> wrote:
I hope to fix the problem before my vacation (only one day left
Something, I most certainly DO NOT RECOMMEND for final solution, but
it could help to go to vacation in better mood.
Scrap all the schoolbook nice&complex WindowsDMAAPI stuff. Instead,
take your Irp->MdlAddress, do MmGetMdlPfnArray() and access physical
addresses directly. It's wrong, it's immoral but on simple x86/x64 PC
or on small dual-processor server it always work.
Just don't forget to bring back the officialDMAAPI when you are back
from vocation and have more time than a few hours.
mistakes of others, here comes the cause of the problem:
The packets which were transmitted to the pc were too large (more than
the maximum payload size of the receiver). In that case, the packets
are simply dropped (no errors). Of course I have to read the maximum
payload size from the device control register in the PCI Express
Capability structure.
best regards,
Frank