linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nikolai Kondrashov <spbnick@gmail.com>
To: "José Expósito" <jose.exposito89@gmail.com>
Cc: jikos@kernel.org, benjamin.tissoires@redhat.com,
	linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC] UCLogic: Filtering unsupported HUION tablets
Date: Tue, 19 Jul 2022 12:57:09 +0300	[thread overview]
Message-ID: <5d4ef0df-083f-a00e-fb41-1ce1df6e9473@gmail.com> (raw)
In-Reply-To: <20220718172953.6817-1-jose.exposito89@gmail.com>

Hi José,

First of all, thanks a lot for all the work you're doing with the tablets!

Yes, this situation is unfortunate, but there's really not much we could do.
The tablet database at http://digimend.github.io/tablets/ hasn't been updated 
in ages, and it has never been exhaustive to start with.

There are tons of tablet modifications, including of the same (marketed) 
model, and those can differ not only in the reported name, but probably even 
the VID:PID, as could've happened when Huion switched from v1 to v2 protocol.

So, I think a "whitelist" would be a maintenance nightmare.

Moreover, I think it's better to disable the tablet completely in case we 
failed initialization (e.g. got an invalid response to configuration, or 
failed to find some interfaces and such), after producing a comprehensive 
error message. Configuring a tablet partially, and then handing it over to the 
generic driver could mess things up more.

It's less confusing for the user, and stops them from trying to fix the 
problem up the stack with various settings, often getting into a worse 
situation. It's also much easier for the maintainer, since they don't need to 
investigate all the higher layers.

A "blacklist" would work better here, if you can find the tablets to include.

Nick

On 7/18/22 20:29, José Expósito wrote:
> Hi!
> 
> No code yet, just a kind request for comments and hopefully some wisdom
> and experience from Nikolai dealing with HUION devices.
> 
> HUION keeps reusing the same vendor and product IDs for their devices.
> This makes it really difficult to differentiate between devices and
> handle them in the kernel and also in user space.
> 
> Reusing IDs could introduce a problem:
> 
> If HUION, or other vendor following the same practices, releases a new
> tablet with a duplicated product ID, the UCLogic driver would handle it.
> The device might work with the existing code or it might fail because of
> a new feature or a whole different firmware.
> 
> As far as I know, at the moment there is not a mechanism in place to
> avoid this situation.
> I think that it'd be better to ignore those devices in UCLogic and let
> the HID generic driver handle them because using HID generic would
> provide a basic user experience while using UCLogic might fail to probe
> the tablet.
> 
> DIGImend's web already provides a nice list of supported devices:
> http://digimend.github.io/tablets/
> 
> So, I wonder:
> 
>   - Do you think it makes sense to ignore untested devices?
>   - If the answer is yes, do we have a better option than checking the
>     device name against an allow-list? It'd be great to hear other
>     people's ideas.
> 
> Best wishes,
> José Expósito
> 


  reply	other threads:[~2022-07-19  9:57 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-18 17:29 [RFC] UCLogic: Filtering unsupported HUION tablets José Expósito
2022-07-19  9:57 ` Nikolai Kondrashov [this message]
2022-07-20 17:36   ` José Expósito
2022-07-20 17:45     ` Nikolai Kondrashov
2022-07-20 17:54       ` José Expósito
2022-07-20 18:13         ` Nikolai Kondrashov
2022-07-24 11:05           ` José Expósito
2022-08-08  7:44             ` Nikolai Kondrashov
2022-08-08 16:15               ` José Expósito
2022-07-21  9:39 ` Bastien Nocera
2022-07-24 11:14   ` José Expósito

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5d4ef0df-083f-a00e-fb41-1ce1df6e9473@gmail.com \
    --to=spbnick@gmail.com \
    --cc=benjamin.tissoires@redhat.com \
    --cc=jikos@kernel.org \
    --cc=jose.exposito89@gmail.com \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).