-
Notifications
You must be signed in to change notification settings - Fork 46
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
SNES Controller not detected #50
Comments
hi, either one of the two controllers does not support USB-LS (may be limited to USB 2.0) or it's using a bad crystal and the esp32 can't compensate comparing the details of the two controllers will tell about their capabilities; you'll need a tool like lsusb can be installed using brew:
... or using port:
run it once without arguments to find the
then run lsusb with the VendorID/ProductID of that gamepad (e.g.
copy the results in a text editor, rinse and repeat with the other gamepad, then compare both results |
I report here the two output of lsusb, but they are very similar: The diff between working and not working controllers:
The full output of working controller:
The full output of not working controller:
|
according to this both controllers are USB 1.0
indeed some USB-LS devices with bad or no crystal can fail to be detected by ESP32-USB-Soft-Host, but this needs to be confirmed:
|
Unfortunately none of the first three things made a difference. I am available also to test with an oscilloscope but I do not know exactly what to test. Thanks a lot for your help anyway. |
you can verify that the bit rate / bit period are within the clock tolerance range (1.50±0.18 Mbit/s) in all 4 situations if you feel adventurous you can also use wireshark + logic analyzer to compare data between working and failing scenarios i.e. to identify where the fail happens (voltage, handshake, setup, data, crc) |
Thank you, I will check what I can do and see if I understand what is going on. |
This is a bit weird issue.
I spent some time developing a USB to DB9 (Commodore 64) controller using a SNES game pad.
Everything worked well and because of the 2 Commodore 64 ports I decided to buy a second SNES controller, but this second is not even detected.
Of course I thought that it could have been broken, but tested on a Mac it works perfectly. So I decided to open and inside the two controllers seems quite different. In particular the main difference that I can see is that one controller seems to have a crystal and the other not, but I can't see the chip used because it is under a black cap.
I am a bit stuck here because no message, appears on the console so it seems that the device is not detected in any way.
Is there something that I can do to debug this issue?
The text was updated successfully, but these errors were encountered: