-
Notifications
You must be signed in to change notification settings - Fork 175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for XP-Pen Artist Pro 12 #351
Comments
Same state as @Alex-PK ... How to make this graphical tablet all working ? |
Tablet diagnostic : lsusb : T=28bd:091f USB descriptors : uclogic-probe : (which ends with a "Failed to get string descriptor 0xC8: Input/Output Error" ???) I tried to adapt things with #291 but without any success... I lack guidelines to make all this tablet all work... :-( |
If you think this tablet behaves identically to the 15.6 Pro you can just add the USB ids to hid-ids |
Thanks for your answer. I will give it a try as soon as possible with details (to see at what step things go wrong if Murphys Laws are true ;-) ). Must I start with https://github.com/Korvox/digimend-kernel-drivers or https://github.com/underdoeg/digimend-kernel-drivers or another ? |
Hello @Korvox Here are my steps. If you have time to look if things are normal or stranges... Thanks !
After
Added
(it's not 0x1227 because lsusb shows
Changed
Into
After
Added
For example :
And
The alias to my tablet is present.
so no difference... No hid_uclogic loaded. I think that the old hid-uclogic takes over my new one. When I type
And
If I approach the stylus of the tablet, it works and
@Korvox : do you think that all is normal until there ? Steps 6-7. seem to be really strange... I will try to load wacom driver in Xorg after if nothing it's wrong... but I think there is a problem with steps 6-7. |
Doing dkms install on Arch with the upstream sources names the modules differently (drivers/hid vs drivers/extra). Use the AUR package digimend-kernel-drivers-dkms-git and change its source to your local fork. It sounds like the make variant might not be installing depmod properly. |
Thanks ! There is the same problem with the AUR package and I think it comes form the content of dkms.conf. I think that the following lines in dkms.conf are bad :
I will make more tests when I will have time again... I cross my fingers... |
I had a similar problem, and it seems that From: |
@nic3-14159 Ok. I tried changing dkms.conf and the modinfo is ok now but your way is cleaner may be. I will go on your way to see... |
Hello @Korvox Here are my new steps...
Added a new thing before the 6. step (no need to do the two ways at the same time and I don't know exactly which is the greatest way but each ways is ok) :
Changed
To
Changed
To
The alias to my tablet is present.
so now, hid_uclogic is loaded. Great !!! And
If I approach the stylus of the tablet, it's not the same thing like before. No problem for the HDMI display : it works after a
If I select the Pen with 22 choice, it gives
and nothing is catched when I play with the pen or the pad buttons. If I select the Pen with 22 choice, it gives
and also nothing is catched when I play with the pen or the pad buttons.
Here is the output of
The last line with input irq status -75 repeated many many many times... It's made each I time I played with stylus or pad buttons... :-( These messages disappeared after disconnecting/reconnecting the tablet but stylus and pad buttons still doesn't work. So, something is wrong... "Zut !" (as we say in french). If you have ideas to progress on this... Thanks ! |
I don't know if it's useful but I read these rdesc in
|
Tried to adapt I don't know how to proceed to debug this. 😞 |
Logs in journalctl in debug mode for hid_uclogic module without changing rdesc content (so using Artist 15.6 Pro rdesc for my Artist 12 Pro rdesc) and on connection : After this, only this concerning the tablet with xinput :
For evtest, only these :
and nothing detected in events on 22 and 23 device... :-( Note : I saw with wireshark the same thing written in #286 (comment) about init packet for example (same values...). @Korvox If one day you have time to help (or to give guidelines to debug like you did for your tablet)... I really think that these tablets are close when I read your messages about 15.6 Pro... |
Another day on this tablet and still the hell... :-( I don't understand where it goes wrong. Using the Artist 15.6 Pro rdesc of Korvox, I get this with
but evtest doesn't react... It gives with Pen input no more things than the following :
How can I debug this ??? |
Might point you in the right direction to know that I figured out the a156p had an "activation" protocol via recording how the Windows driver handled init and by From your report descriptors it looks like the 12 is nothing like the 15.6 - this interface rdesc from the a156p refers to the acitvation interface that advertises basically a garbage rdesc because it requires a special packet to switch the device mode:
Your rdescs are all pretty standard - an emulated mouse, a pen without pad buttons, and a pen with the pad buttons. That would imply you don't need any of what I was doing - which is good. It makes your job easier in theory. I had to write wholly custom rdecs for an undescribed interface because the generic ones were broken. Your rdescs look like they describe a working pen and properly mapped buttons on |
Hello @Korvox I don't know if I understand all the things correctly and if my latest posts were clear.
With this situation, with hid-generic and without uc-logic, stylus position is detected but the upper button of the stylus doesn't work (seems to be interpreted as eraser button instead of middle mouse button) and the lower button is interpreted as middle mouse button (I preferred it to be the right mouse button). Pad/wheel buttons are not working and there is also the alignment problem mentionned in #286 (comment) .
Wireshark shows also the activation.
With this situation, with modified uc-logic,
and then, following messages are all with 12 bytes beginning with 02 on all stylus/pad actions :
So, here are some questions :
Thanks for help. |
I didn't get that you were just showing interfaces post-activation, but yes, looks like it needs it - you are getting back the parameters packet which means it works. The 02 leading byte on a usb packet is the interface identifier. Its meant for interface 2. If i0 and i1 are the mouse / keyboard / fallback interfaces then 02 is the one you activated. Those packets look comparable to the ones the a156p generates. Those irq -75s indicate some value isn't mapping from your inbound packets to your rdescs. hiddump reattaches the device so it would imply something in either init or the handling is off. Or maybe the hardware is just bad and can't handle renegotiation? It has happened elsewhere, albeit it should be very unlikely on a display tablet. It will probably just take double checking your work making sure incoming packets map to the rdescs properly. You seem to be able to get the packet data after activation which is 99% of the battle. If this does end up being generic across both tablets I'd be very interested in if we could find someone with the 22R Pro, 24 Pro, and / or 13.3 Pro to see if they all behave similarly. There doesn't look to be any diagnostics in the tablets db for any of them yet though to check against. I wouldn't put it past Xp-pen to be using the same digitizer across the whole product range though. From their website it looks like at least the 13.3 and 22R have all the same parameters and the use the same pen as the 15.6 and 12. If that is all the case, let me know when you are done and I'll rebase my branch off upstream and you can merge into my tree and we can try to get support for both tablets merged at once - having two devices with as many users as this patch series has seen is probably enough test coverage to start moving towards getting it all into the kernel proper. Edit: looking at the parts listing the frame buttons are the exact same part. The fact the interfaces are in a different order implies some hardware difference, but the rdescs really shouldn't be that different since its using the same digitizer and frame panel, just the controller is different. |
Hello @Korvox ! About activation, it seems that things are common for many xp-pen tablets (I saw it also for XP-PEN Star G430S_B - see links above). Well, I don't know how to solve the I forked your github and made changes you can see there (for the moment, things for artist 12 pro and 15.6 pro are common - using a case fall through - but I can separate them if necessary) : https://github.com/alfazaz/digimend-kernel-drivers I didn't changed rdescs. If you have ideas to help me solve my problems... What should I try ? Which tools to use and how ? Add-on : I didn't know if I should fork your github or another one... It seems that it is many commits behind digimend master. |
That irq means the incoming packets aren't mapping properly to the descriptors. You have the packets and you can get the descriptors XP-Pen is using on Windows via dumping tools there. In my case I just wrote it out by hand since I knew how the packets were formatted and often vendor descriptors are poorly written. A common gotcha is that the packets are little endian so multibyte numbers are least significant digit first. The USB site has the official spec for descriptors and the usage tables as PDFs if you want to actually know how they work and end up writing your own. In terms of usb packet format, here is what I wrote down for the packets on the 15.6 pro: |
Hello @Korvox I have time to work again on support for XP-Pen Artist 12 Pro. I restarted from your latest version for Artist 15.6 Pro (#291 (comment)) adding the Artist 12 Pro but... I still have same problems. It's not working (pen and pad not detected with hid_uclogic). I verified your 15.6 Pro rdesc and applied it to 12 Pro because I have exactly the same results as you in #286 (comment) : after activation (which works), packets are like this :
Any idea to help finding solution ? State of my work is here : Add-on : @Korvox , you said that you changed the name of It seems to be the case between Artist 12 Pro and Artist 15.6 Pro and something else is wrong but what ? |
I wrote to XP PEN to have help for linux kernel driver for their tablets... I'm waiting for an useful answer... |
No answer... I gave up until someone find a solution (I think it's only a detail I didn't find...). |
I too would like to see this as I have the same tablet but no. It would be nice to have left handed support and tilt. |
It won't help with the tilt but if you want GUI based left handed mode emulation on KDE I made a Tablet KCM that supports it. |
I there, Thank's for this helpful thread. I have the XP-Pen Artist Pro 13.3 and I'm facing the same issues with the keyboard. I tryed reusing the @Korvox fork without success. By the way I also found this fork and it seems that this can handle the pad on multiple XP Pen devices but unfortunately the 13.3 Pro model (and neither the 12 Pro) is defined here and I was not able to have a proper usage of my tablet with it. So like @alfazaz I gave up and I was a bit disappointed with the answer of XP Pen company because publishing a driver on their website made me understand that I could configure the buttons through their interfaces (they answers me "Après demande de confirmation auprès de mes collègues : le pilote pour Linux ne permet pas de modifier ces paramètres." which basicaly means that their interfaces are unable to configure anything ...) So I have quickly wrote a workaround to allow me to configure the xp pen keyboard buttons. If this can help while waiting for a better solution. |
@alfazaz @Quentin59000 Please try the code in my PR #557. #557 (comment) is the results of my tests on my 13.3 Pro. Let me know if my PR works for either of you. |
@kurikaesu I was disappointed and gave up on this project... and I was happy to test your #557 work and... Wouahou !!!!! Yes, it works on my 12 Pro !!!!!! Really, really many thanks ! Hope this will be committed "soon" in the kernel... |
Hi. I've read this from the OP:
and since I have to decide whether or not to buy an artist pro 12, I wanted to ask what the OP meant exactly. Thanks |
Currently nothing works out of the box with the digimend drivers as you need to pull my branch in order for the buttons to work but without any default bindings. Bindings need to be set with xsetwacom. You could alternatively try and use my userspace drivers here where I support the Artist Pro 12: https://github.com/kurikaesu/userspace-tablet-driver-daemon |
OK thanks. |
First of all: thank you all for your work!
I just got an XP-Pen Artist Pro 12, and it's working with the standard drivers, but the buttons are not configurable.
Please let me know if I can help in any way (collecting more data, testing patches, ...)
The text was updated successfully, but these errors were encountered: