Bugs :
- after the modem is power up, the usb firmware should be uploaded as soon as possible otherwise the upload fails.
We could try to reset the modem before uploading firmware to solve this issue
- in bulk mode, at high speed rate, the modem don't spend complete ATM frame in a usb packet.
Usbatm have a special case to detect this and save the incomplete frame in order to reconstruct it later.
- in iso mode, when there nothing to send the usb mode don't send back the iso urb. This is a "feature" of cypress chipset [1]
Usbatm have a special case to ignore this error. We could also patch the usb firmware.
- in some case the modem froze : it acts as everythings is ok but the TX traffic is not trasmited on ADSL (RX is ok).
[1]
from cypress datasheet :
The ISOSEND0 Bit (bit 7 in the USBPAIR Register) is used when the EZ-USB FX chip receives an
isochronous IN token while the IN FIFO is empty. If ISOSEND0=0 (the default value), the USB
core does not respond to the IN token. If ISOSEND0=1, the USB core sends a zero-length data
packet in response to the IN token. The action to take depends on the overall system design. The
ISOSEND0 Bit applies to all of the isochronous IN endpoints, IN-8 through IN-15.