Subject: Re: kern/30554: The ParaParaParadise USB controller needs special
To: None <gnats-bugs@netbsd.org>
From: Lennart Augustsson <lennart@augustsson.net>
List: netbsd-bugs
Date: 07/04/2005 03:31:51
Yes, I think you're right. It's going out again!
Dave Sainty wrote:
> The following reply was made to PR kern/30554; it has been noted by GNATS.
>
> From: Dave Sainty <dave@dtsp.co.nz>
> To: gnats-bugs@netbsd.org, augustss@netbsd.org
> Cc: kern-bug-people@netbsd.org, gnats-admin@netbsd.org,
> netbsd-bugs@netbsd.org, dave@dtsp.co.nz
> Subject: Re: kern/30554: The ParaParaParadise USB controller needs special handling in uhid(4)
> Date: Sat, 02 Jul 2005 20:30:53 +1200
>
> svs+pr@grep.ru writes:
>
> > >Number: 30554
> > >Category: kern
> > >Synopsis: The ParaParaParadise USB controller needs special handling in uhid(4)
> > >Confidential: no
> > >Severity: non-critical
> > >Priority: low
> > >Responsible: kern-bug-people
> > >State: open
> > >Class: change-request
> > >Submitter-Id: net
> > >Arrival-Date: Sun Jun 19 01:50:00 +0000 2005
> > >Originator: Sergey Svishchev
> > >Release: 3.99.3
> > >Organization:
> > >Environment:
> > >Description:
> > The ParaParaParadise controller is a perfectly normal USB HID device with just one quirk -- it needs to be 'woken up' before it will send input reports. It was sold with Konami game for PlayStation2 and the game; there are at least two game simulators out there (pydance and stepmania) that could use this controller, too. Before now, the wake-up method was not known -- see, e.g., http://icculus.org/pyddr/manual.php#install.mat.ppp; it was really easy to discover, though ("usbhidctl -r" shows a feature report with really intriguing name of "LEDs:On-Line" :-)
> > >How-To-Repeat:
> >
> > >Fix:
> > --- sys/dev/usb/uhidev.c 27 Feb 2005 00:27:51 -0000 1.24
> > +++ sys/dev/usb/uhidev.c 16 Jun 2005 17:45:34 -0000
> > @@ -211,6 +211,19 @@
> > USB_ATTACH_ERROR_RETURN;
> > }
> >
> > + if (uaa->vendor == USB_VENDOR_HOSIDEN &&
> > + uaa->product == USB_PRODUCT_HOSIDEN_PPP) {
> > + static uByte reportbuf[] = {1};
> > + /*
> > + * This device was sold by Konami with its ParaParaParadise
> > + * game for PlayStation2. It needs to be "turned on"
> > + * before it will send any reports.
> > + */
> > +
> > + usbd_set_report(uaa->iface, UHID_FEATURE_REPORT, 0,
> > + &reportbuf, sizeof reportbuf);
> > + }
> > +
> > sc->sc_repdesc = desc;
> > sc->sc_repdesc_size = size;
>
> Is this really necessary? Couldn't you just do this from userland
> with something like:
>
> usbhidctl -f /dev/uhidXXX -w LEDs:On-Line=1
>
> ???
>
>