Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Feb 2008 20:39:00 +0000
From:      Jase Thew <bazerka@beardz.net>
To:        bazerka@beardz.net
Cc:        Dominic Fandrey <kamikaze@bsdforen.de>, Oliver Herold <oliver@akephalos.de>, imp@freebsd.org, John Baldwin <jhb@freebsd.org>, freebsd-stable@freebsd.org
Subject:   Re: FreeBSD 7, Razer Copperhead mouse patch
Message-ID:  <47C71BE4.6070100@beardz.net>
In-Reply-To: <47C715EC.9020603@beardz.net>
References:  <20080223120658.GA30178@asgard.home>	<47C082E9.5000608@bsdforen.de>	<200802271641.42450.jhb@freebsd.org>	<47C712D2.3040302@beardz.net> <47C715EC.9020603@beardz.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Jase Thew wrote:
> Jase Thew wrote:
>> John Baldwin wrote:
>>> On Saturday 23 February 2008 03:32:41 pm Dominic Fandrey wrote:
>>>> Oliver Herold wrote:
>>>>> Hi
>>>>>
>>>>> the Razer Copperhead mouse did work in FreeBSD 7 (current) for a long
>>>>> time, but after some period it stopped working. This patch from Uwe
>>>>> Grohnwaldt:
>>>>>
>>>>> http://www.freebsd.org/cgi/query-pr.cgi?pr=usb/118670
>>>>>
>>>>> fixes this wrong behaviour (it's detected as keyboard) and makes the
>>>>> mouse work in FreeBSD 7 again. Would be imho a nice addition for 
>>>>> RELENG_7 (stable) or even Release.
>>>>>
>>>>> Cheers, Oliver
>>>> Being a Razer fan and user I totally agree.
>>> Can you try this patch instead?
>>>
>>> Index: ums.c
>>> ===================================================================
>>> RCS file: /usr/cvs/src/sys/dev/usb/ums.c,v
>>> retrieving revision 1.97
>>> diff -u -r1.97 ums.c
>>> --- ums.c	26 Dec 2007 14:31:16 -0000	1.97
>>> +++ ums.c	27 Feb 2008 21:40:48 -0000
>>> @@ -198,7 +198,10 @@
>>>  	if (err)
>>>  		return (UMATCH_NONE);
>>>  
>>> -	if (id->bInterfaceClass == UICLASS_HID &&
>>> +	if (hid_is_collection(desc, size,
>>> +			      HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_MOUSE)))
>>> +		ret = UMATCH_IFACECLASS;
>>> +	else if (id->bInterfaceClass == UICLASS_HID &&
>>>  	    id->bInterfaceSubClass == UISUBCLASS_BOOT &&
>>>  	    id->bInterfaceProtocol == UIPROTO_MOUSE)
>>>  		ret = UMATCH_IFACECLASS;
>>>
>> Hi,
>>
>> Out of curiosity, what was wrong with the way I did it in my patch?
>>
>> Regards,
>>
>> Jase.
>> _______________________________________________
> 
> Ah, I see John has described why in the PR.
> 
> As the hid collection test doesn't seem to be working fully, what would 
> be the downside of testing the descriptor directly but removing the 
> SubClass test, as the spec defines only two available values - 1 for 
> using Boot Protocol and 2 for Unknown.
> 
> As we can't test for a SubClass of 0 (due to the reason you mention 
> above), removing the SubClass test will reintroduce full support for 
> mice that report as not using boot protocol (such as the various Razor 
> mice).
> 
> Regards,
> 
> Jase.
> 

Doh.

I misread the John's comment in the PR the first time around. In light 
of what John mentions about the Protocol and SubClass, the suggestion 
above makes no sense and can be safely ignored :)

Regards,

Jase.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47C71BE4.6070100>