Fighting to get Wacom Intuos S (CTL-4100) working

Dear FreeBSD users,

after a long series of trials, I'm stuck with this brand new Wacom tablet.
This is my configuration:

Bash:
$ uname -a
FreeBSD bs5v.vlr.local 12.2-RELEASE FreeBSD 12.2-RELEASE r366954 GENERIC  amd64

cuse module loaded
webcamd enabled, no flags

xorg-server-1.20.9,1
xorg-drivers-7.7_6
xf86-input-wacom-0.39.0_2

Bash:
# usbconfig
ugen0.1: <0x8086 XHCI root HUB> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen0.2: <vendor 0x09da USB Keyboard> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (100mA)
ugen0.3: <vendor 0x0461 USB Optical Mouse> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (100mA)
ugen0.4: <Wacom Co.,Ltd. Intuos S> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (500mA)

# sysctl kern.evdev.rcpt_mask 
kern.evdev.rcpt_mask: 12


Phase 1: trying with vanilla stuff

When I plug the device in, a couple of /dev/input/event* are created, plus a /dev/input/js0, owned by webcamd.

X recognize the peripheral, but when it comes to the "pad" it goes crazy:

Xorg.0.log
Code:
[   305.790] (II) wacom: Driver for Wacom graphics tablets: PenPartner, Graphire,
        Graphire2 4x5, Graphire2 5x7, Graphire3 4x5, Graphire3 6x8,
        Graphire4 4x5, Graphire4 6x8, BambooFun 4x5, BambooFun 6x8,
        Bamboo1 Medium, Graphire4 6x8 BlueTooth, CTL-460, CTH-461, CTL-660,
        CTL-461/S, Bamboo Touch, CTH-460/K, CTH-461/S, CTH-661/S1, CTH-461/L,
        CTH-661/L, Intuos 4x5, Intuos 6x8, Intuos 9x12, Intuos 12x12,
        Intuos 12x18, PTU600, PL400, PL500, PL600, PL600SX, PL550, PL800,
        PL700, PL510, PL710, DTI520, DTF720, DTF720a, DTF521, DTU1931,
        DTU2231, DTU1631, DTH1152, DTH1152, DTK2451, DTH2452, DTH2452,
        Intuos2 4x5, Intuos2 6x8, Intuos2 9x12, Intuos2 12x12, Intuos2 12x18,
        Intuos2 6x8 , Volito, PenStation, Volito2 4x5, Volito2 2x3,
        PenPartner2, Bamboo, Bamboo1, Bamboo1 4x6, Bamboo1 5x8, Intuos3 4x5,
        Intuos3 6x8, Intuos3 9x12, Intuos3 12x12, Intuos3 12x19,
        Intuos3 6x11, Intuos3 4x6, Intuos4 4x6, Intuos4 6x9, Intuos4 8x13,
        Intuos4 12x19, Intuos4 WL USB Endpoint,
        Intuos4 WL Bluetooth Endpoint, Intuos5 touch S, Intuos5 touch M,
        Intuos5 touch L, Intuos5 S, Intuos5 M, Intuos Pro S, Intuos Pro M,
        Intuos Pro L, Intuos Draw small, Intuos Art/Photo/Comic small,
        Intuos Draw medium, Intuos Art medium, Cintiq 21UX, Cintiq 20WSX,
        Cintiq 12WX, Cintiq 21UX2, Cintiq 24HD, Cintiq 22HD,
        Cintiq 24HD touch (EMR digitizer), Cintiq 13HD, DTK2241, DTH2242,
        Cintiq 22HDT, Cintiq 27QHDT, Cintiq 27QHDT, Mobilestudio Pro 13,
        MobileStudio Pro 16, MobileStudio Pro 13, MobileStudio Pro 16,
        Cintiq 13 FHD Pro, Cintiq 16 UHD Pro, Cintiq Pro 24, Cintiq Pro 32,
        Cintiq 13 FHD Pro, Cintiq 16 UHD Pro, Cintiq Pro 24, Cintiq Pro 32,
        Cintiq Pro 24, Mobilestudio Pro 13, MobileStudio Pro 16,
        MobileStudio Pro 13, MobileStudio Pro 16, MobileStudio Pro 16,
        MobileStudio Pro 16, TabletPC 0x90, TabletPC 0x93, TabletPC 0x97,
        TabletPC 0x9A, CapPlus  0x9F, TabletPC 0xE2, TabletPC 0xE3,
        TabletPC 0xE5, TabletPC 0xE6, TabletPC 0xEC, TabletPC 0xED,
        TabletPC 0xEF, TabletPC 0x100, TabletPC 0x101, TabletPC 0x10D,
        TabletPC 0x116, TabletPC 0x12C, TabletPC 0x4001, TabletPC 0x4004,
        TabletPC 0x5000, TabletPC 0x5002, usb:172f:0024, usb:172f:0025,
        usb:172f:0026, usb:172f:0027, usb:172f:0028, usb:172f:0030,
        usb:172f:0031, usb:172f:0032, usb:172f:0033, usb:172f:0034,
        usb:172f:0035, usb:172f:0036, usb:172f:0037, usb:172f:0038,
        usb:172f:0039, usb:172f:0051, usb:172f:0052, usb:172f:0053,
        usb:172f:0054, usb:172f:0055, usb:172f:0056, usb:172f:0057,
        usb:172f:0058, usb:172f:0500, usb:172f:0501, usb:172f:0502,
        usb:172f:0503, usb:1b96:0001, usb:17ef:6004
[   305.794] (II) Using input driver 'wacom' for 'Wacom Intuos S Pen'
[   305.794] (**) Wacom Intuos S Pen: always reports core events
[   305.795] (**) Option "Device" "/dev/input/event7"
[   305.838] (II) Wacom Intuos S Pen: type not specified, assuming 'stylus'.
[   305.838] (II) Wacom Intuos S Pen: other types will be automatically added.
[   305.839] (--) Wacom Intuos S Pen stylus: using pressure threshold of 851 for button 1
[   305.839] (**) Wacom Intuos S Pen stylus: panscroll is 0
[   305.839] (**) Wacom Intuos S Pen stylus: panscroll modified to 1300
[   305.839] (--) Wacom Intuos S Pen stylus: maxX=15200 maxY=9500 maxZ=4095 resX=100000 resY=100000  tilt=enabled
[   305.839] (II) Wacom Intuos S Pen stylus: hotplugging dependent devices.
[   305.839] (EE) Wacom Intuos S Pen stylus: Invalid type 'touch' for this device.
[   305.839] (EE) Wacom Intuos S Pen stylus: Invalid type 'pad' for this device.
[   305.839] (II) Wacom Intuos S Pen stylus: hotplugging completed.
[   305.850] (**) Option "config_info" "udev:/dev/input/event7"
[   305.850] (II) XINPUT: Adding extended input device "Wacom Intuos S Pen stylus" (type: STYLUS, id 13)
[   305.850] (**) Wacom Intuos S Pen stylus: (accel) keeping acceleration scheme 1
[   305.850] (**) Wacom Intuos S Pen stylus: (accel) acceleration profile 0
[   305.850] (**) Wacom Intuos S Pen stylus: (accel) acceleration factor: 2.000
[   305.850] (**) Wacom Intuos S Pen stylus: (accel) acceleration threshold: 4
[   305.904] (**) Wacom Intuos S Pen eraser: Applying InputClass "evdev tablet catchall"
[   305.904] (**) Wacom Intuos S Pen eraser: Applying InputClass "libinput tablet catchall"
[   305.904] (**) Wacom Intuos S Pen eraser: Applying InputClass "Wacom USB tablet class"
[   305.904] (**) Wacom Intuos S Pen eraser: Applying InputClass "Wacom tablet class"
[   305.904] (II) Using input driver 'wacom' for 'Wacom Intuos S Pen eraser'
[   305.904] (**) Wacom Intuos S Pen eraser: always reports core events
[   305.904] (**) Option "Device" "/dev/input/event7"
[   305.905] (**) Option "Type" "eraser"
[   305.905] (**) Wacom Intuos S Pen eraser: panscroll is 1300
[   305.905] (**) Wacom Intuos S Pen eraser: panscroll modified to 1300
[   305.905] (--) Wacom Intuos S Pen eraser: maxX=15200 maxY=9500 maxZ=4095 resX=100000 resY=100000  tilt=enabled
[   305.905] (**) Option "config_info" "udev:/dev/input/event7"
[   305.905] (II) XINPUT: Adding extended input device "Wacom Intuos S Pen eraser" (type: ERASER, id 14)
[   305.906] (**) Wacom Intuos S Pen eraser: (accel) keeping acceleration scheme 1
[   305.906] (**) Wacom Intuos S Pen eraser: (accel) acceleration profile 0
[   305.906] (**) Wacom Intuos S Pen eraser: (accel) acceleration factor: 2.000
[   305.906] (**) Wacom Intuos S Pen eraser: (accel) acceleration threshold: 4
[   305.906] (**) Wacom Intuos S Pen cursor: Applying InputClass "evdev tablet catchall"
[   305.906] (**) Wacom Intuos S Pen cursor: Applying InputClass "libinput tablet catchall"
[   305.906] (**) Wacom Intuos S Pen cursor: Applying InputClass "Wacom USB tablet class"
[   305.906] (**) Wacom Intuos S Pen cursor: Applying InputClass "Wacom tablet class"
[   305.906] (II) Using input driver 'wacom' for 'Wacom Intuos S Pen cursor'
[   305.906] (**) Wacom Intuos S Pen cursor: always reports core events
[   305.906] (**) Option "Device" "/dev/input/event7"
[   305.906] (**) Option "Type" "cursor"
[   305.907] (**) Wacom Intuos S Pen cursor: panscroll is 1300
[   305.907] (**) Wacom Intuos S Pen cursor: panscroll modified to 1300
[   305.907] (**) Option "config_info" "udev:/dev/input/event7"
[   305.907] (II) XINPUT: Adding extended input device "Wacom Intuos S Pen cursor" (type: CURSOR, id 15)
[   305.908] (**) Wacom Intuos S Pen cursor: (accel) keeping acceleration scheme 1
[   305.908] (**) Wacom Intuos S Pen cursor: (accel) acceleration profile 0
[   305.908] (**) Wacom Intuos S Pen cursor: (accel) acceleration factor: 2.000
[   305.908] (**) Wacom Intuos S Pen cursor: (accel) acceleration threshold: 4
[   305.909] (II) config/udev: Adding input device Wacom Intuos S Pad (/dev/input/event8)
[   305.909] (**) Wacom Intuos S Pad: Applying InputClass "evdev tablet catchall"
[   305.909] (**) Wacom Intuos S Pad: Applying InputClass "libinput tablet catchall"
[   305.909] (**) Wacom Intuos S Pad: Applying InputClass "Wacom USB tablet class"
[   305.909] (**) Wacom Intuos S Pad: Applying InputClass "Wacom tablet class"
[   305.909] (II) Using input driver 'wacom' for 'Wacom Intuos S Pad'
[   305.909] (**) Wacom Intuos S Pad: always reports core events
[   305.909] (**) Option "Device" "/dev/input/event8"
[   305.909] (EE) Wacom Intuos S Pad: Invalid type 'stylus' for this device.
[   305.909] (EE) Wacom Intuos S Pad: Invalid type 'eraser' for this device.
[   305.909] (EE) Wacom Intuos S Pad: Invalid type 'cursor' for this device.
[   305.909] (EE) Wacom Intuos S Pad: Invalid type 'touch' for this device.
[   305.909] (II) Wacom Intuos S Pad: type not specified, assuming 'pad'.
[   305.909] (II) Wacom Intuos S Pad: other types will be automatically added.
[   305.910] (**) Wacom Intuos S Pad pad: panscroll is 0
[   305.910] (**) Wacom Intuos S Pad pad: panscroll modified to 13
[   305.910] (II) Wacom Intuos S Pad pad: hotplugging dependent devices.
[   305.910] (EE) Wacom Intuos S Pad pad: Invalid type 'stylus' for this device.
[   305.910] (EE) Wacom Intuos S Pad pad: Invalid type 'eraser' for this device.
[   305.910] (EE) Wacom Intuos S Pad pad: Invalid type 'cursor' for this device.
[   305.910] (EE) Wacom Intuos S Pad pad: Invalid type 'touch' for this device.
[   305.910] (II) Wacom Intuos S Pad pad: hotplugging completed.
[   305.910] (**) Option "config_info" "udev:/dev/input/event8"
[   305.910] (II) XINPUT: Adding extended input device "Wacom Intuos S Pad pad" (type: PAD, id 16)
[   305.910] (**) Wacom Intuos S Pad pad: (accel) keeping acceleration scheme 1
[   305.911] (**) Wacom Intuos S Pad pad: (accel) acceleration profile 0
[   305.911] (**) Wacom Intuos S Pad pad: (accel) acceleration factor: 2.000
[   305.911] (**) Wacom Intuos S Pad pad: (accel) acceleration threshold: 4
[   305.964] (EE) Wacom Intuos S Pen cursor: Error reading wacom device : Invalid argument
[   305.964] (II) Wacom Intuos S Pad pad: removing automatically added device.
[   305.965] (EE) BUG: triggered 'if (in_input_thread())'
[   305.965] (EE) BUG: io.c:689 in WriteToClient()
[   305.965] (EE) ******** WriteToClient called from input thread *********
[   305.965] (EE)
[   305.965] (EE) Backtrace:
[   305.970] (EE) 0: /usr/local/bin/Xorg (WriteToClient+0x89) [0x41ce89]
[   305.974] (EE) 1: /usr/local/bin/Xorg (WriteEventsToClient+0x1e5) [0x2a8ae5]
[   305.978] (EE) 2: /usr/local/bin/Xorg (TryClientEvents+0x1f9) [0x2a88d9]
[   305.982] (EE) 3: /usr/local/bin/Xorg (DeliverRawEvent+0x864) [0x2aa0c4]
[   305.985] (EE) 4: /usr/local/bin/Xorg (DeliverEventsToWindow+0x3b9) [0x2a8f59]
[   306.002] (EE) 5: /usr/local/bin/Xorg (XIGetDevice+0xe14) [0x3990e4]
[   306.006] (EE) 6: /usr/local/bin/Xorg (XIChangeDeviceProperty+0x432) [0x3a80d2]
[   306.010] (EE) 7: /usr/local/bin/Xorg (DisableDevice+0x2ba) [0x292a0a]
[   306.013] (EE) 8: /usr/local/bin/Xorg (RemoveDevice+0xe7) [0x293c97]
[   306.017] (EE) 9: /usr/local/bin/Xorg (DeleteInputDeviceRequest+0x3a) [0x2f1aea]
[   306.021] (EE) unw_get_proc_name failed: no unwind info found [-10]
[   306.021] (EE) 10: /usr/local/lib/xorg/modules/input/wacom_drv.so (?+0x0) [0x80484f1b0]
[   306.025] (EE) unw_get_proc_name failed: no unwind info found [-10]
[   306.025] (EE) 11: /usr/local/lib/xorg/modules/input/wacom_drv.so (?+0x0) [0x80484e1f0]
[   306.029] (EE) 12: /usr/local/bin/Xorg (xthread_sigmask+0x11f) [0x41c0ff]
[   306.033] (EE) 13: /usr/local/bin/Xorg (OsCleanup+0x4c5) [0x41e3c5]
[   306.037] (EE) 14: /usr/local/bin/Xorg (input_force_unlock+0x833) [0x41c333]
[   306.041] (EE) unw_get_proc_name failed: no unwind info found [-10]
[   306.041] (EE) 15: /lib/libthr.so.3 (?+0x0) [0x80091de50]
[   306.045] (EE) 16: ? (?+0x0) [0x0]
this message is repeated a thousand times, then the module wacom is unloaded:
Code:
[   306.785] (II) UnloadModule: "wacom"
[   306.785] (EE) Wacom Intuos S Pen cursor: Error reading wacom device : Invalid argument
[   306.785] (EE) Wacom Intuos S Pen cursor: Error reading wacom device : Invalid argument
[   306.786] (EE) Wacom Intuos S Pen cursor: Error reading wacom device : Invalid argument
[   306.786] (EE) Wacom Intuos S Pen cursor: Error reading wacom device : Invalid argument
and last message is repeated a million times.

