Bug 1040357

Summary: MS surface pro 2 wacom compatible hardware not recognized
Product: [Fedora] Fedora Reporter: Joakim Verona <joakim>
Component: xorg-x11-drv-wacomAssignee: Peter Hutterer <peter.hutterer>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 20CC: joakim, peter.hutterer, xgl-maint
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-06-30 00:46:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Joakim Verona 2013-12-11 09:59:03 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.41 Safari/537.36
Build Identifier: 

The MS surface pro 2 has wacom compatible hardware.
This hardware is not recognized by Fedora.

It seems possible though, to configure the wacom driver so it regognizes the hardware:

https://bbs.archlinux.org/viewtopic.php?id=169374

Reproducible: Always

Comment 1 Peter Hutterer 2013-12-12 03:15:11 UTC
Please record the device with evemu-describe and attach the logs here.

Comment 2 Joakim Verona 2013-12-12 11:37:11 UTC
evemu-describe
Available devices:
/dev/input/event0:	Lid Switch
/dev/input/event1:	Power Button
/dev/input/event2:	Power Button
/dev/input/event3:	MICROSOFT SAM
/dev/input/event4:	Video Bus
/dev/input/event5:	Atmel Atmel maXTouch Digitizer
/dev/input/event6:	HDA Intel MID HDMI/DP,pcm=8
/dev/input/event7:	HDA Intel MID HDMI/DP,pcm=7
/dev/input/event8:	HDA Intel MID HDMI/DP,pcm=3
/dev/input/event9:	HDA Intel PCH Headphone
/dev/input/event10:	HDA Intel PCH Mic
/dev/input/event11:	Front LifeCam
/dev/input/event12:	Rear LifeCam
Select the device event number [0-12]: 5
# EVEMU 1.2
# Input device name: "Atmel Atmel maXTouch Digitizer"
# Input device ID: bus 0x03 vendor 0x3eb product 0x8209 version 0x111
# Supported events:
#   Event type 0 (EV_SYN)
#     Event code 0 (SYN_REPORT)
#     Event code 1 (SYN_CONFIG)
#     Event code 3 (SYN_DROPPED)
#   Event type 1 (EV_KEY)
#     Event code 330 (BTN_TOUCH)
#   Event type 3 (EV_ABS)
#     Event code 0 (ABS_X)
#       Value   2115
#       Min        0
#       Max     4095
#       Fuzz       0
#       Flat       0
#       Resolution 18
#     Event code 1 (ABS_Y)
#       Value   1466
#       Min        0
#       Max     4095
#       Fuzz       0
#       Flat       0
#       Resolution 31
#     Event code 47 (ABS_MT_SLOT)
#       Value      0
#       Min        0
#       Max       15
#       Fuzz       0
#       Flat       0
#       Resolution 0
#     Event code 48 (ABS_MT_TOUCH_MAJOR)
#       Value      0
#       Min        0
#       Max      255
#       Fuzz       0
#       Flat       0
#       Resolution 10
#     Event code 49 (ABS_MT_TOUCH_MINOR)
#       Value      0
#       Min        0
#       Max      255
#       Fuzz       0
#       Flat       0
#       Resolution 10
#     Event code 52 (ABS_MT_ORIENTATION)
#       Value      0
#       Min        0
#       Max        1
#       Fuzz       0
#       Flat       0
#       Resolution 0
#     Event code 53 (ABS_MT_POSITION_X)
#       Value      0
#       Min        0
#       Max     4095
#       Fuzz       0
#       Flat       0
#       Resolution 18
#     Event code 54 (ABS_MT_POSITION_Y)
#       Value      0
#       Min        0
#       Max     4095
#       Fuzz       0
#       Flat       0
#       Resolution 31
#     Event code 57 (ABS_MT_TRACKING_ID)
#       Value      0
#       Min        0
#       Max    65535
#       Fuzz       0
#       Flat       0
#       Resolution 0
#     Event code 60 (ABS_MT_TOOL_X)
#       Value      0
#       Min        0
#       Max     4095
#       Fuzz       0
#       Flat       0
#       Resolution 18
#     Event code 61 (ABS_MT_TOOL_Y)
#       Value      0
#       Min        0
#       Max     4095
#       Fuzz       0
#       Flat       0
#       Resolution 31
# Properties:
#   Property  type 1 (INPUT_PROP_DIRECT)
N: Atmel Atmel maXTouch Digitizer
I: 0003 03eb 8209 0111
P: 02 00 00 00 00 00 00 00
B: 00 0b 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 04 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 02 00 00 00 00 00 00 00 00
B: 03 03 00 00 00 00 80 73 32
B: 04 00 00 00 00 00 00 00 00
B: 05 00 00 00 00 00 00 00 00
B: 11 00 00 00 00 00 00 00 00
B: 12 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
A: 00 0 4095 0 0 18
A: 01 0 4095 0 0 31
A: 2f 0 15 0 0 0
A: 30 0 255 0 0 10
A: 31 0 255 0 0 10
A: 34 0 1 0 0 0
A: 35 0 4095 0 0 18
A: 36 0 4095 0 0 31
A: 39 0 65535 0 0 0
A: 3c 0 4095 0 0 18
A: 3d 0 4095 0 0 31

Comment 3 Joakim Verona 2013-12-12 15:57:33 UTC
I had some success with the attached configuration.
Turns out its not the Atmel device that provides Wacom compatibility, its the 
Microsoft SAM device.

With this I can use the calligraphy tool in Inkscape.
However, it seems the SAM device stops generating other useful events, such as volume up/down etc, with this config.


Section "InputClass"
Identifier "Wacom class"
MatchProduct "Wacom|WACOM|Hanwang|PTK-540WL|MICROSOFT SAM"
MatchDevicePath "/dev/input/event*"
Driver "wacom"
EndSection

Section "InputDevice"
Driver "wacom"
Identifier "stylus"
Option "USB" "on"
Option "Device" "/dev/input/event3"
Option "Type" "stylus"
Option "Threshold" "5"
    Option        "Mode"         "Relative"
EndSection

Section "InputDevice"
    Driver        "wacom"
    Identifier    "eraser"
Option "USB" "on"
    Option        "Device"       "/dev/input/event3"  
    Option        "Type"         "eraser"
    Option        "Mode"         "Relative"
    Option        "Threshold"    "5"  
EndSection

Section "InputDevice"
    Driver        "wacom"
    Identifier    "cursor"
    Option "USB" "on"
    Option        "Device"       "/dev/input/event3"  
    Option        "Type"         "cursor"
    Option        "Mode"         "Relative"
EndSection

Comment 4 Joakim Verona 2013-12-12 16:05:26 UTC
 evemu-describe
Available devices:
/dev/input/event0:	Lid Switch
/dev/input/event1:	Power Button
/dev/input/event2:	Power Button
/dev/input/event3:	MICROSOFT SAM
/dev/input/event4:	Video Bus
/dev/input/event5:	Atmel Atmel maXTouch Digitizer
/dev/input/event6:	HDA Intel MID HDMI/DP,pcm=8
/dev/input/event7:	HDA Intel MID HDMI/DP,pcm=7
/dev/input/event8:	HDA Intel MID HDMI/DP,pcm=3
/dev/input/event9:	HDA Intel PCH Headphone
/dev/input/event10:	HDA Intel PCH Mic
/dev/input/event11:	Front LifeCam
/dev/input/event12:	Rear LifeCam
Select the device event number [0-12]: 3
# EVEMU 1.2
# Input device name: "MICROSOFT SAM"
# Input device ID: bus 0x03 vendor 0x45e product 0x799 version 0x111
# Supported events:
#   Event type 0 (EV_SYN)
#     Event code 0 (SYN_REPORT)
#     Event code 1 (SYN_CONFIG)
#     Event code 2 (SYN_MT_REPORT)
#     Event code 3 (SYN_DROPPED)
#     Event code 4 (FF_STATUS_STOPPED)
#     Event code 20 ((null))
#   Event type 1 (EV_KEY)
#     Event code 29 (KEY_LEFTCTRL)
#     Event code 56 (KEY_LEFTALT)
#     Event code 111 (KEY_DELETE)
#     Event code 113 (KEY_MUTE)
#     Event code 114 (KEY_VOLUMEDOWN)
#     Event code 115 (KEY_VOLUMEUP)
#     Event code 125 (KEY_LEFTMETA)
#     Event code 184 (KEY_F14)
#     Event code 185 (KEY_F15)
#     Event code 256 (BTN_0)
#     Event code 272 (BTN_LEFT)
#     Event code 273 (BTN_RIGHT)
#     Event code 320 (BTN_TOOL_PEN)
#     Event code 321 (BTN_TOOL_RUBBER)
#     Event code 330 (BTN_TOUCH)
#     Event code 331 (BTN_STYLUS)
#   Event type 2 (EV_REL)
#     Event code 0 (REL_X)
#     Event code 1 (REL_Y)
#   Event type 3 (EV_ABS)
#     Event code 0 (ABS_X)
#       Value  16585
#       Min        0
#       Max    23472
#       Fuzz       0
#       Flat       0
#       Resolution 100
#     Event code 1 (ABS_Y)
#       Value  10961
#       Min        0
#       Max    13203
#       Fuzz       0
#       Flat       0
#       Resolution 100
#     Event code 24 (ABS_PRESSURE)
#       Value      0
#       Min        0
#       Max     1023
#       Fuzz       0
#       Flat       0
#       Resolution 0
#   Event type 4 (EV_MSC)
#     Event code 4 (MSC_SCAN)
#   Event type 20 (EV_REP)
# Properties:
N: MICROSOFT SAM
I: 0003 045e 0799 0111
P: 00 00 00 00 00 00 00 00
B: 00 1f 00 10 00 00 00 00 00
B: 01 00 00 00 20 00 00 00 01
B: 01 00 00 00 00 00 80 0e 20
B: 01 00 00 00 00 00 00 00 03
B: 01 00 00 00 00 00 00 00 00
B: 01 01 00 03 00 00 00 00 00
B: 01 03 0c 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 02 03 00 00 00 00 00 00 00
B: 03 03 00 00 01 00 00 00 00
B: 04 10 00 00 00 00 00 00 00
B: 05 00 00 00 00 00 00 00 00
B: 11 00 00 00 00 00 00 00 00
B: 12 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
A: 00 0 23472 0 0 100
A: 01 0 13203 0 0 100
A: 18 0 1023 0 0 0

Comment 5 Joakim Verona 2013-12-12 23:01:37 UTC
This one is better. Buttons work, pressure sensitivity works.

Section "InputClass"
    Identifier "Wacom class"
    MatchProduct "MICROSOFT SAM stylus"
    MatchDevicePath "/dev/input/event*"
    Driver "wacom"
EndSection

Section "InputDevice"
    Driver "wacom"
    Identifier "stylus"
    Option "USB" "on"
    Option "Device" "/dev/input/event3"
    Option "Type" "stylus"
    Option "Threshold" "5"
    Option        "Mode"         "Relative"
EndSection

Section "InputDevice"
    Driver        "wacom"
    Identifier    "eraser"
    Option "USB" "on"
    Option        "Device"       "/dev/input/event3"  
    Option        "Type"         "eraser"
    Option        "Mode"         "Relative"
    Option        "Threshold"    "5"  
EndSection

Section "InputDevice"
    Driver        "wacom"
    Identifier    "cursor"
    Option "USB" "on"
    Option        "Device"       "/dev/input/event3"  
    Option        "Type"         "cursor"
    Option        "Mode"         "Relative"
EndSection

Comment 6 Fedora End Of Life 2015-05-29 09:57:40 UTC
This message is a reminder that Fedora 20 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 20. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '20'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 20 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 7 Fedora End Of Life 2015-06-30 00:46:13 UTC
Fedora 20 changed to end-of-life (EOL) status on 2015-06-23. Fedora 20 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.