From: Knutsel on
Hi,

I develop (try!) an ethernet over usb driver. Both sides,
the host driver on WinXP and the device firmware.

The device is a microcontroller from Atmel, a 89C5131A.
This microcontroller has a hardware bug, see atmel site, read errata.

http://www.atmel.com/dyn/resources/prod_documents/doc4373.pdf

The problem:
Sending fullsize packets (64 bytes) in ping-pong mode is NO PROBLEM.
But sending 12 bytes for example, the fifo's get corrupted, read errata.

Their Solution:
NONE

My solution:
63 bytes doesnot cause a corrupted fifo. 64 bytes followed by ZLP (Zero
Length Packet) does work.
I have tried with "emulating" ethernet packets sent with another written
application.

MY PROBLEM/QUESTION:
How do you modify an usb packet or ethernet packet its size in the driver
before it is sent to the device?
With IDA PRO, i reverse engineer AX88172 driver, but i do not understand all
code.
I know its possible, i find a confidential PDF document on internet,
but it tells not how its done exactly.

http://people.freebsd.org/~wpaul/KLSI/klsi.pdf

Maybe its possible with a FILTER driver? But i have no experience how to get
it working.

Thanks in advance!

Mark
(Knutsel)