X process goes crazy with 130% CPU usage, but xsetwacom still shows something

Code:
$ xsetwacom --list devices
Wacom Intuos S Pen stylus           id: 13    type: STYLUS 
Wacom Intuos S Pen eraser           id: 14    type: ERASER 
Wacom Intuos S Pen cursor           id: 15    type: CURSOR

if I switch to the console (Ctrl+alt+F2), devices created by webcamd are removed and Xorg relaxes.

Phase 2: changing xorg drivers

I have enabled libinput and evdev drivers only, removing all xf86-input-* stuff

x11-drivers/xorg-drivers options
Code:
Options        :
    AMDGPU         : off
    APM            : off
    ARK            : off
    AST            : off
    ATI            : off
    CHIPS          : off
    CIRRUS         : off
    DUMMY          : off
    EGALAX         : off
    ELOGRAPHICS    : off
    EVDEV          : on
    GLINT          : off
    I128           : off
    I740           : off
    INTEL          : on
    JOYSTICK       : off
    KEYBOARD       : off
    LIBINPUT       : on
    MACH64         : off
    MGA            : off
    MOUSE          : off
    NEOMAGIC       : off
    NV             : off
    OPENCHROME     : off
    R128           : off
    RENDITION      : off
    S3             : off
    S3VIRGE        : off
    SAVAGE         : off
    SCFB           : off
    SILICONMOTION  : off
    SIS            : off
    SYNAPTICS      : off
    TDFX           : off
    TRIDENT        : off
    TSENG          : off
    VESA           : on
    VMMOUSE        : off
    VMWARE         : off
    VOID           : off
    VOODOO         : off
    WACOM          : off

Now Xorg does not fail with backtraces, but something strange happens:

* devices /dev/input/eventX and /dev/input/js0 are created, but they disappear after a couple of seconds.
* Xorg complains about missing devices

Xorg.0.log
Code:
[  2445.505] (II) config/udev: Adding input device Wacom Intuos S Pen (/dev/input/event7)
[  2445.505] (**) Wacom Intuos S Pen: Applying InputClass "evdev tablet catchall"
[  2445.505] (**) Wacom Intuos S Pen: Applying InputClass "libinput tablet catchall"
[  2445.505] (II) Using input driver 'libinput' for 'Wacom Intuos S Pen'
[  2445.505] (**) Wacom Intuos S Pen: always reports core events
[  2445.506] (**) Option "Device" "/dev/input/event7"
[  2445.506] (**) Option "_source" "server/udev"
[  2445.686] (II) event7  - Wacom Intuos S Pen: is tagged by udev as: Tablet
[  2445.694] (II) event7  - Wacom Intuos S Pen: device is a tablet
[  2445.694] (II) event7  - Wacom Intuos S Pen: device removed
[  2445.705] (**) Option "config_info" "udev:/dev/input/event7"
[  2445.705] (II) XINPUT: Adding extended input device "Wacom Intuos S Pen" (type: TABLET, id 13)
[  2445.735] (EE) xf86OpenSerial: Cannot open device /dev/input/event7
        Invalid argument.
