Trying to operate KL26 device as USB low speed peripheral device (not host). I can only find configurations that result in USB full speed, which works fine. Any help on this would be appreciated.
Changes in the descriptor and sticking to the minimum packet size should work as long as that is all that needs to be sent.
There are changes needed in the actual code for multiple packet transactions for Low Speed.
See Jan Alexson's "USB Complete" book for details.
Is there some compelling reason to use Low Speed these days?
Only reason I've seen recently is cost savings by using low quality cables when making very high quantities.
Our application supports legacy laptops and notebooks, so Low Speed is still a thing.
The device does not support a configuration for the required pullup on the DM USB line for low speed.
If anyone has successfully configured the device for low-speed, would appreciate getting confirmation that it is workable.
Hello
Have you tried by changing pull-up resistors? Remember that Full speed devices use pull-up resistor on D+ line meanwhile Low speed devices use pull-up resistor on D- line. So you will need to disable this D+ resistor and add externally a pull-up resistor on D- (Because OTG controller does not have a field to enable pull-up resistor on D-)
Also, remember that maximum packet size must be set according low speed specifications.
Hope this helps!
Regards,
Isaac