Message ID | 20180523161740.zi6zylh2ki67keca@S-D-KUBUNTU (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Shelby, On Wed, May 23, 2018 at 09:17:40AM -0700, Shelby Jueden wrote: > Add the USB ID for the Hyperkin duke. > > There is an issue where the controller resets, which causes a rumble and > to display the animation, after ~40 seconds if no application is > currently reading from it. As an example, running jstest, steam, or any > game stops this. Once the application begins reading from it, a different > reset happens that displays the animation, does not rumble, and stops > the reset loop. But once the application is closed the issue starts > again. I am confused, the behavior you are describing happens with the dveice ID added to xpad driver? I guess similarly to Xbox360W controllers we need to start IO right away in probe for this controller. This needs to be fixed before we can get this new ID in. > > Signed-off-by: Shelby Jueden <shelby@jueden.org> > --- > drivers/input/joystick/xpad.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c > index 06e9650b3b30..04d21cfe1de5 100644 > --- a/drivers/input/joystick/xpad.c > +++ b/drivers/input/joystick/xpad.c > @@ -326,6 +326,7 @@ static const struct xpad_device { > { 0x24c6, 0x5b03, "Thrustmaster Ferrari 458 Racing Wheel", 0, XTYPE_XBOX360 }, > { 0x24c6, 0x5d04, "Razer Sabertooth", 0, XTYPE_XBOX360 }, > { 0x24c6, 0xfafe, "Rock Candy Gamepad for Xbox 360", 0, XTYPE_XBOX360 }, > + { 0x2e24, 0x0652, "Hyperkin Duke X-Box One pad", 0, XTYPE_XBOXONE }, > { 0x3767, 0x0101, "Fanatec Speedster 3 Forceshock Wheel", 0, XTYPE_XBOX }, > { 0xffff, 0xffff, "Chinese-made Xbox Controller", 0, XTYPE_XBOX }, > { 0x0000, 0x0000, "Generic X-Box pad", 0, XTYPE_UNKNOWN } > @@ -435,6 +436,7 @@ static const struct usb_device_id xpad_table[] = { > XPAD_XBOX360_VENDOR(0x1bad), /* Harminix Rock Band Guitar and Drums */ > XPAD_XBOX360_VENDOR(0x24c6), /* PowerA Controllers */ > XPAD_XBOXONE_VENDOR(0x24c6), /* PowerA Controllers */ > + XPAD_XBOXONE_VENDOR(0x2e24), /* Hyperkin Duke X-Box One pad */ > { } > }; > > -- > 2.14.1 > Thanks.
Yes, the restarting happens when the ID is added to the driver. Probing IO immediately sounds like it may be a good solution. I'm going to try and get familiar with the xpad driver so I can make the needed changes. I'm thinking the Xbox360W probing you mentioned happens around line 1822? Tomorrow I'm going to try to add something like that for this controller. On Thu, May 24, 2018 at 04:45:51PM -0700, Dmitry Torokhov wrote: > Hi Shelby, > > On Wed, May 23, 2018 at 09:17:40AM -0700, Shelby Jueden wrote: > > Add the USB ID for the Hyperkin duke. > > > > There is an issue where the controller resets, which causes a rumble and > > to display the animation, after ~40 seconds if no application is > > currently reading from it. As an example, running jstest, steam, or any > > game stops this. Once the application begins reading from it, a different > > reset happens that displays the animation, does not rumble, and stops > > the reset loop. But once the application is closed the issue starts > > again. > > I am confused, the behavior you are describing happens with the dveice > ID added to xpad driver? I guess similarly to Xbox360W controllers we > need to start IO right away in probe for this controller. > > This needs to be fixed before we can get this new ID in. > > > > > Signed-off-by: Shelby Jueden <shelby@jueden.org> > > --- > > drivers/input/joystick/xpad.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c > > index 06e9650b3b30..04d21cfe1de5 100644 > > --- a/drivers/input/joystick/xpad.c > > +++ b/drivers/input/joystick/xpad.c > > @@ -326,6 +326,7 @@ static const struct xpad_device { > > { 0x24c6, 0x5b03, "Thrustmaster Ferrari 458 Racing Wheel", 0, XTYPE_XBOX360 }, > > { 0x24c6, 0x5d04, "Razer Sabertooth", 0, XTYPE_XBOX360 }, > > { 0x24c6, 0xfafe, "Rock Candy Gamepad for Xbox 360", 0, XTYPE_XBOX360 }, > > + { 0x2e24, 0x0652, "Hyperkin Duke X-Box One pad", 0, XTYPE_XBOXONE }, > > { 0x3767, 0x0101, "Fanatec Speedster 3 Forceshock Wheel", 0, XTYPE_XBOX }, > > { 0xffff, 0xffff, "Chinese-made Xbox Controller", 0, XTYPE_XBOX }, > > { 0x0000, 0x0000, "Generic X-Box pad", 0, XTYPE_UNKNOWN } > > @@ -435,6 +436,7 @@ static const struct usb_device_id xpad_table[] = { > > XPAD_XBOX360_VENDOR(0x1bad), /* Harminix Rock Band Guitar and Drums */ > > XPAD_XBOX360_VENDOR(0x24c6), /* PowerA Controllers */ > > XPAD_XBOXONE_VENDOR(0x24c6), /* PowerA Controllers */ > > + XPAD_XBOXONE_VENDOR(0x2e24), /* Hyperkin Duke X-Box One pad */ > > { } > > }; > > > > -- > > 2.14.1 > > > > Thanks. > > -- > Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c index 06e9650b3b30..04d21cfe1de5 100644 --- a/drivers/input/joystick/xpad.c +++ b/drivers/input/joystick/xpad.c @@ -326,6 +326,7 @@ static const struct xpad_device { { 0x24c6, 0x5b03, "Thrustmaster Ferrari 458 Racing Wheel", 0, XTYPE_XBOX360 }, { 0x24c6, 0x5d04, "Razer Sabertooth", 0, XTYPE_XBOX360 }, { 0x24c6, 0xfafe, "Rock Candy Gamepad for Xbox 360", 0, XTYPE_XBOX360 }, + { 0x2e24, 0x0652, "Hyperkin Duke X-Box One pad", 0, XTYPE_XBOXONE }, { 0x3767, 0x0101, "Fanatec Speedster 3 Forceshock Wheel", 0, XTYPE_XBOX }, { 0xffff, 0xffff, "Chinese-made Xbox Controller", 0, XTYPE_XBOX }, { 0x0000, 0x0000, "Generic X-Box pad", 0, XTYPE_UNKNOWN } @@ -435,6 +436,7 @@ static const struct usb_device_id xpad_table[] = { XPAD_XBOX360_VENDOR(0x1bad), /* Harminix Rock Band Guitar and Drums */ XPAD_XBOX360_VENDOR(0x24c6), /* PowerA Controllers */ XPAD_XBOXONE_VENDOR(0x24c6), /* PowerA Controllers */ + XPAD_XBOXONE_VENDOR(0x2e24), /* Hyperkin Duke X-Box One pad */ { } };
Add the USB ID for the Hyperkin duke. There is an issue where the controller resets, which causes a rumble and to display the animation, after ~40 seconds if no application is currently reading from it. As an example, running jstest, steam, or any game stops this. Once the application begins reading from it, a different reset happens that displays the animation, does not rumble, and stops the reset loop. But once the application is closed the issue starts again. Signed-off-by: Shelby Jueden <shelby@jueden.org> --- drivers/input/joystick/xpad.c | 2 ++ 1 file changed, 2 insertions(+)