doc:appunti:hardware:gamepad_dragonrise_eg_starts
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| doc:appunti:hardware:gamepad_dragonrise_eg_starts [2022/07/01 14:09] – niccolo | doc:appunti:hardware:gamepad_dragonrise_eg_starts [2022/07/01 14:41] (current) – [Problems with GNU/Linux: disconnect loop] niccolo | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| {{ eg-starts.jpg? | {{ eg-starts.jpg? | ||
| - | **EG STARTS** is a cheap (10 € in June 2022) circuit to connect a **joystick and buttons** to a PC via the **USB interface**. It is often used to build arcade-style consoles for retrogaming using the MAME software or alike, it is supported by the **GNU/ | + | The **EG STARTS** is a cheap (10 € in June 2022) circuit to connect a **joystick and buttons** to a PC via the **USB interface**. It is often used to build arcade-style consoles for retrogaming using the MAME software or alike, it is supported by the **GNU/ |
| - | ===== Problems with recent | + | ===== Problems with GNU/Linux: disconnect loop ===== |
| - | My first attempt to connect the EG STARTS to a **Raspberry Pi** running the operating system based on **Debian 11 Bullseye** was a total failure. The kernel started an **infinite loop** | + | My first attempt to connect the EG STARTS to a **Raspberry Pi** running the operating system based on **Debian 11 Bullseye** was a total failure. The kernel started an **infinite loop** |
| < | < | ||
| + | usb 2-1.2: new low speed USB device using ehci_hcd and address 7 | ||
| + | usb 2-1.2: New USB device found, idVendor=0079, | ||
| + | usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 | ||
| + | usb 2-1.2: Product: Generic | ||
| + | usb 2-1.2: Manufacturer: | ||
| + | usb 2-1.2: configuration #1 chosen from 1 choice | ||
| + | input: DragonRise inc. | ||
| + | as / | ||
| + | dragonrise 0003: | ||
| + | [DragonRise inc. | ||
| + | dragonrise 0003: | ||
| + | by Richard Walmsley < | ||
| + | usb 2-1.2: USB disconnect, address 7 | ||
| </ | </ | ||
| that loop was revealed also by the red **LED** on the interface **blinking** continously. | that loop was revealed also by the red **LED** on the interface **blinking** continously. | ||
| + | The problem occurred too using different GNU/Linux distributions: | ||
| + | |||
| + | Running an old **2.6** version, the driver (named **hid_drff**) was stable enough to be able to read some input events from the device. | ||
| + | |||
| + | Fortunately I found a workaround for this problem in these posts: | ||
| + | |||
| + | * **[[https:// | ||
| + | * **[[https:// | ||
| + | |||
| + | It seems that the problem is caused by the driver that continously does a **buffer overflows if it is not always polled** for events. In that cases the Linux kernel offers a workaround; just add the following option on the **kernel command line**: | ||
| + | |||
| + | < | ||
| + | usbhid.quirks=0x0079: | ||
| + | </ | ||
| + | In Debian and derived, just add that option into **/ | ||
| + | |||
| + | < | ||
| + | Bus 002 Device 009: ID 0079:0006 DragonRise Inc. Generic USB Joystick | ||
| + | </ | ||
| + | |||
| + | The bit mask 0x00000400 activates **HID_QUIRK_ALWAYS_POLL**. | ||
doc/appunti/hardware/gamepad_dragonrise_eg_starts.1656677366.txt.gz · Last modified: by niccolo
