lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220516090829.GA20623@elementary>
Date:   Mon, 16 May 2022 11:08:29 +0200
From:   José Expósito <jose.exposito89@...il.com>
To:     Stefan Berzl <stefanberzl@...il.com>
Cc:     jikos@...nel.org, benjamin.tissoires@...hat.com, spbnick@...il.com,
        linux-input@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: Status on hid xppen patch

Hi Stefan,

On Fri, May 13, 2022 at 07:22:49PM +0200, Stefan Berzl wrote:
> Hello José,
> 
> > The tablets are the Deco Mini 4 and the Deco L, both of them are UGEE
> > tablets. I already had a UGEE Parblo A610 Pro tablet and after having a
> > look to the Windows driver traffic, I found out that after sending a
> > chunk of magic data to enable the tablet, it requests a string
> > descriptor ("uclogic_params_get_str_desc" can be used here) and the
> > tablets respond with their parameters.
> > 
> > The information is encoded, in bytes, as:
> > 
> >  02 + 03 - UCLOGIC_RDESC_PEN_PH_ID_X_LM
> >  04 + 05 - UCLOGIC_RDESC_PEN_PH_ID_Y_LM
> >  06      - Number of buttons
> >  07      - Dial present or not
> >  08 + 09 - UCLOGIC_RDESC_PEN_PH_ID_PRESSURE_LM
> >  10 + 11 - Resolution
> > 
> > Bytes 12 and 13 are present but set to 0, probably indicating my
> > tablets are lacking some feature.
> > 
> > Could you confirm that your tablet returns similar information, please?
> 
> yes, you can haz string descriptor:
> 0e 03 0b 8b cb 56 08 00 ff 1f d8 13
> 
> Byte 12 are 13 are set and zero, as in your case.

Sweet, that means that we are on the right track and the implementation
can be generic... Meaning that we won't need to write and maintain a
bunch of HID descriptors :)
 
> > In case you want to have a look to the implementation, I'm working on
> > this branch:
> > https://github.com/JoseExposito/linux/commits/patch-xppen-deco-l
> > 
> > I had to introduce new functionalities to the templating system of the
> > driver, that's the reason for the KUnit tests.
> > The last patch is work in progress (hopefully I'll have time to finish
> > it this weekend), only the HID descriptors are missing.
> 
> I hope you make it, but otherwise you can always use mine, as it's quite
> the same as yours. Only the logical minimum and maximum are -60 and 60.

You are right, 60 and not 127 is the right value. Actually, I think
that -61 - 60 is the correct range, because of the 0.
Running "libinput-debug-tablet" makes it easier to debug.

I also had to fix the descriptor to avoid an issue with the pressure
causing issues with the Deco L, but other than that, it should be
correct now.

> > I'll cc you when in the patchset so you can add your IDs :)
> 
> Is that all you want me to do?

Code comments and suggestions are very welcome, as well as testing.

Also, I don't know if you have seen this error after connecting the
tablet:

  xhci_hcd 0000:2a:00.3: WARN urb submitted to disabled ep
  usb 3-2: reset full-speed USB device number 6 using xhci_hcd
  usb 3-2: reset full-speed USB device number 6 using xhci_hcd
  [...]

It happens with the Deco Mini 4, even when using the hid-generic
driver. I need to rebase my patches on 5.19 and test again, just to
make sure the problem is not somewhere else.

Jose

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