DIGImend / digimend-kernel-drivers

DIGImend graphics tablet drivers for the Linux kernel
GNU General Public License v2.0
1.16k stars 173 forks source link

Gaomon M106K tablet #120

Open BrunoVernay opened 6 years ago

BrunoVernay commented 6 years ago

Yes, it has been done: https://github.com/DIGImend/digimend-kernel-drivers/pull/85 ... just not integrated (merged) yet. Indeed, it does not appear in the release notes v7, nor in the Tablet list on the web site.

BUT: You can get the repo from https://github.com/anpaza/digimend-kernel-drivers and install from source.

I get some errors (but it works):

make -C /lib/modules/4.15.3-300.fc27.x86_64/build SUBDIRS=/srv/data/dev/zdev/digimend-kernel-drivers-master modules_install
make[1]: Entering directory '/usr/src/kernels/4.15.3-300.fc27.x86_64'
  INSTALL /srv/data/dev/zdev/digimend-kernel-drivers-master/hid-kye.ko
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:74
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:81
sign-file: certs/signing_key.pem: No such file or directory
  INSTALL /srv/data/dev/zdev/digimend-kernel-drivers-master/hid-polostar.ko
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:74
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:81
sign-file: certs/signing_key.pem: No such file or directory
  INSTALL /srv/data/dev/zdev/digimend-kernel-drivers-master/hid-uclogic.ko
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:74
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:81
sign-file: certs/signing_key.pem: No such file or directory
  INSTALL /srv/data/dev/zdev/digimend-kernel-drivers-master/hid-viewsonic.ko
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:74
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:81
sign-file: certs/signing_key.pem: No such file or directory
  DEPMOD  4.15.3-300.fc27.x86_64
make[1]: Leaving directory '/usr/src/kernels/4.15.3-300.fc27.x86_64'
install -D -m 0644 digimend.conf /etc/depmod.d/digimend.conf
depmod -a
install hid-rebind /sbin/hid-rebind
install -m 0644 90-hid-rebind.rules /lib/udev/rules.d/90-hid-rebind.rules
udevadm control --reload

I use a Fedora 27, I have to sign the drivers:

# https://gorka.eguileor.com/vbox-vmware-in-secureboot-linux-2016-update/
# https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-signing-kernel-modules-for-secure-boot