[  2445.735] (II) event7: opening input device '/dev/input/event7' failed (Invalid argument).
[  2445.735] (II) event7  - failed to create input device '/dev/input/event7'.
[  2445.735] [dix] couldn't enable device 13
[  2445.735] (EE) Couldn't init device "Wacom Intuos S Pen"
[  2445.735] (II) UnloadModule: "libinput"
[  2445.735] (II) config/udev: Adding input device Wacom Intuos S Pad (/dev/input/event8)
[  2445.735] (**) Wacom Intuos S Pad: Applying InputClass "evdev tablet catchall"
[  2445.735] (**) Wacom Intuos S Pad: Applying InputClass "libinput tablet catchall"
[  2445.735] (II) Using input driver 'libinput' for 'Wacom Intuos S Pad'
[  2445.735] (**) Wacom Intuos S Pad: always reports core events
[  2445.735] (**) Option "Device" "/dev/input/event8"
[  2445.735] (**) Option "_source" "server/udev"
[  2445.735] (EE) xf86OpenSerial: Cannot open device /dev/input/event8
        Invalid argument.
[  2445.735] (II) event8: opening input device '/dev/input/event8' failed (Invalid argument).
[  2445.735] (II) event8  - failed to create input device '/dev/input/event8'.
[  2445.735] (EE) libinput: Wacom Intuos S Pad: Failed to create a device for /dev/input/event8
[  2445.735] (EE) PreInit returned 2 for "Wacom Intuos S Pad"
[  2445.735] (II) UnloadModule: "libinput"

