I'm writing USB OTG peripheral driver for Linux 4.15.x. I've got some issue with setting address for my OTG peripheral device.
On peripheral USB side I'm receiving for set address following bytes: 0x0, 0x5, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0. It means that I should set given address in my peripheral device. But propably I'm doing something wrong because after setting given address my peripheral USB device stops receiving anything from USB bus. I mean I receive no further requests via USB.
At the same time on PC (USB host side) I have in logs:
Device not responding to setup address.
Device not accepting address 54, error -71
The problem is the difference in USB set address req and in error message on PC (USB host) side.
Why those numbers are different? Why PC reports in logs that it tried to enumerate my USB device with different address that in fact it sent?
Any ideas? Did I miss something?