I'm using the Nyko GCN adapter for Switch and configured it with Zadig as intended. For some reason, the configure window on Dolphin flip-flops between saying "No adapter detected" and "adapter detected" multiple times a second. What is going on?
GC Adapter not working?
|
04-27-2019, 01:51 AM
I don't believe the Nyko adapter is supported. I have no idea why though, I've just seen a lot of threads like this one and it's always the Nyko adapter
04-29-2019, 10:50 PM
Same problem here. What makes the Nyko adapter so different from the others?
05-02-2019, 10:16 PM
(This post was last modified: 05-02-2019, 10:18 PM by mstreurman.)
(04-29-2019, 10:50 PM)DonMigs85 Wrote: Same problem here. What makes the Nyko adapter so different from the others? If the developers knew, this issue would be solved in an instant... but as it is not a "Licensed by Nintendo"-product, and AFAIK none of the devs that do controller development own one of these, it is very hard to figure out. Just to make sure: does your adapter actually work correctly on a Wii, Wii U and a Switch?
Check my profile for up to date specs.
05-02-2019, 10:19 PM
05-02-2019, 10:36 PM
(This post was last modified: 05-02-2019, 10:46 PM by mstreurman.)
(05-02-2019, 10:19 PM)JosJuice Wrote: GC adapters don't work on Wiis. (Except in certain homebrew such as Nintendont, but that support is hardly inherent to Wiis.) Oh sorry, I thought I read somewhere that there were Wii's without build in Gamecube ports that allowed the Adapters to be used for SSBB and the likes... edit: this is true, using Nintendon't on the Wii will allow you to use them for GC games only.
Check my profile for up to date specs.
05-05-2019, 08:08 PM
I've struggled with this and while I'm not a dolphin expert maybe I can help. I don't have a solution (I need to figure out the USB read functions).
I've got 2 gc adapters - with Dolphin 5.0 and 5.0-10142, one works (old), and the other doesn't (new). Both are 3rd party adapters. The newer one works on the Nintendo Switch perfectly, but doesn't work in Dolphin. I think this is the same problem many people are facing. The old one doesn't have a toggle, and the new one has a toggle on the back (PC and NS/WIIU) - with the toggle set to NS/WIIU on the new one. In the log, both are detected (detach and insert working) with the correct IDs. From USB information 'lsusb -v' (working one) idVendor 0x057e Nintendo Co., Ltd idProduct 0x0337 Wii U GameCube Controller Adapter bcdDevice 1.00 iManufacturer 1 Nintendo iProduct 2 WUP-028 iSerial 3 15/07/2014 'lsusb -v' (not working one) idVendor 0x057e Nintendo Co., Ltd idProduct 0x0337 Wii U GameCube Controller Adapter bcdDevice 1.00 iManufacturer 1 Nintendo iProduct 2 GameCube For Switch iSerial 3 GH-GC-001 T8 (Product and Serial are different - but none of these are used in the code) I built from source on Linux 5.0-10142 and tried a few experiments. I'm not familiar with the code that much, but it looks like it cannot read data from libusb_interrupt_transfer on the newer adapter. In GCAdapter.cpp it fails in function "GCPadStatus Input(int chan)" which is reading the bytes from the Read thread "std::thread s_adapter_input_thread;" The payload size is 0 on the non-working one, and 37 on the working one; the working one has the first byte is LIBUSB_DT_HID (but the non-working one has nothing from the buffer being sizeof 0). Both adapters seem to have all the other usb functions work, except for this Read. Anyone have any ideas to try to kludge libusb_interrupt_transfer ? 05-06-2019, 12:32 AM
More frustrating news - hacking around with the timings in GCAdapter.cpp - no luck.
The return from the usb /** Operation timed out */ LIBUSB_ERROR_TIMEOUT = -7 "s_usb_transfer_ret = libusb_interrupt_transfer(s_handle, s_endpoint_in, s_controller_payload_swap, sizeof(s_controller_payload_swap), &payload_size, 16);" I tried increasing it to 100ms with same result. Changing to unlimited timeout (val = 0) gets a /** No such device (it may have been disconnected) */ LIBUSB_ERROR_NO_DEVICE = -4, "s_usb_transfer_ret = libusb_interrupt_transfer(s_handle, s_endpoint_in, s_controller_payload_swap, sizeof(s_controller_payload_swap), &payload_size, 0);" |
« Next Oldest | Next Newest »
|
Users browsing this thread: 1 Guest(s)