for f in $(dirname $(modinfo -n hid-kye))/*.ko; do 
    echo "Signing $f"; 
    sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 your.priv your.der $f;
done

Don't even need to reboot.

It might not be an "issue", but I spent 2 hours before realizing that the pull request was closed, but not yet merged ...

kolijoker commented 6 years ago

I'm sorry, I'm using 17.10 and this is not work for my M106K, can you help me with it somehow, please?

kolijoker commented 6 years ago

I found that my M106K is not listed in the evtest

kolijoker@kolijoker-Lenovo-Y520-15IKBN:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 5986:06b0 Acer, Inc 
Bus 001 Device 018: ID 256c:006e  
Bus 001 Device 004: ID 0bda:0821 Realtek Semiconductor Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
kolijoker@kolijoker-Lenovo-Y520-15IKBN:~$ sudo usbhid-dump -es -m 256c:006e
[sudo] пароль для kolijoker: 
Starting dumping interrupt transfer stream
with 1 minute timeout.

001:018:001:STREAM             1519605285.826240
 0A C0 A3 5E D9 22 00 00

001:018:001:STREAM             1519605285.830427
 0A C0 A8 3A B4 36 00 00

root@kolijoker-Lenovo-Y520-15IKBN:/sys/kernel/debug/hid/0003:256C:006E.001B# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:  Lid Switch
/dev/input/event1:  Power Button
/dev/input/event2:  Power Button
/dev/input/event3:  AT Translated Set 2 keyboard
/dev/input/event4:  Video Bus
/dev/input/event5:  Video Bus
/dev/input/event6:  SynPS/2 Synaptics TouchPad
/dev/input/event7:  Ideapad extra buttons
/dev/input/event8:  EasyCamera: EasyCamera
/dev/input/event9:  HDA Intel PCH Mic
/dev/input/event10: HDA Intel PCH Headphone
/dev/input/event11: HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event12: HDA Intel PCH HDMI/DP,pcm=7
/dev/input/event13: HDA Intel PCH HDMI/DP,pcm=8
/dev/input/event14: HDA Intel PCH HDMI/DP,pcm=9
/dev/input/event15: HDA Intel PCH HDMI/DP,pcm=10
Select the device event number [0-15]: ^C

UPD, also found, that device detecting as "Bus 001 Device 030: ID 0416:a316 Winbond Electronics Corp." during a first few seconds after usb connected, then changing to "Bus 001 Device 031: ID 256c:006e" This is what showing the evtest during this first few seconds. "NUVOTON WPM USB" appear

root@kolijoker-Lenovo-Y520-15IKBN:~# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:  Lid Switch
/dev/input/event1:  Power Button
/dev/input/event2:  Power Button
/dev/input/event3:  AT Translated Set 2 keyboard
/dev/input/event4:  Video Bus
/dev/input/event5:  Video Bus
/dev/input/event6:  SynPS/2 Synaptics TouchPad
/dev/input/event7:  Ideapad extra buttons
/dev/input/event8:  EasyCamera: EasyCamera
/dev/input/event9:  HDA Intel PCH Mic
/dev/input/event10: HDA Intel PCH Headphone
/dev/input/event11: HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event12: HDA Intel PCH HDMI/DP,pcm=7
/dev/input/event13: HDA Intel PCH HDMI/DP,pcm=8
/dev/input/event14: HDA Intel PCH HDMI/DP,pcm=9
/dev/input/event15: HDA Intel PCH HDMI/DP,pcm=10
/dev/input/event16: NUVOTON WPM USB
Select the device event number [0-16]: 16 
evtest: No such file or directory
BrunoVernay commented 6 years ago

You mean Ubuntu 17.10? In any case, until the pull request is merged and a new release is created v8 or more, you will have to build it from sources using this repo: https://github.com/anpaza/digimend-kernel-drivers Note that it stopped working on my side, I did not have time to investigate yet. (But I used Patreon to contribute.)

spbnick commented 6 years ago

Everyone concerned with this issue, you're welcome to join the new #DIGImend channel on irc.freenode.net, discuss this and other issues, and help each other! Come and say "Hi!"

danghai commented 6 years ago

Hello @BrunoVernay, @kolijoker , could you help me provide the information about your tablet in terms of descriptor, frame_buttons, pen_buttons, pen_coords, pen_pressure, pen_tilt, hid_report_descriptors for better support?

kolijoker commented 6 years ago

@danghai , I will provide everything you need, if you say what exactly I have to do. I'm not qualified in this field.

BrunoVernay commented 6 years ago

Also there are tons of outputs in issue #134 . and to me also, it is not clear which command would give the outputs you expect.

danghai commented 6 years ago

Hi @kolijoker @BrunoVernay I need some information about these command: http://digimend.github.io/support/howto/trbl/diagnostics/ http://digimend.github.io/support/howto/trbl/locating_failure/ Thanks

kolijoker commented 6 years ago

Hi @danghai , there is no pen_tilt in this tablet. And frame_buttons gives no output at all. lsusb: Bus 001 Device 006: ID 256c:006e discriptors.txt hid_report_descriptor.txt pen_buttons.txt pen_cords.txt pen_pressure.txt

danghai commented 6 years ago

@kolijoker Thanks, would you mind to provide your probe.txt? You can review the command from there: https://github.com/DIGImend/uclogic-tools to get information your probe. Thanks!

kolijoker commented 6 years ago

Hi @danghai probe.txt

Psikyd commented 5 years ago

Hi @danghai l think i may have the same issue as @kolijoker, is there any news about this problem ? Bus 003 Device 006: ID 256c:006e I have some issues with the pen pressure of my tablet and the frame buttons which gives no output. Thanks.

Flashwalker commented 5 years ago

Is there a case of drawing works fine on this tablet under Linux?

BrunoVernay commented 5 years ago

I have one, it used to work about a year ago, I tested it right now. Does not work at all, yet on a Fedora 29 updated. Does not work on the desktop nor in The Gimp. Here are the dmesg:

[ 1073.512795] usb 1-1: new full-speed USB device number 18 using xhci_hcd
[ 1073.639968] usb 1-1: config 1 has an invalid interface number: 1 but max is 0
[ 1073.639972] usb 1-1: config 1 has no interface number 0
[ 1073.640607] usb 1-1: New USB device found, idVendor=0416, idProduct=a316, bcdDevice= 0.00
[ 1073.640611] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1073.640614] usb 1-1: Product: WPM USB
[ 1073.640617] usb 1-1: Manufacturer: NUVOTON
[ 1073.643773] input: NUVOTON WPM USB as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.1/0003:0416:A316.0009/input/input25
[ 1073.696334] hid-generic 0003:0416:A316.0009: input,hidraw0: USB HID v1.10 Device [NUVOTON WPM USB] on usb-0000:00:14.0-1/input1
[ 1076.912599] usb 1-1: USB disconnect, device number 18
[ 1077.162835] usb 1-1: new full-speed USB device number 19 using xhci_hcd
[ 1077.322770] usb 1-1: New USB device found, idVendor=256c, idProduct=006e, bcdDevice= 0.00
[ 1077.322775] usb 1-1: New USB device strings: Mfr=5, Product=6, SerialNumber=0
[ 1077.331493] uclogic 0003:256C:006E.000A: device parameters not found
[ 1077.331496] uclogic 0003:256C:006E.000A: tablet enabling failed
[ 1077.335812] uclogic 0003:256C:006E.000B: No inputs registered, leaving
[ 1077.336058] uclogic 0003:256C:006E.000B: hidraw0: USB HID v1.11 Device [HID 256c:006e] on usb-0000:00:
BrunoVernay commented 5 years ago

lsusb first gives Bus 001 Device 020: ID 0416:a316 Winbond Electronics Corp. a few seconds after it is replaced by Bus 001 Device 021: ID 256c:006e

descriptors.txt hid_report_descriptors.txt frame_wheel_srolling.txt

sudo ls -l /sys/kernel/debug/hid
total 0
drwxr-xr-x. 2 root root 0  5 déc.  21:15 0003:256C:006E.0011
drwxr-xr-x. 2 root root 0  5 déc.  21:15 0003:256C:006E.0012
BrunoVernay commented 5 years ago

Not sure if it is legit, but I have a

cat /lib/udev/rules.d/90-hid-rebind.rules
SUBSYSTEM=="hid", ACTION=="add", ENV{HID_ID}=="0003:0000099A:00002620", \
    RUN+="/sbin/hid-rebind"
SUBSYSTEM=="hid", ACTION=="add", ENV{HID_ID}=="0003:0000256C:*", \
    RUN+="/sbin/hid-rebind"
SUBSYSTEM=="hid", ACTION=="add", ENV{HID_ID}=="0003:00005543:*", \
    RUN+="/sbin/hid-rebind"
SUBSYSTEM=="hid", ACTION=="add", ENV{HID_ID}=="0003:00000458:*", \
    RUN+="/sbin/hid-rebind"
SUBSYSTEM=="hid", ACTION=="add", ENV{HID_ID}=="0003:00002179:*", \
    RUN+="/sbin/hid-rebind"
SUBSYSTEM=="hid", ACTION=="add", ENV{HID_ID}=="0003:000028BD:*", \
    RUN+="/sbin/hid-rebind"
SUBSYSTEM=="hid", ACTION=="add", ENV{HID_ID}=="0003:00000543:0000E621", \
    RUN+="/sbin/hid-rebind"
SUBSYSTEM=="hid", ACTION=="add", ENV{HID_ID}=="0003:00002133:00000018", \
    RUN+="/sbin/hid-rebind"

I deleted it, rebooted, same result:

[  260.263139] usb 1-5: new full-speed USB device number 5 using xhci_hcd
[  260.390100] usb 1-5: config 1 has an invalid interface number: 1 but max is 0
[  260.390105] usb 1-5: config 1 has no interface number 0
[  260.390705] usb 1-5: New USB device found, idVendor=0416, idProduct=a316, bcdDevice= 0.00
[  260.390709] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  260.390712] usb 1-5: Product: WPM USB
[  260.390714] usb 1-5: Manufacturer: NUVOTON
[  260.394226] input: NUVOTON WPM USB as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.1/0003:0416:A316.0001/input/input20
[  260.447064] hid-generic 0003:0416:A316.0001: input,hidraw0: USB HID v1.10 Device [NUVOTON WPM USB] on usb-0000:00:14.0-5/input1
[  263.664050] usb 1-5: USB disconnect, device number 5
[  263.938158] usb 1-5: new full-speed USB device number 6 using xhci_hcd
[  264.098790] usb 1-5: New USB device found, idVendor=256c, idProduct=006e, bcdDevice= 0.00
[  264.098796] usb 1-5: New USB device strings: Mfr=5, Product=6, SerialNumber=0
[  264.131056] uclogic 0003:256C:006E.0002: device parameters not found
[  264.131057] uclogic 0003:256C:006E.0002: tablet enabling failed
[  264.131149] uclogic 0003:256C:006E.0003: No inputs registered, leaving
[  264.131294] uclogic 0003:256C:006E.0003: hidraw0: USB HID v1.11 Device [HID 256c:006e] on usb-0000:00:14.0-5/input1

And here is the "probe"

 c8 |        Params block #2: ??a?????
    |                          Max X: 40000
    |                          Max Y: 25000
    |                   Max pressure: 2047
    |                     Resolution: 4000
    |
 c9 |      Unknown string #1: OEM02_T151_170410
 ca |  Internal manufacturer: HUION Animation Technology Co.,ltd
Flashwalker commented 5 years ago

Ok. Just bought gaomon m106k , installed digimend-dkms_8_all.deb on Linux Mint 17 (Ubuntu 14.04), and looks like drawing and pen buttons works fine. :grinning: Tested on MyPaint, Gimp, Inkscape.

The only issue is low perfomance of brush stroke response, because tested on veeery slow netbook.

BrunoVernay commented 5 years ago

I thought it was integrated in the mainline kernel? I have version 4.19.6-300.fc29.x86_64 Bu maybe there are some recent changes not yet integrated ???

Flashwalker commented 5 years ago

@BrunoVernay if you replied to me, i have tested on 3.16 kernel. 32 bit.

Flashwalker commented 5 years ago

Oh, And actual working space a little bit smaller on right and bottom sides, somewhere about 5mm on each one. If i believe the labels on the drawing surface. But it's not critical.

Flashwalker commented 5 years ago

Tested on windows. It's funy, but official gaomon windows drivers doesn’t works. Ha-ha... chinese crap. Upd: It was Win7 2015. Reinstalling fresh Win7 solves.

BrunoVernay commented 5 years ago

I will try to compile and install the drivers from sources. But I hoped that they were integrated upstream in the Linux Kernel ...

On Thu, Dec 6, 2018 at 7:15 PM Flashwalker notifications@github.com wrote:

@BrunoVernay https://github.com/BrunoVernay if you replied to me, i have tested on 3.16 kernel. Although the README specifies a minimum requirement of 3.5, however, it works on 3.16. 32 bit.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/DIGImend/digimend-kernel-drivers/issues/120#issuecomment-444974175, or mute the thread https://github.com/notifications/unsubscribe-auth/AAIEpbysM4jQfb58N3OwHFmnApD_3sk8ks5u2V7dgaJpZM4SJc5b .

-- Bruno VERNAY

Flashwalker commented 5 years ago

A bit of fail. Not all of pad’s buttons works. First three, from right to left, top to bottom are behaves as mouse buttons. Last two (at far bottom) doesn't response at all. The rest of them works fine, as extra mouse buttons.

So, can bind only 7.

spbnick commented 5 years ago

@Flashwalker, the first three buttons are behaving as intended and are arranged that way to support the Wacom driver. The other buttons should report higher-numbered buttons as well, which should have no effect by default. Test if they're reporting anything by running xinput test for your tablet's "pad" device (see the device list with xinput list). Press every button and check that you get the output with a button number. If that works, you can use xsetwacom to assign keyboard shortcuts to those buttons. See README.md and man xsetwacom for details.

BrunoVernay commented 5 years ago

OK It worked once I installed the drivers from this repo. I really thought that it was integrated upstream, wasn't it?

DeenOConnor commented 4 years ago

[deen@parrot] : [~] [$]> uname -a Linux parrot 5.2.0-2parrot1-amd64 #1 SMP Parrot 5.2.7-2parrot1 (2019-08-12) x86_64 GNU/Linux

Digimend release 9, M106K kinda works. It works as a mouse pointer, but when i try drawing something in gimp 2.10.8 nothing happens. Device IS enabled in gimp exactly the way it is described in https://digimend.github.io/support/howto/apps/gimp/ BUT it says that device is not connected.

If i try lsusb i get the following: [deen@parrot] : [~] [$]> lsusb Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 003: ID 045e:07f8 Microsoft Corp. Wired Keyboard 600 (model 1576) Bus 003 Device 005: ID 256c:006e

Where 256c:0006e is actually gaomon m106k.

I removed digimend 9 and installed digimend 8 instead, and guess what? I can draw now! It works in gimp, now it displays "Hid 256c:006e Pad Pad" and "Hid 256c:006e Pen Stylus" in devices list. However, i still can't draw in sai 2. Maybe wine is the problem here.

So maybe this is the solution? For M106K users i suggest installing digimend 8. It worked for me, hope it works for you too.

UPD: Krita works perfectly with m106k, no issues, no lags, nothing.

bigbigmdm commented 1 year ago

Please see https://github.com/bigbigmdm/GAOMON-M106K-PRO-in-LINUX