Not being a master of the FreeBSD OS I gently ask you some questions:

1. Who does create /dev/input/eventX devices and who does remove them?
2. Does my Xorg driver configuration seem sane?

I have plugged the tablet in a Debian Linux 10 machine and it works just installing xserver-xorg-input-wacom.

Thank you in advance
 
I think so.
Reading the xorg log file, it says (for all three devices):
1. config/udev creates /dev/input/eventX for the device.
2. xf86OpenSerial fails to read /dev/input/eventX ("invalid argument").
3. The /dev entry gets removed.

I don't know how to troubleshoot this, though.
 
Hi, similar behaviour here, seems the wacom gets disconnected, also tried xf86-input-evdev but does not work.

Code:
uname -a
FreeBSD athenaBSD 12.2-RELEASE-p4 FreeBSD 12.2-RELEASE-p4 GENERIC  amd64

Code:
Mar 11 19:38:17 athenaBSD kernel: ugen2.5: <Wacom Co.,Ltd. Intuos S> at usbus2
Mar 11 19:38:17 athenaBSD kernel: hid_get_item: Number of items(1280) truncated to 1024
Mar 11 19:38:17 athenaBSD syslogd: last message repeated 4 times
Mar 11 19:38:17 athenaBSD kernel: uhid1 on uhub4
Mar 11 19:38:17 athenaBSD kernel: uhid1: <Wacom Co.,Ltd. Intuos S, class 0/0, rev 2.00/1.11, addr 5> on usbus2
Mar 11 19:38:17 athenaBSD kernel: hid_get_item: Number of items(1280) truncated to 1024
Mar 11 19:38:17 athenaBSD syslogd: last message repeated 2 times
Mar 11 19:38:17 athenaBSD kernel: uhid1: at uhub4, port 5, addr 5 (disconnected)
Mar 11 19:38:17 athenaBSD kernel: uhid1: detached
Mar 11 19:38:17 athenaBSD kernel: ugen2.5: <Wacom Co.,Ltd. Intuos S> at usbus2 (disconnected)
Mar 11 19:38:18 athenaBSD kernel: ugen2.5: <Wacom Co.,Ltd. Intuos S> at usbus2
Mar 11 19:38:18 athenaBSD kernel: uhid1 on uhub4
Mar 11 19:38:18 athenaBSD kernel: uhid1: <Wacom Co.,Ltd. Intuos S, class 0/0, rev 2.00/1.11, addr 5> on usbus2
 
Hi,

Can you check using

Code:
ps auxw | grep webcamd

That you have an instance of webcamd running for your device?

Use:

Code:
webcamd -l

To get a list of all USB devices and the command line to attach.

The kernel HID error you can ignore.

--HPS
 
The file /usr/local/etc/devd/webcamd.conf has the following attach rule for wacom devices. Maybe it needs updating:

Code:
# Generic USB input devices.
notify 100 {
        match "system"          "USB";
        match "subsystem"       "INTERFACE";
        match "type"            "ATTACH";
        match "intclass"        "0x03";
#
# Limit HID device attach to Wacom Devices
# else webcamd might attach to your keyboard
# and mouse
#
        match "vendor"          "0x056a";
        action "/usr/local/etc/rc.d/webcamd start $cdev $interface";
};

--HPS
 
I know this in an old thread, but I need help to get this to work. I have "XP Pen Star G640" drawing tablet.

The GIMP app can detect the pad but nothing works.
I followed the directions on this thread.

Thanks.
 
Back
Top