Intuos S tabletim Android modu dışında görmüyor

Selam dostlar! Bir Wacom Intuos S kullanıyorum. Nobara Linux 38’de (fedora tabanlı) OpenTabletDriver ile düzgün çalışıyor, fakat bir maceraya girip linuxwacom ile cihazı çalıştırmak istedim. Bu hem doğrudan GNOME Kontrol Paneli’nden cihazı kontrol etmemi sağlayacak, hem de daha stabil çalışacağını düşündüm. Ama fena çuvallamış durumdayım.

Şuanki durum

$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 1a81:2232 Holtek Semiconductor, Inc. [unknown]
Bus 001 Device 004: ID 13d3:56ff IMC Networks [unknown]
Bus 001 Device 005: ID 048d:c963 Integrated Technology Express, Inc. [unknown]
Bus 001 Device 006: ID 048d:c966 Integrated Technology Express, Inc. [unknown]
Bus 001 Device 007: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 001 Device 011: ID 056a:0374 Wacom Co., Ltd CTL-4100 [Intuos (S)]
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Görüldüğü üzere Linux tabletimi algılıyor, fakat düzgün çalıştırmıyor.

$ modinfo wacom
filename:       /lib/modules/6.5.9-201.fsync.fc38.x86_64/updates/wacom.ko
license:        GPL
description:    USB Wacom tablet driver
author:         Vojtech Pavlik <[email protected]>
version:        v2.00-input-wacom
srcversion:     1990B9618A608240CAF547F
# alias: [tonla satır ile birsürü ıvır zıvır]
depends:        
retpoline:      Y
name:           wacom
vermagic:       6.5.9-201.fsync.fc38.x86_64 SMP preempt mod_unload 
parm:           touch_arbitration: on (Y) off (N) (bool)

wacom modülü burada anlaşıldığı gibi mevcut, fakat:

$ lsmod | grep wacom
$

…boş çıktı veriyor. Bu da kullanılmadığını gösteriyor sanırım.

Bu da boş çıktı veriyor:

$ cat /proc/bus/input/devices | grep -i wacom
$

En çok garibime giden şeylerden ise bu oldu.

$ grep "" /sys/module/wacom*/version
grep: /sys/module/wacom*/version: No such file or directory
$ lsmod | grep wacom
$

Bir de;

$ libwacom-list-local-devices 
Failed to find any devices known to libwacom.

libwacom cihazımı tanımıyor.

Aynı şekilde GNOME’da öyle.

Denediğim adımlar

Kernel sürücüsünü linuxwacom wikisinde anlatıldığı gibi kurmaya çalıştım. İşte derleme çıktısı:

$ if test -x ./autogen.sh; then ./autogen.sh; else ./configure; fi && make && sudo make install || echo "Build Failed"
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... none
checking if build path '/home/alperenisa/Documents/input-wacom-1.1.0' has spaces... no
checking for kernel type... Linux
checking for linux-based kernel... yes
checking for kernel source/headers... /lib/modules/6.5.9-201.fsync.fc38.x86_64/source
checking kernel version... 6.5.9-201.fsync.fc38.x86_64
checking RHEL7 minor release... 0
checking power supply version... rm: cannot remove '.autoconf/build/conftest.mod.c': Permission denied
rm: cannot remove '.autoconf/build/Makefile': Permission denied
rm: cannot remove '.autoconf/build/conftest.c': Permission denied
rm: cannot remove '.autoconf/build/.conftest.o.d': Permission denied
./configure: line 4387: .autoconf/build/Makefile: Permission denied
pre-v4.1
checking devm_add_action_or_reset... rm: cannot remove '.autoconf/build/conftest.mod.c': Permission denied
rm: cannot remove '.autoconf/build/Makefile': Permission denied
rm: cannot remove '.autoconf/build/conftest.c': Permission denied
rm: cannot remove '.autoconf/build/.conftest.o.d': Permission denied
./configure: line 4450: .autoconf/build/Makefile: Permission denied
yes
checking hid_is_using_ll_driver... rm: cannot remove '.autoconf/build/conftest.mod.c': Permission denied
rm: cannot remove '.autoconf/build/Makefile': Permission denied
rm: cannot remove '.autoconf/build/conftest.c': Permission denied
rm: cannot remove '.autoconf/build/.conftest.o.d': Permission denied
./configure: line 4513: .autoconf/build/Makefile: Permission denied
yes
checking hid_is_usb... rm: cannot remove '.autoconf/build/conftest.mod.c': Permission denied
rm: cannot remove '.autoconf/build/Makefile': Permission denied
rm: cannot remove '.autoconf/build/conftest.c': Permission denied
rm: cannot remove '.autoconf/build/.conftest.o.d': Permission denied
./configure: line 4575: .autoconf/build/Makefile: Permission denied
yes
checking legacy I2C probe API... rm: cannot remove '.autoconf/build/conftest.mod.c': Permission denied
rm: cannot remove '.autoconf/build/Makefile': Permission denied
rm: cannot remove '.autoconf/build/conftest.c': Permission denied
rm: cannot remove '.autoconf/build/.conftest.o.d': Permission denied
./configure: line 4639: .autoconf/build/Makefile: Permission denied
no
checking input_set_timestamp... rm: cannot remove '.autoconf/build/conftest.mod.c': Permission denied
rm: cannot remove '.autoconf/build/Makefile': Permission denied
rm: cannot remove '.autoconf/build/conftest.c': Permission denied
rm: cannot remove '.autoconf/build/.conftest.o.d': Permission denied
./configure: line 4702: .autoconf/build/Makefile: Permission denied
yes
checking CONFIG_MODULE_SIG... y
checking CONFIG_MODULE_SIG_FORCE... 
checking CONFIG_LOCK_DOWN_KERNEL... 
checking CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT... 
checking secure boot state... off
checking if modules must be signed... recommended
checking CONFIG_MODULE_SIG_HASH... sha512
checking for module signing hash algorithm... sha512
checking for kernel autogenerated key at /lib/modules/6.5.9-201.fsync.fc38.x86_64/source/certs/signing_key.pem... no
checking for kernel autogenerated cert at /lib/modules/6.5.9-201.fsync.fc38.x86_64/source/certs/signing_key.x509... no
checking for shim MOK key at /var/lib/shim-signed/mok/MOK.priv... no
checking for shim MOK cert at /var/lib/shim-signed/mok/MOK.der... no
checking for rEFInd MOK key at /etc/refind.d/keys/refind_local.key... no
checking for rEFInd MOK cert at /etc/refind.d/keys/refind_local.cer... no
checking for module signing key... 
checking for module signing certificate... 
configure: WARNING: Kernel module signing is recommended but we are unable to find signing keys. Consider re-running configure with the options '--with-signing-key=<key>' and '--with-signing-cert=<cert>' set.

checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating 3.17/Makefile
config.status: creating 4.5/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
configure:
----------------------------------------
  BUILD ENVIRONMENT:
       linux kernel - yes 4.5
      kernel source - yes /lib/modules/6.5.9-201.fsync.fc38.x86_64/source

NOTE: The kernel drivers included in this package are only tested with the
X Wacom driver built from xf86-input-wacom. If you are running an X server
version older than 1.7, please use the drivers provided by the linuxwacom
package.

Please run 'make && make install'.
make  all-recursive
make[1]: Entering directory '/home/alperenisa/Documents/input-wacom-1.1.0'
Making all in 4.5
make[2]: Entering directory '/home/alperenisa/Documents/input-wacom-1.1.0/4.5'
    Building input-wacom drivers for 4.5 kernel.
make -C /lib/modules/6.5.9-201.fsync.fc38.x86_64/source M=/home/alperenisa/Documents/input-wacom-1.1.0/4.5 
make[3]: Entering directory '/usr/src/kernels/6.5.9-201.fsync.fc38.x86_64'
make[3]: Leaving directory '/usr/src/kernels/6.5.9-201.fsync.fc38.x86_64'
make[2]: Leaving directory '/home/alperenisa/Documents/input-wacom-1.1.0/4.5'
make[2]: Entering directory '/home/alperenisa/Documents/input-wacom-1.1.0'
make[2]: Leaving directory '/home/alperenisa/Documents/input-wacom-1.1.0'
make[1]: Leaving directory '/home/alperenisa/Documents/input-wacom-1.1.0'
[sudo] password for alperenisa: 
Making install in 4.5
make[1]: Entering directory '/home/alperenisa/Documents/input-wacom-1.1.0/4.5'
make -C /lib/modules/6.5.9-201.fsync.fc38.x86_64/source M=/home/alperenisa/Documents/input-wacom-1.1.0/4.5 modules_install mod_sign_cmd=''
make[2]: Entering directory '/usr/src/kernels/6.5.9-201.fsync.fc38.x86_64'
  INSTALL /lib/modules/6.5.9-201.fsync.fc38.x86_64/updates/wacom.ko
  SIGN    /lib/modules/6.5.9-201.fsync.fc38.x86_64/updates/wacom.ko
At main.c:167:
- SSL error:FFFFFFFF80000002:system library::No such file or directory: crypto/bio/bss_file.c:67
- SSL error:10000080:BIO routines::no such file: crypto/bio/bss_file.c:75
sign-file: ./certs/signing_key.pem
  INSTALL /lib/modules/6.5.9-201.fsync.fc38.x86_64/updates/wacom_w8001.ko
  SIGN    /lib/modules/6.5.9-201.fsync.fc38.x86_64/updates/wacom_w8001.ko
At main.c:167:
- SSL error:FFFFFFFF80000002:system library::No such file or directory: crypto/bio/bss_file.c:67
- SSL error:10000080:BIO routines::no such file: crypto/bio/bss_file.c:75
sign-file: ./certs/signing_key.pem
  INSTALL /lib/modules/6.5.9-201.fsync.fc38.x86_64/updates/wacom_i2c.ko
  SIGN    /lib/modules/6.5.9-201.fsync.fc38.x86_64/updates/wacom_i2c.ko
