« Return to Thread: Graphire4 Pad Button freeze with 0.10.11.

Re: Graphire4 Pad Button freeze with 0.10.11.

by Jason G. :: Rate this Message:

| View in Thread

On Tue, May 31, 2011 at 12:43 PM, Chris Bagwell <chris@...> wrote:

> On Tue, May 31, 2011 at 1:28 PM, Jason Gerecke <killertofu@...> wrote:
>> On Sat, May 28, 2011 at 5:53 PM, Chris Bagwell <chris@...> wrote:
>>> On Sat, May 28, 2011 at 3:54 PM, Jason Gerecke <killertofu@...> wrote:
>>>> On Fri, May 27, 2011 at 9:11 PM, Chris Bagwell <chris@...> wrote:
>>>>> Hi Favux,
>>>>>
>>>>> For first bug report, it does sound same issue as I looked into a
>>>>> while back.  The kernel driver is mistakenly telling userland that the
>>>>> PAD device has gone out of proximity when you use pen.  From that
>>>>> point, buttons don't work.
>>>>>
>>>>> Something has changed in xf86-input-wacom that we must l trust kernel
>>>>> information more then we used to.  My personal preference is to fix
>>>>> the kernel to give us good info instead of reverting back to old
>>>>> xf86-input-wacom behavior.
>>>>>
>>>>> Maybe when Ping gets back next month we can have some progress.  Or
>>>>> hopefully we can find a user that doesn't mind hacking kernel drivers.
>>>>>  I can give tons of guidance on patch to implement (its like 3 lines
>>>>> for simple solution) but ultimately I can't push forward much more
>>>>> since I don't have the device.
>>>>>
>>>>> For second bug report (X server crash), I've no idea.  It sounds like
>>>>> its own issue.
>>>>>
>>>>> Chris
>>>>>
>>>>
>>>> Chris, I just happen to have a Graphire4 at home. If you have an idea
>>>> of where the bug may lie, I'd be happy to try patching up the kernel
>>>> code :)
>>>>
>>>> Jason
>>>>
>>>
>>> Cool.  I've attached the patch I think that is needed.  This is
>>> against Linus' git that was rebased at some random time in last month
>>> or two.
>>>
>>> Originally, I was going to give you a patch against input-wacom but it
>>> looks like that is  different compared to upstream for graphire.
>>> Specifically, it is correctly setting MSC_SERIAL when switching over
>>> to pen.
>>>
>>> That means input-wacom may be working with graphire4.  input-wacom is
>>> not ever sending BTN_TOOL_FINGER for some reason so if its not working
>>> then thats probably only change needed (add it back in to match
>>> kernel).
>>>
>>> Chris
>>>
>>
>> While I can confirm the bug under Ubuntu 11.04 64-bit
>> (2.6.38-8-generic), I can't under my 32-bit Arch Linux development
>> box. This was tested with the pre-installed "2.6.38-ARCH" kernel, as
>> well as the tarballs from kernel.org for 2.6.38.7 or 2.8.39 (with the
>> config from /proc/config used as the source). xf86-input-wacom was
>> from Git obviously :)
>>
>
> Strange.   Must be distro's backporting patches.
>
>> There is a similar bug under these kernels (multiple presses to the
>> same pad button don't work while pen is in prox -- you either have to
>> press another button before the first works again, or take the pen out
>> of prox to press buttons repeatedly).
>
> Yeah, that sounds about right for this bug.  When switching tools (PEN
> vs. PAD), we are not correctly changing serial # and that side affect
> can be seen a few different ways.
>
>>
>> I'll try setting up a build environment under my virtual Ubuntu box to
>> see what the official kernel sources do there.
>
> Since Graphire is generally stable, I look at git to see whats been
> changing.  Here is immediately interesting one.  Looks like a
> non-Tablet PC change snuck in this commit.
>
> commit ab687b18aa77aeda5472d9ea054bf92c45c49c0c
> Author: Ping Cheng <pingc@...>
> Date:   Mon Apr 5 23:07:41 2010 -0700
>
>    Input: wacom - streamline 2-finger touch support
>
>    Clean up 2-finger touch support. This still needs to be converted to
>    proper multi-touch protocol.
>
>    Signed-off-by: Ping Cheng <pingc@...>
>    Signed-off-by: Dmitry Torokhov <dtor@...>
>
> diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c
> index 950a81d..847fd01 100644
> --- a/drivers/input/tablet/wacom_wac.c
> +++ b/drivers/input/tablet/wacom_wac.c
> @@ -236,13 +236,12 @@ static int wacom_graphire_irq(struct wacom_wac *wacom)
>                        rw = ((data[7] & 0x18) >> 3) - ((data[7] & 0x20) >> 3);
>                        input_report_rel(input, REL_WHEEL, rw);
>                        input_report_key(input, BTN_TOOL_FINGER, 0xf0);
> -                       input_report_abs(input, ABS_MISC, wacom->id[1]);
>                        if (!prox)
>                                wacom->id[1] = 0;
>                        input_report_abs(input, ABS_MISC, wacom->id[1]);
>                        input_event(input, EV_MSC, MSC_SERIAL, 0xf0);
> +                       retval = 1;
>                }
> -               retval = 1;
>                break;
>
>
> There more in that patch but just wanted to show the part about
> ABS_MISC being removed.
>
> Here is my original email ton linuxwacom-devel to describe gist of
> problem.  It contains reference to why removing that above ABS_MISC
> may have side affect of fixing graphire issue.
>
> http://sourceforge.net/mailarchive/message.php?msg_id=27202503
>
> I prefer my patch I included in this thread alaready for its
> correctness but I think above happens to make things squeak by.
>
> Chris
>

Looks like your patch works when applied to the ubuntu-natty git tree.
Buttons continue to work flawlessly after pen enters and exits
proximity. I haven't yet tested to see if your patch fixes the related
bug I was seeing on my development box, but I'll get around to that
soon(-ish).

Jason

---
Day xee-nee-svsh duu-'ushtlh-ts'it;
nuu-wee-ya' duu-xan' 'vm-nvshtlh-ts'it.
Huu-chan xuu naa~-gha.

------------------------------------------------------------------------------
Simplify data backup and recovery for your virtual environment with vRanger.
Installation's a snap, and flexible recovery options mean your data is safe,
secure and there when you need it. Data protection magic?
Nope - It's vRanger. Get your free trial download today.
http://p.sf.net/sfu/quest-sfdev2dev
_______________________________________________
Linuxwacom-discuss mailing list
Linuxwacom-discuss@...
https://lists.sourceforge.net/lists/listinfo/linuxwacom-discuss

 « Return to Thread: Graphire4 Pad Button freeze with 0.10.11.