A net2280 datasheet is available. From what i can read, the device is configured in host mode, with the following mapping for the USB endpoints :
Those are left to their default configuration.
Additionnally,
They also seem to be at their default configuration.
The windows driver allows for for reset in case of a ”bulk timeout” when transmitting on pipe 0x0e (P54U_PIPE_DEV).
In order to work with the firmware I extracted, the following line in p54u_load_firmware,
p54u_dev_writel(netdev, 0x0064, i > 0 ? 0x80 : 0x2e);
must be changed to :
p54u_dev_writel(netdev, 0x0064, i > 0 ? 0x80 : 0x47);
I guess the value to be written is just dependent on the block size written. So for now the values we know are :
block size of 0x200 →0x80 (512/128)
block size of 0x11c →0x47 (284/71)
As i dont have the firmare version of the authors of the code in CVS, i can't know what the final block size leading to 0x2e was for them, but we can guess : the value is len/4, you bet !
This would lead to :
p54u_dev_writel(netdev, 0x0064, len/4);