At main.c:167:
- SSL error:FFFFFFFF80000002:system library::No such file or directory: crypto/bio/bss_file.c:67
- SSL error:10000080:BIO routines::no such file: crypto/bio/bss_file.c:75
sign-file: ./certs/signing_key.pem
  DEPMOD  /lib/modules/6.5.9-201.fsync.fc38.x86_64
make[2]: Leaving directory '/usr/src/kernels/6.5.9-201.fsync.fc38.x86_64'
mkdir -p /etc/depmod.d
echo "override wacom * updates" > /etc/depmod.d/input-wacom.conf
echo "override wacom_w8001 * updates" >> /etc/depmod.d/input-wacom.conf
echo "override wacom_i2c * updates" >> /etc/depmod.d/input-wacom.conf
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/snapd/snap/bin:/bin:/sbin" depmod -a 6.5.9-201.fsync.fc38.x86_64
echo 'add_drivers+=" wacom wacom_w8001 wacom_i2c "' > /etc/dracut.conf.d/input-wacom.conf
/usr/bin/dracut -f --kver=6.5.9-201.fsync.fc38.x86_64
grep: warning: stray \ before /
grep: warning: stray \ before /
grep: warning: stray \ before /
make[1]: Leaving directory '/home/alperenisa/Documents/input-wacom-1.1.0/4.5'
make[1]: Entering directory '/home/alperenisa/Documents/input-wacom-1.1.0'
make[2]: Entering directory '/home/alperenisa/Documents/input-wacom-1.1.0'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/home/alperenisa/Documents/input-wacom-1.1.0'
make[1]: Leaving directory '/home/alperenisa/Documents/input-wacom-1.1.0'

Cihazı yeniden başlattığımda çalışmadığını gördüm. Kendi kendime dedim, Secure Boot’dan dolayı kernel modülü kabul etmiyor mu burada denilenlere göre, anahtarları oluşturup imzalayarak yeniden compile ettim, olmadı.

Tekrardan arama yaptığımda AskUbuntu’da şöyle bir gönderiyle karşılaştım.

Tabletimde bu tuşlara basılı tuttum, ve cihazım algılanmaya başladı.


$ libwacom-list-local-devices 
devices:
- name: 'Wacom Intuos S (Android Mode)'
  bus: 'usb'
  vid: '0x2d1f'
  pid: '0x0374'
  nodes: 
  - /dev/input/event21: 'Wacom Co.,Ltd. Intuos S'

Fakat imleç reizimiz, biraz, ne desem… malca davranıyor. Sadece bu işaretli kısımda çalışıyor, bu alandan dışarı çıkarınca imleç duvara yapışıyor. çizim yapmaya çalışırken arkaya bu müziği koyun
image

Acaba neyi yanlış yaptım derken, ulan neden buraya konu açmıyorum dedim. Ve açtım.

İlginç bulduğum diğer şeyler

Cihazı Android modundan çıkarınca donanım adresi değişiyor.

$ lsusb # PC modundayken
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 1a81:2232 Holtek Semiconductor, Inc. [unknown]
Bus 001 Device 004: ID 13d3:56ff IMC Networks [unknown]
Bus 001 Device 005: ID 048d:c963 Integrated Technology Express, Inc. [unknown]
Bus 001 Device 006: ID 048d:c966 Integrated Technology Express, Inc. [unknown]
Bus 001 Device 007: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 001 Device 013: ID 056a:0374 Wacom Co., Ltd CTL-4100 [Intuos (S)]
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
[alperenisa@lenovo-ig3 ~]$ lsusb # Android modundayken
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 1a81:2232 Holtek Semiconductor, Inc. [unknown]
Bus 001 Device 004: ID 13d3:56ff IMC Networks [unknown]
Bus 001 Device 005: ID 048d:c963 Integrated Technology Express, Inc. [unknown]
Bus 001 Device 006: ID 048d:c966 Integrated Technology Express, Inc. [unknown]
Bus 001 Device 007: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 001 Device 014: ID 2d1f:0374 Wacom Taiwan Information Co. Ltd. [unknown]
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

modprobe denedim fakat yine olmadı aşağıdaki çıktıda olduğu gibi.

$ sudo modprobe wacom -v
install /usr/bin/true 
$ sudo modprobe wacom_w8001 -v
$

Ubuntu deneme modunda cihazım taktığım andan itibaren çalıştı. İlginç.

Nobara Linux’a özel bir sorun veya onda eksik olan bir şeyle ilgili olduğu netleşti diyebilir miyiz o zaman? Ubuntuda sorunsuz çalıştığına göre :slightly_smiling_face:


Nobara’daki sıkıntının wacom modülünün çalışmaması olduğunu tahmin ediyorum.

Bir dakika, Nobara OpenTabletDriver ile birlikte geliyor, muhtemelen wacom modülü blacklist’e eklendiğini tahmin ediyorum bu sebeple. Fakat OpenTabletDriver kullanmak istemiyorum, kalem basıncı çalışmıyor (Artist modda ise imleç görünmüyor). Ben tekrardan şuna boot edip kontrol edeyim.

OpenTabletDriver’ı sildim ve, çalışmaya başladı. Buraya süper mega dev bir bruh alalım, bunu neden daha önce düşünmedim ki?