Initialization

1 Net2280

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.

2 Firmware upload

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);