DIGImend / digimend-kernel-drivers

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

Huion New 1060 PLUS not working #77

Closed ghost closed 6 years ago

ghost commented 6 years ago

I picked up a new Huion 1060 plus and can't get it to work basically at all. It shows up in xinput as such:


⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Razer Razer BlackWidow Ultimate           id=9    [slave  pointer  (2)]
⎜   ↳ Razer Razer BlackWidow Ultimate           id=10   [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=12   [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=13   [slave  pointer  (2)]
**⎜   ↳ HID 256c:006e Pad                           id=15   [slave  pointer  (2)]**
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Razer Razer BlackWidow Ultimate           id=8    [slave  keyboard (3)]
    ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=11   [slave  keyboard (3)]
    ↳ Razer Razer BlackWidow Ultimate           id=16   [slave  keyboard (3)]
    ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=17   [slave  keyboard (3)]
    ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=18   [slave  keyboard (3)]
    **↳ HID 256c:006e Pen                           id=14   [slave  keyboard (3)]**

and half shows in lsusb, along with its flash drive:

**Bus 001 Device 025: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader**
**Bus 001 Device 024: ID 256c:006e**  
**Bus 001 Device 023: ID 058f:6254 Alcor Micro Corp. USB Hub**
Bus 001 Device 004: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 003: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 045e:0745 Microsoft Corp. Nano Transceiver v1.0 for Bluetooth
Bus 002 Device 002: ID 1532:011a Razer USA, Ltd 
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

I can get it to prove it's taking input as such:

$ sudo usbhid-dump -es -m 256c:006e
Starting dumping interrupt transfer stream
with 1 minute timeout.

001:024:000:STREAM             1506893800.951797
 08 80 2B 5F A2 31 00 00 00 00 00 00

001:024:000:STREAM             1506893800.953801
 08 81 2B 5F A2 31 79 00 00 00 00 00

001:024:000:STREAM             1506893800.957769
 08 81 2B 5F A2 31 4A 01 00 00 00 00

001:024:000:STREAM             1506893800.961769
 08 81 2B 5F A2 31 E8 01 00 00 00 00

001:024:000:STREAM             1506893800.965768
 08 81 2B 5F A2 31 78 02 00 00 00 00

001:024:000:STREAM             1506893800.967762
 08 81 2B 5F A2 31 FA 02 00 00 00 00

But, I can't get it to give any input back to EV test, or when I cat the events file in /sys/kernel/debug/hid/0003:256C:006E.001A or /sys/kernel/debug/hid/0003:256C:006E.001B after loggin in as root.

The rdesc files for A and B are

a: cat rdesc

05 0d 09 02 a1 01 85 0a 09 20 a1 00 09 42 09 44 09 45 09 3c 09 43 09 44 15 00 25 01 75 01 95 06 81 02 09 32 75 01 95 01 81 02 81 03 05 01 09 30 09 31 55 0d 65 33 26 ff 7f 35 00 46 00 08 75 10 95 02 81 02 05 0d 09 30 26 ff 07 75 10 95 01 81 02 c0 c0 

  INPUT(10)[INPUT]
    Field(0)
      Physical(Digitizers.Stylus)
      Application(Digitizers.Pen)
      Usage(6)
        Digitizers.TipSwitch
        Digitizers.BarrelSwitch
        Digitizers.Eraser
        Digitizers.Invert
        Digitizers.SecondaryTipSwitch
        Digitizers.BarrelSwitch
      Logical Minimum(0)
      Logical Maximum(1)
      Report Size(1)
      Report Count(6)
      Report Offset(0)
      Flags( Variable Absolute )
    Field(1)
      Physical(Digitizers.Stylus)
      Application(Digitizers.Pen)
      Usage(1)
        Digitizers.InRange
      Logical Minimum(0)
      Logical Maximum(1)
      Report Size(1)
      Report Count(1)
      Report Offset(6)
      Flags( Variable Absolute )
    Field(2)
      Physical(Digitizers.Stylus)
      Application(Digitizers.Pen)
      Usage(2)
        GenericDesktop.X
        GenericDesktop.Y
      Logical Minimum(0)
      Logical Maximum(32767)
      Physical Minimum(0)
      Physical Maximum(2048)
      Unit Exponent(-3)
      Unit(English Linear : Inch^3)
      Report Size(16)
      Report Count(2)
      Report Offset(8)
      Flags( Variable Absolute )
    Field(3)
      Physical(Digitizers.Stylus)
      Application(Digitizers.Pen)
      Usage(1)
        Digitizers.TipPressure
      Logical Minimum(0)
      Logical Maximum(2047)
      Physical Minimum(0)
      Physical Maximum(2048)
      Unit Exponent(-3)
      Unit(English Linear : Inch^3)
      Report Size(16)
      Report Count(1)
      Report Offset(40)
      Flags( Variable Absolute )

Digitizers.TipSwitch ---> Sync.Report
Digitizers.BarrelSwitch ---> Sync.Report
Digitizers.Eraser ---> Sync.Report
Digitizers.Invert ---> Sync.Report
Digitizers.SecondaryTipSwitch ---> Sync.Report
Digitizers.BarrelSwitch ---> Sync.Report
Digitizers.InRange ---> Sync.Report
GenericDesktop.X ---> Sync.Report
GenericDesktop.Y ---> Sync.Report
Digitizers.TipPressure ---> Sync.Report

and b:


05 0d 09 02 a1 01 85 07 09 20 a0 14 25 01 75 01 09 42 09 44 09 46 95 03 81 02 95 03 81 03 09 32 95 01 81 02 95 01 81 03 75 10 95 01 a4 05 01 65 13 55 fd 34 09 30 27 40 9c 00 00 47 10 27 00 00 81 02 09 31 27 a8 61 00 00 47 6a 18 00 00 81 02 b4 09 30 27 ff 1f 00 00 81 02 c0 c0 05 01 09 07 a1 01 85 f7 05 0d 09 39 a0 05 09 75 01 95 18 81 03 19 01 29 08 95 08 81 02 c0 c0 

  INPUT(7)[INPUT]
    Field(0)
      Physical(Digitizers.Stylus)
      Application(Digitizers.Pen)
      Usage(3)
        Digitizers.TipSwitch
        Digitizers.BarrelSwitch
        Digitizers.TabletPick
      Logical Minimum(0)
      Logical Maximum(1)
      Report Size(1)
      Report Count(3)
      Report Offset(0)
      Flags( Variable Absolute )
    Field(1)
      Physical(Digitizers.Stylus)
      Application(Digitizers.Pen)
      Usage(1)
        Digitizers.InRange
      Logical Minimum(0)
      Logical Maximum(1)
      Report Size(1)
      Report Count(1)
      Report Offset(6)
      Flags( Variable Absolute )
    Field(2)
      Physical(Digitizers.Stylus)
      Application(Digitizers.Pen)
      Usage(1)
        GenericDesktop.X
      Logical Minimum(0)
      Logical Maximum(40000)
      Physical Minimum(0)
      Physical Maximum(10000)
      Unit Exponent(-3)
      Unit(English Linear : Inch)
      Report Size(16)
      Report Count(1)
      Report Offset(8)
      Flags( Variable Absolute )
    Field(3)
      Physical(Digitizers.Stylus)
      Application(Digitizers.Pen)
      Usage(1)
        GenericDesktop.Y
      Logical Minimum(0)
      Logical Maximum(25000)
      Physical Minimum(0)
      Physical Maximum(6250)
      Unit Exponent(-3)
      Unit(English Linear : Inch)
      Report Size(16)
      Report Count(1)
      Report Offset(24)
      Flags( Variable Absolute )
    Field(4)
      Physical(Digitizers.Stylus)
      Application(Digitizers.Pen)
      Usage(1)
        Digitizers.TipPressure
      Logical Minimum(0)
      Logical Maximum(8191)
      Report Size(16)
      Report Count(1)
      Report Offset(40)
      Flags( Variable Absolute )
  INPUT(247)[INPUT]
    Field(0)
      Physical(Digitizers.TabletFunctionKey)
      Application(GenericDesktop.Keypad)
      Usage(8)
        Button.0001
        Button.0002
        Button.0003
        Button.0004
        Button.0005
        Button.0006
        Button.0007
        Button.0008
      Logical Minimum(0)
      Logical Maximum(8191)
      Report Size(1)
      Report Count(8)
      Report Offset(24)
      Flags( Variable Absolute )

Digitizers.TipSwitch ---> Key.Touch
Digitizers.BarrelSwitch ---> Key.Stylus
Digitizers.TabletPick ---> Key.Stylus2
Digitizers.InRange ---> Key.ToolPen
GenericDesktop.X ---> Absolute.X
GenericDesktop.Y ---> Absolute.Y
Digitizers.TipPressure ---> Absolute.Pressure
Button.0001 ---> Key.Btn0
Button.0002 ---> Key.Btn1
Button.0003 ---> Key.Btn2
Button.0004 ---> Key.Btn3
Button.0005 ---> Key.Btn4
Button.0006 ---> Key.Btn5
Button.0007 ---> Key.Btn6
Button.0008 ---> Key.Btn7
spbnick commented 6 years ago

Closing as a duplicate of #82. Reopen if you think this should still stay open.