-
Notifications
You must be signed in to change notification settings - Fork 1.3k
USB Host Issues Using Gamepads #10243
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Tested with the Fruit Jam next and got some more positive results there.
Both find the gamepad and are able to read data from it. I'm going to try swapping to a known good USB A breakout. All of the Metro testing was done with a new one that I haven't used previously. I have a few that I've used successfully with mice and keyboards on Metro so they are known good, I'll try one of them to attempt to rule out a cable issue causing the Metro RP2350 results. |
I tried with a different USB Host cable breakout on the Metro RP2350 and confirmed it still is unable to find the SNES like gamepad under both 9.2.7 and 10.0.0-alpha.2 |
On the Metro RP2350 the gamepad is able to be found and have data read from it when it is connected via a CH334F USB hub (https://www.adafruit.com/product/5999). All testing prior to this comment was performed with the USB jack breakout (https://www.adafruit.com/product/4449) connected directly to the Metro. On the Metro RP2350 under both CircuitPython 9.2.7 and 10.0.0-alpna.2 the gamepad does work if it's connected thru a CH334F hub, but not when connected directly. |
@hathach Want to take a look at this? Maybe a low speed device that doesn't work when directly connected. |
Yeah possibly, please try to update pio-usb 0.7.1 which includes this fix sekigon-gonnoc/Pico-PIO-USB#176 for direct low speed attach |
I tried today with pico-usb 0.7.1 on Metro RP2350 with the controller directly connected to the metro USB host pins, it is still not finding the device during the scan on that version as well. |
then it is probably race condition of some kind, I will try to order the gamepad along with mouse that cause repeated hub connection issue as well for troubleshooting. Quick question, does it work now with rp2040 ? |
I tried with a build for the Feather RP2040 USB Host using pio-usb 0.7.1. I am still seeing the same behavior on that version as with circuitpython 10.x on that device. No devices found with scan and unable to read data. |
I tested this today on a Feather RP2040 USB Host with the gamepad connected thru a CH334F USB hub and it does work that way, same as the Metro RP2350. |
gamepad is in shipping, it may take a few days. Will test/troubleshoot this once I got this on my hands. |
I am able to reproduce the issue, the gamepad somehow return 0 bytes in the 1st get device descriptor. Not sure why, I am in the middle of improving/enhancing host/hub driver. Will try to troubleshoot this as well |
CircuitPython version and board name
Code/REPL
Behavior
Under 9.2.7 on the Feather RP2040 USB Host it can successfully find the device during a scan and read data from the device when the buttons on the gamepad are pressed.
Under 10.0.0-alpha.2 on the Feather RP2040 USB Host it does not find the device during the scan and cannot read data from it.
Under 9.2.7 and 10.0.0-alpha.2 on the Metro RP2350 it does not find the device during the scan and cannot read data from it.
Description
No response
Additional information
Most testing done with this gamepad: https://www.adafruit.com/product/6285
As an additional data point I also have a generic PS3 controller that I used for the guide page here: https://learn.adafruit.com/adafruit-feather-rp2040-with-usb-type-a-host/usb-host-read-data This controller does work on the Feather RP2040 USB Host under 10.0.0-alpha.2, but does not work on the Metro RP2350 under either 9.2.7 or 10.0.0-alpha.2
The text was updated successfully, but these errors were encountered: