Ok, the issue with the MAX3421 is solved, and I can set/read/reset all registers.
So I set it up into the low-speed-host mode, then I set the device address using SUDFIFO. **Next I sent to PERADDR 0x01 – device=keyboard, and so on ..
In an endless loop I send an IN token to EP1, read bits HRSLT0-4, if=0x00 success, and so on, ...., and so on ..
I could read USB keyboard’s press and release codes ..
Fine.
I tried another keyboard.
The same as above.
I tried another keyboard = nothing works.
Keyboard is OK when plugged to a PC.
When I try to send address to it (step **) it returns 0x0D, that is J-state, should be 0x00 => ACK.
So, I’m stuck here and at this moment have no clue what to do next.
Q: keyboards suppose to be low-speed devices. Is it possible that not all are?