I Need help rebuilding the Kernel, and excluding built-in modules, on jetson nano

I have wacom cintiq pro 13. Im trying to rebuild the kernel to exclude the built in wacom.ko, and wacom_8001.ko modules. The reason is because the built in modules wacom modules are out dated and dont work with my Cintiq. I use https://github.com/JetsonHacksNano/buildKernelAndModules to rebuild a kernel, i use ./editConfig to customize the kernel, excludinging the modules in HID/ and Input/, then i save the config. as no-wacom.comfig, then rebuild the kernel. But i dont think the nowacom.config is used when building the kernel. 2-5 hours later after its finally finish if it didnt end with a error,i copy the new kernel to the boot folder, reboot. i then clone https://github.com/linuxwacom/input-wacom/wiki/Installing-input-wacom-from-source, run ./configure, the run make && make install, then it say the wacom is built-in in my kernel config, but i though i told it not make them built in with the config.

any help would be greatly appreciated. ill put terminal outputs in a little while.

Some base information might be useful for you…

Every kernel results in a version which you can see via “uname -r”. Module files are always searched for within “/lib/modules/$(uname -r)/kernel/”. If the base kernel is compiled with a different “CONFIG_LOCALVERSION”, then that version changes, and so does the search location for modules.

Some features are directly added to the kernel (and in fact most are), and are not in the format of a separate module. During configuration the “y” for “yes” puts a feature directly in the base kernel, and not as a module. The “m” creates a module. If you were to go to “/lib/modules/$(uname -r)/kernel/”, and then find a module, followed by moving it elsewhere, or gzip of the file to change its name, then the module would not load and the feature would essentially become “n” (for “no”).

If you want to see what the kernel feature mix is on the Jetson, then you could run:

zcat /proc/config.gz

To specifically see what you have with “wacom” in the name:

zcat /proc/config.gz | grep -i "wacom"

On one system (not a Nano, but a TX2) I see:

# zcat /proc/config.gz | grep -i wacom
# CONFIG_TABLET_SERIAL_WACOM4 is not set
# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
CONFIG_HID_WACOM<b>=y</b>

This tells me there are no “.ko” kernel module files involved and that the feature is integrated. You can remove the feature, but this is not done via a module. Adding a feature is a separate step once this is removed.

The “uname -r” of this system is “4.9.140-tegra”. This means that the “CONFIG_LOCALVERSION” was set (within the kernel configuration, prior to compile) as “-tegra”. If I wanted to remove the wacom parameter, then I’d need to rebuild the base kernel, and not modules. I would reuse all of the original modules, as there is no reason to rebuild everything since wacom is not a module. In order to reuse the existing modules I would make sure my “CONFIG_LOCALVERSION” remains as “-tegra”, and the only config change (after I have “/proc/config.gz” uncompressed and named “.config” in the kernel source build) would be to change this config item:

CONFIG_HID_WACOM<b>=n</b>

Then I would build the “.ko” kernel module from the external source you really want. A simple file copy to the right location, and an “sudo depmod -A” (or reboot) should put your module in place (the “=n” does not disable a feature, but instead simply chooses to not build the module…your module in the correct location will still work).

In the kernel source the Wacom driver for HID is under “drivers/hid/”, and so the traditional place to put the module would be here:

/lib/modules/$(uname -r)/kernel/<b>drivers/hid/</b>

Summary:

  1. Use the existing configuration by copying "/proc/config.gz" somewhere safe.
  2. Wherever you compile your source, copy the "config.gz" to the top level directory.
  3. Unpack:
    gunzip config.gz
    mv config .config
    
  4. Edit ".config", and if your "uname -r" ends in "-tegra", then edit:
    CONFIG_LOCALVERSION="-tegra"
    

    (this “.config” replaces any “make something_defconfig”)

  5. Use your favorite kernel config editor and disable the Wacom feature with "=n" (my favorite editor is "make nconfig" since it can search for symbols, e.g., it can go straight to "CONFIG_HID_WACOM").
  6. Build the kernel, and ignore modules. Assuming you compile natively
  7. At this point the Image file is what you want since it has no Wacom in it.
  8. Follow instructions for adding the new Image file and reboot. Verify your "uname -r" has not changed...if it has, then modules will fail since search is now in the wrong location.
  9. At this point your system is running normally other than not having the Wacom driver. Verify the CONFIG_HID_WACOM is now "=n":
    zcat /proc/config.gz | grep -i "wacom"
    
  10. Follow your instructions for building only the Wacom driver as a ".ko" module.
  11. Copy the ".ko" file to "/lib/modules/$(uname -r)/kernel/drivers/hid/".
  12. Run "sudo depmod -A" or reboot (or both).
  13. Verify the ".ko" file is visible:
    lsmod | grep -i wacom
    

NOTE: If you build the base kernel Image file, and “uname -r” changes such that it has an extra “+” on the end of the “uname -r”, then you can "get rid of the pesky “+”. If you have this issue, then in the kernel source find “scripts/setlocalversion”. Then edit this file, find function “scm_version()”, and make sure it forcibly returns prior to getting a chance to append the “+”:

scm_version()
{
        local short
        short=false
        **return**

Sorry, for going M.I.A, but i have just been really busy. But after doing alot of digging, i realised that all ubuntu derivatives have the same issue it seems, from pop-os linux mint, xbuntu, etc, regardless up the distro. The input-wacom, and linuxwacom are out of date, and updating them seems to be a pain, because of missing dependencies, or those dependencies in ubuntu repos are out of date. This makes compiling linuxwacom driver difficult. i tried what you suggested, but it kept outputting the same error. I will post he error later today, after i get off work. But i was able to recompile the kernel with the new input-wacom source files, but i havent tested the new image. I bought a 3rd nano to help speed up this whole process. And installed barrier to server as a kvm, so testing can go alot smoother. Because i ranned into alot of road blocks and issues. Ill post more info later when i get home, its the weekend so i have time to work on it. Thanks linuxdev

This is the error that keeps popping up, even after trying what you suggested

input-wacom-0.45.0 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 thread-safe mkdir -p… /bin/mkdir -p
checking for gawk… no
checking for mawk… mawk
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 we are using the GNU C compiler… yes
checking whether gcc accepts -g… yes
checking for gcc option to accept ISO C89… 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/mark/Downloads/input-wacom-0.45.0’ has spaces… no
checking for kernel type… Linux
checking for linux-based kernel… yes
checking for kernel source/headers… /lib/modules/4.9.140-tegra/source
checking kernel version… 4.9.140-tegra
checking RHEL6 minor release… 0
checking RHEL7 minor release… 0
checking power supply version… v4.1+
checking abs accessor version… v2.6.36+
checking CONFIG_MODULE_SIG…
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… no
checking CONFIG_MODULE_SIG_HASH…
checking for module signing hash algorithm… sha512
checking for kernel autogenerated key at /lib/modules/4.9.140-tegra/source/… no
checking for kernel autogenerated cert at /lib/modules/4.9.140-tegra/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…

checking that generated files are newer than configure… done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating 2.6.32/Makefile
config.status: creating 2.6.38/Makefile
config.status: creating 3.7/Makefile
config.status: creating 3.17/Makefile
config.status: creating 4.5/Makefile
config.status: creating config.h
config.status: executing depfiles commands
configure:

BUILD ENVIRONMENT:
linux kernel - yes 4.5
kernel source - yes /lib/modules/4.9.140-tegra/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/mark/Downloads/input-wacom-0.45.0’
Making all in 4.5
make[2]: Entering directory ‘/home/mark/Downloads/input-wacom-0.45.0/4.5’
Building input-wacom drivers for 4.5 kernel.
make -C /lib/modules/4.9.140-tegra/source M=/home/mark/Downloads/input-wacom-0.45.0/4.5
make[3]: Entering directory ‘/usr/src/linux-headers-4.9.140-tegra-ubuntu18.04_aarch64/kernel-4.9’
/home/mark/Downloads/input-wacom-0.45.0/4.5/Makefile:14: *** You requested to build wacom with configure, but wacom is configured as built-in in your kernel config. Stop.
Makefile:1629: recipe for target ‘module/home/mark/Downloads/input-wacom-0.45.0/4.5’ failed
make[3]: *** [module/home/mark/Downloads/input-wacom-0.45.0/4.5] Error 2
make[3]: Leaving directory ‘/usr/src/linux-headers-4.9.140-tegra-ubuntu18.04_aarch64/kernel-4.9’
Makefile:39: recipe for target ‘all’ failed
make[2]: *** [all] Error 2
make[2]: Leaving directory ‘/home/mark/Downloads/input-wacom-0.45.0/4.5’
Makefile:376: recipe for target ‘all-recursive’ failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory ‘/home/mark/Downloads/input-wacom-0.45.0’
Makefile:307: recipe for target ‘all’ failed
make: *** [all] Error 2
Build Failed

Im currently trying to make a script to auto the process and add the source file to build a new kernel image, and install everything thing else. this is a hea

NOTE: To see your current L4T release use “head -n 1 /etc/nv_tegra_release”. Also, I substitute “$(uname -r)” in places below, but for you this is the same as “4.9.140-tegra”. You will maybe use that information as you work, e.g., in a kernel config item “CONFIG_LOCALVERSION”, the “-tegra” suffix implies “CONFIG_LOCALVERSION=-tegra”.

Changing the actual Xorg X11 server release is problematic, but from what I see you shouldn’t need to worry about it. The configure warns about releases prior to 1.7, but you can verify your version is more recent with:

egrep 'X.Org X Server [0-9]' /var/log/Xorg.0.log

There are, however, two issues you do need to consider. The file “/lib/modules/(uname -r)/source" would normally by a symbolic link pointed to "/lib/modules/(uname -r)/build”, and this in turn would point at the kernel source which is configured to match your currently running system. This is rather long, but it explains how to set up the full kernel source on the Jetson and to configure that source:
https://devtalk.nvidia.com/default/topic/1047880/jetson-tx1/mount-network-folder-samba-cifs/post/5322451/#5322451

If you place your full kernel source into the Jetson, and need to figure out the symbolic links, just ask. The “source” and “build” symbolic links are not actually used for boot, and so having these wrong won’t in any way risk boot problems (some application builds require kernel headers, and others require full kernel source, and it looks like your build wants kernel source with a symbolic link pointing at more than just headers).

The most recent R32.3.1+ release may already have kernel headers, but if you need full source, then you may still need to follow the above paragraph to install not just headers, but full source. I don’t know if R32.3.1+ release has added a “.deb” package method to add full source, but I do know the above will work, and that even if source is installed, then you will still want to configure that source to match your running system. Even if you use a package based kernel source install you would still need to configure it.

The second problem is:

*** You requested to build wacom with configure, but wacom is configured as built-in in your kernel config. Stop.

Once you have fully configured the source, then you could remove the built-in configuration for the Wacom, and then reconfigure it as a module, e.g., via taking a previously matching config and using “make nconfig” from the source directory to change only that item while keeping the rest of the config the same.

Make sure you follow the instructions for placing the new Image on your version of the Nano or the system may not boot. You could leave out the new Wacom tablet module for now and this shouldn’t prevent boot, and then when you build the module against that source it will just be a file copy and it should work.

NOTE: Official docs show how to cross compile from a host PC. This would also work. In that case you would still configure your kernel source to match the running system, then use a config editor to remove the built-in Wacom feature, and change it instead to module format. Then you could cross compile the third party Wacom module against that.

If you want to know more about modules versus integrated kernel features, then see this (not necessary, but you might find it useful):
https://devtalk.nvidia.com/default/topic/1012382/jetson-tx2/usb-wifi-adapter-s-/post/5290682/#5290682

i want to provide some more log info. i used the kernel to build the modules, this is the output of dmesg and syslog kern.log, when my cintiq pro us plugged up.

==> /var/log/kern.log <==
Mar 8 10:06:58 mark-desktop kernel: [ 1098.578458] usb 1-2.3.4.1: new full-speed USB device number 10 using tegra-xusb

==> /var/log/dmesg.log <==
[ 1098.578458] usb 1-2.3.4.1: new full-speed USB device number 10 using tegra-xusb
[ 1098.600819] usb 1-2.3.4.1: New USB device found, idVendor=056a, idProduct=034f
[ 1098.600826] usb 1-2.3.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1098.600830] usb 1-2.3.4.1: Product: Cintiq Pro 13
[ 1098.600834] usb 1-2.3.4.1: Manufacturer: Wacom Co.,Ltd.
[ 1098.600837] usb 1-2.3.4.1: SerialNumber: 8KQ0061000119

==> /var/log/syslog <==
Mar 8 10:06:58 mark-desktop kernel: [ 1098.600819] usb 1-2.3.4.1: New USB device found, idVendor=056a, idProduct=034f
Mar 8 10:06:58 mark-desktop kernel: [ 1098.600826] usb 1-2.3.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Mar 8 10:06:58 mark-desktop kernel: [ 1098.600830] usb 1-2.3.4.1: Product: Cintiq Pro 13
Mar 8 10:06:58 mark-desktop kernel: [ 1098.600834] usb 1-2.3.4.1: Manufacturer: Wacom Co.,Ltd.
Mar 8 10:06:58 mark-desktop kernel: [ 1098.600837] usb 1-2.3.4.1: SerialNumber: 8KQ0061000119

==> /var/log/kern.log <==
Mar 8 10:06:58 mark-desktop kernel: [ 1098.600819] usb 1-2.3.4.1: New USB device found, idVendor=056a, idProduct=034f
Mar 8 10:06:58 mark-desktop kernel: [ 1098.600826] usb 1-2.3.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Mar 8 10:06:58 mark-desktop kernel: [ 1098.600830] usb 1-2.3.4.1: Product: Cintiq Pro 13
Mar 8 10:06:58 mark-desktop kernel: [ 1098.600834] usb 1-2.3.4.1: Manufacturer: Wacom Co.,Ltd.
Mar 8 10:06:58 mark-desktop kernel: [ 1098.600837] usb 1-2.3.4.1: SerialNumber: 8KQ0061000119

==> /var/log/dmesg.log <==
[ 1098.608367] input: Wacom Co.,Ltd. Cintiq Pro 13 Pen as /devices/70090000.xusb/usb1/1-2/1-2.3/1-2.3.4/1-2.3.4.1/1-2.3.4.1:1.0/0003:056A:034F.0006/input/input6
[ 1098.609222] wacom 0003:056A:034F.0006: hidraw2: USB HID v1.10 Device [Wacom Co.,Ltd. Cintiq Pro 13] on usb-70090000.xusb-2.3.4.1/input0

==> /var/log/syslog <==
Mar 8 10:06:58 mark-desktop kernel: [ 1098.608367] input: Wacom Co.,Ltd. Cintiq Pro 13 Pen as /devices/70090000.xusb/usb1/1-2/1-2.3/1-2.3.4/1-2.3.4.1/1-2.3.4.1:1.0/0003:056A:034F.0006/input/input6
Mar 8 10:06:58 mark-desktop kernel: [ 1098.609222] wacom 0003:056A:034F.0006: hidraw2: USB HID v1.10 Device [Wacom Co.,Ltd. Cintiq Pro 13] on usb-70090000.xusb-2.3.4.1/input0

==> /var/log/kern.log <==
Mar 8 10:06:58 mark-desktop kernel: [ 1098.608367] input: Wacom Co.,Ltd. Cintiq Pro 13 Pen as /devices/70090000.xusb/usb1/1-2/1-2.3/1-2.3.4/1-2.3.4.1/1-2.3.4.1:1.0/0003:056A:034F.0006/input/input6
Mar 8 10:06:58 mark-desktop kernel: [ 1098.609222] wacom 0003:056A:034F.0006: hidraw2: USB HID v1.10 Device [Wacom Co.,Ltd. Cintiq Pro 13] on usb-70090000.xusb-2.3.4.1/input0

==> /var/log/syslog <==
Mar 8 10:06:58 mark-desktop nautilus-autostart.desktop[6713]: message repeated 68 times: [ Error: Can’t initialize nvrm channel]
Mar 8 10:06:58 mark-desktop mtp-probe: checking bus 1, device 10: “/sys/devices/70090000.xusb/usb1/1-2/1-2.3/1-2.3.4/1-2.3.4.1”
Mar 8 10:06:58 mark-desktop mtp-probe: bus: 1, device: 10 was not an MTP device
Mar 8 10:06:58 mark-desktop nautilus-autostart.desktop[6713]: Error: Can’t initialize nvrm channel
Mar 8 10:06:58 mark-desktop nautilus-autostart.desktop[6713]: Error: Can’t initialize nvrm channel
Mar 8 10:06:58 mark-desktop fwupd[8256]: failed to add USB device 056a:034f: command response was 0 expected 213
Mar 8 10:06:58 mark-desktop nautilus-autostart.desktop[6713]: Error: Can’t initialize nvrm channel
Mar 8 10:06:58 mark-desktop /usr/lib/gdm3/gdm-x-session[5617]: (II) config/udev: Adding input device (unnamed) (/dev/input/event3)
Mar 8 10:06:58 mark-desktop /usr/lib/gdm3/gdm-x-session[5617]: () (unnamed): Applying InputClass “libinput tablet catchall”
Mar 8 10:06:58 mark-desktop /usr/lib/gdm3/gdm-x-session[5617]: (II) Using input driver ‘libinput’ for ‘(unnamed)’
Mar 8 10:06:58 mark-desktop /usr/lib/gdm3/gdm-x-session[5617]: (EE) systemd-logind: failed to take device /dev/input/event3: No such device
Mar 8 10:06:58 mark-desktop /usr/lib/gdm3/gdm-x-session[5617]: (
) (unnamed): always reports core events
Mar 8 10:06:58 mark-desktop /usr/lib/gdm3/gdm-x-session[5617]: () Option “Device” “/dev/input/event3”
Mar 8 10:06:58 mark-desktop /usr/lib/gdm3/gdm-x-session[5617]: (
) Option “_source” “server/udev”
Mar 8 10:06:58 mark-desktop /usr/lib/gdm3/gdm-x-session[5617]: (EE) client bug: Invalid path /dev/input/event3
Mar 8 10:06:58 mark-desktop /usr/lib/gdm3/gdm-x-session[5617]: (EE) libinput: (unnamed): Failed to create a device for /dev/input/event3
Mar 8 10:06:58 mark-desktop /usr/lib/gdm3/gdm-x-session[5617]: (EE) PreInit returned 2 for “(unnamed)”
Mar 8 10:06:58 mark-desktop /usr/lib/gdm3/gdm-x-session[5617]: (II) UnloadModule: “libinput”
Mar 8 10:06:58 mark-desktop nautilus-autostart.desktop[6713]: Error: Can’t initialize nvrm channel
Mar 8 10:06:59 mark-desktop nautilus-autostart.desktop[6713]: message repeated 51 times: [ Error: Can’t initialize nvrm channel]
Mar 8 10:06:59 mark-desktop ModemManager[4255]: Couldn’t check support for device ‘/sys/devices/70090000.xusb/usb1/1-2/1-2.3/1-2.3.4/1-2.3.4.4’: not supported by any plugin
Mar 8 10:06:59 mark-desktop nautilus-autostart.desktop[6713]: Error: Can’t initialize nvrm channel
Mar 8 10:08:56 mark-desktop kernel: [ 1216.270177] FAN rising trip_level:1 cur_temp:51000 trip_temps[2]:61000

==> /var/log/kern.log <==
Mar 8 10:08:56 mark-desktop kernel: [ 1216.270177] FAN rising trip_level:1 cur_temp:51000 trip_temps[2]:61000

==> /var/log/dmesg.log <==
[ 1216.270177] FAN rising trip_level:1 cur_temp:51000 trip_temps[2]:61000

seems like it recognized it as a input but no modules are loaded that were built from the kernel. but i was able to get it to make the modules externally. so i will try to build a image and see if i can try to get the newer modules built from source. but im also wonder if the xserver/ xserver-input-wacom, could also be causing part of the problem

Here is the output from Kali linux, where the same tablet is working just fine out of the box no configuration/installation needed, i quickly realized the outputs arent the same.

==> /var/log/messages <==
Mar 8 10:41:23 R-kali kernel: [565148.734008] usb 2-3: new high-speed USB device number 29 using xhci_hcd

==> /var/log/dmesg.log <==
[565148.754339] usb 2-3: New USB device found, idVendor=056a, idProduct=036f, bcdDevice= 1.00
[565148.754343] usb 2-3: New USB device strings: Mfr=0, Product=0, SerialNumber=1
[565148.754344] usb 2-3: SerialNumber: 8F03006110CE
[565148.754758] hub 2-3:1.0: USB hub found
[565148.754821] hub 2-3:1.0: 4 ports detected

==> /var/log/syslog <==
Mar 8 10:41:23 R-kali kernel: [565148.754339] usb 2-3: New USB device found, idVendor=056a, idProduct=036f, bcdDevice= 1.00
Mar 8 10:41:23 R-kali kernel: [565148.754343] usb 2-3: New USB device strings: Mfr=0, Product=0, SerialNumber=1
Mar 8 10:41:23 R-kali kernel: [565148.754344] usb 2-3: SerialNumber: 8F03006110CE
Mar 8 10:41:23 R-kali kernel: [565148.754758] hub 2-3:1.0: USB hub found
Mar 8 10:41:23 R-kali kernel: [565148.754821] hub 2-3:1.0: 4 ports detected

==> /var/log/messages <==
Mar 8 10:41:23 R-kali kernel: [565148.754339] usb 2-3: New USB device found, idVendor=056a, idProduct=036f, bcdDevice= 1.00
Mar 8 10:41:23 R-kali kernel: [565148.754343] usb 2-3: New USB device strings: Mfr=0, Product=0, SerialNumber=1
Mar 8 10:41:23 R-kali kernel: [565148.754344] usb 2-3: SerialNumber: 8F03006110CE
Mar 8 10:41:23 R-kali kernel: [565148.754758] hub 2-3:1.0: USB hub found
Mar 8 10:41:23 R-kali kernel: [565148.754821] hub 2-3:1.0: 4 ports detected

==> /var/log/dmesg.log <==
[565149.042001] usb 2-3.4: new high-speed USB device number 30 using xhci_hcd

==> /var/log/syslog <==
Mar 8 10:41:23 R-kali kernel: [565149.042001] usb 2-3.4: new high-speed USB device number 30 using xhci_hcd

==> /var/log/messages <==
Mar 8 10:41:23 R-kali kernel: [565149.042001] usb 2-3.4: new high-speed USB device number 30 using xhci_hcd

==> /var/log/dmesg.log <==
[565149.062473] usb 2-3.4: New USB device found, idVendor=056a, idProduct=0366, bcdDevice= 1.00
[565149.062477] usb 2-3.4: New USB device strings: Mfr=0, Product=0, SerialNumber=1
[565149.062479] usb 2-3.4: SerialNumber: AF03008110CE
[565149.062922] hub 2-3.4:1.0: USB hub found

==> /var/log/syslog <==
Mar 8 10:41:23 R-kali kernel: [565149.062473] usb 2-3.4: New USB device found, idVendor=056a, idProduct=0366, bcdDevice= 1.00
Mar 8 10:41:23 R-kali kernel: [565149.062477] usb 2-3.4: New USB device strings: Mfr=0, Product=0, SerialNumber=1
Mar 8 10:41:23 R-kali kernel: [565149.062479] usb 2-3.4: SerialNumber: AF03008110CE
Mar 8 10:41:23 R-kali kernel: [565149.062922] hub 2-3.4:1.0: USB hub found
Mar 8 10:41:23 R-kali kernel: [565149.062951] hub 2-3.4:1.0: 4 ports detected

==> /var/log/dmesg.log <==
[565149.062951] hub 2-3.4:1.0: 4 ports detected

==> /var/log/messages <==
Mar 8 10:41:23 R-kali kernel: [565149.062473] usb 2-3.4: New USB device found, idVendor=056a, idProduct=0366, bcdDevice= 1.00
Mar 8 10:41:23 R-kali kernel: [565149.062477] usb 2-3.4: New USB device strings: Mfr=0, Product=0, SerialNumber=1
Mar 8 10:41:23 R-kali kernel: [565149.062479] usb 2-3.4: SerialNumber: AF03008110CE
Mar 8 10:41:23 R-kali kernel: [565149.062922] hub 2-3.4:1.0: USB hub found
Mar 8 10:41:23 R-kali kernel: [565149.062951] hub 2-3.4:1.0: 4 ports detected

==> /var/log/dmesg.log <==
[565149.350009] usb 2-3.4.1: new full-speed USB device number 31 using xhci_hcd

==> /var/log/syslog <==
Mar 8 10:41:23 R-kali kernel: [565149.350009] usb 2-3.4.1: new full-speed USB device number 31 using xhci_hcd

==> /var/log/messages <==
Mar 8 10:41:23 R-kali kernel: [565149.350009] usb 2-3.4.1: new full-speed USB device number 31 using xhci_hcd

==> /var/log/dmesg.log <==
[565149.452226] usb 2-3.4.1: New USB device found, idVendor=056a, idProduct=034f, bcdDevice= 1.23
[565149.452229] usb 2-3.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[565149.452231] usb 2-3.4.1: Product: Cintiq Pro 13
[565149.452233] usb 2-3.4.1: Manufacturer: Wacom Co.,Ltd.

==> /var/log/syslog <==
Mar 8 10:41:23 R-kali kernel: [565149.452226] usb 2-3.4.1: New USB device found, idVendor=056a, idProduct=034f, bcdDevice= 1.23
Mar 8 10:41:23 R-kali kernel: [565149.452229] usb 2-3.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Mar 8 10:41:23 R-kali kernel: [565149.452231] usb 2-3.4.1: Product: Cintiq Pro 13
Mar 8 10:41:23 R-kali kernel: [565149.452233] usb 2-3.4.1: Manufacturer: Wacom Co.,Ltd.
Mar 8 10:41:23 R-kali kernel: [565149.452234] usb 2-3.4.1: SerialNumber: 8KQ0061000119

==> /var/log/dmesg.log <==
[565149.452234] usb 2-3.4.1: SerialNumber: 8KQ0061000119

==> /var/log/messages <==
Mar 8 10:41:23 R-kali kernel: [565149.452226] usb 2-3.4.1: New USB device found, idVendor=056a, idProduct=034f, bcdDevice= 1.23
Mar 8 10:41:23 R-kali kernel: [565149.452229] usb 2-3.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Mar 8 10:41:23 R-kali kernel: [565149.452231] usb 2-3.4.1: Product: Cintiq Pro 13
Mar 8 10:41:23 R-kali kernel: [565149.452233] usb 2-3.4.1: Manufacturer: Wacom Co.,Ltd.
Mar 8 10:41:23 R-kali kernel: [565149.452234] usb 2-3.4.1: SerialNumber: 8KQ0061000119

==> /var/log/dmesg.log <==
[565149.459080] input: Wacom Cintiq Pro 13 Pen as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.1/2-3.4.1:1.0/0003:056A:034F.0016/input/input41
[565149.459274] input: Wacom Cintiq Pro 13 Pad as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.1/2-3.4.1:1.0/0003:056A:034F.0016/input/input43

==> /var/log/syslog <==
Mar 8 10:41:23 R-kali kernel: [565149.459080] input: Wacom Cintiq Pro 13 Pen as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.1/2-3.4.1:1.0/0003:056A:034F.0016/input/input41
Mar 8 10:41:23 R-kali kernel: [565149.459274] input: Wacom Cintiq Pro 13 Pad as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.1/2-3.4.1:1.0/0003:056A:034F.0016/input/input43
Mar 8 10:41:23 R-kali kernel: [565149.459460] wacom 0003:056A:034F.0016: hidraw2: USB HID v1.10 Device [Wacom Co.,Ltd. Cintiq Pro 13] on usb-0000:00:14.0-3.4.1/input0

==> /var/log/dmesg.log <==
[565149.459460] wacom 0003:056A:034F.0016: hidraw2: USB HID v1.10 Device [Wacom Co.,Ltd. Cintiq Pro 13] on usb-0000:00:14.0-3.4.1/input0

==> /var/log/messages <==
Mar 8 10:41:23 R-kali kernel: [565149.459080] input: Wacom Cintiq Pro 13 Pen as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.1/2-3.4.1:1.0/0003:056A:034F.0016/input/input41
Mar 8 10:41:23 R-kali kernel: [565149.459274] input: Wacom Cintiq Pro 13 Pad as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.1/2-3.4.1:1.0/0003:056A:034F.0016/input/input43
Mar 8 10:41:23 R-kali kernel: [565149.459460] wacom 0003:056A:034F.0016: hidraw2: USB HID v1.10 Device [Wacom Co.,Ltd. Cintiq Pro 13] on usb-0000:00:14.0-3.4.1/input0

==> /var/log/syslog <==
Mar 8 10:41:23 R-kali mtp-probe: checking bus 2, device 31: “/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.1”

==> /var/log/messages <==
Mar 8 10:41:23 R-kali mtp-probe: checking bus 2, device 31: “/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.1”

==> /var/log/syslog <==
Mar 8 10:41:23 R-kali mtp-probe: bus: 2, device: 31 was not an MTP device

==> /var/log/messages <==
Mar 8 10:41:23 R-kali mtp-probe: bus: 2, device: 31 was not an MTP device

==> /var/log/syslog <==
Mar 8 10:41:23 R-kali kernel: [565149.538026] usb 2-3.4.2: new full-speed USB device number 32 using xhci_hcd

==> /var/log/dmesg.log <==
[565149.538026] usb 2-3.4.2: new full-speed USB device number 32 using xhci_hcd

==> /var/log/messages <==
Mar 8 10:41:23 R-kali kernel: [565149.538026] usb 2-3.4.2: new full-speed USB device number 32 using xhci_hcd

==> /var/log/dmesg.log <==
[565149.643832] usb 2-3.4.2: New USB device found, idVendor=056a, idProduct=0353, bcdDevice= 1.01
[565149.643836] usb 2-3.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[565149.643839] usb 2-3.4.2: Product: Cintiq Pro 13 Touch

==> /var/log/syslog <==
Mar 8 10:41:23 R-kali kernel: [565149.643832] usb 2-3.4.2: New USB device found, idVendor=056a, idProduct=0353, bcdDevice= 1.01
Mar 8 10:41:23 R-kali kernel: [565149.643836] usb 2-3.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Mar 8 10:41:23 R-kali kernel: [565149.643839] usb 2-3.4.2: Product: Cintiq Pro 13 Touch
Mar 8 10:41:23 R-kali kernel: [565149.643841] usb 2-3.4.2: Manufacturer: Wacom Co.,Ltd.

==> /var/log/dmesg.log <==
[565149.643841] usb 2-3.4.2: Manufacturer: Wacom Co.,Ltd.

==> /var/log/messages <==
Mar 8 10:41:23 R-kali kernel: [565149.643832] usb 2-3.4.2: New USB device found, idVendor=056a, idProduct=0353, bcdDevice= 1.01
Mar 8 10:41:23 R-kali kernel: [565149.643836] usb 2-3.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Mar 8 10:41:23 R-kali kernel: [565149.643839] usb 2-3.4.2: Product: Cintiq Pro 13 Touch
Mar 8 10:41:23 R-kali kernel: [565149.643841] usb 2-3.4.2: Manufacturer: Wacom Co.,Ltd.

==> /var/log/syslog <==
Mar 8 10:41:23 R-kali mtp-probe: checking bus 2, device 31: “/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.1”

==> /var/log/messages <==
Mar 8 10:41:23 R-kali mtp-probe: checking bus 2, device 31: “/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.1”

==> /var/log/syslog <==
Mar 8 10:41:23 R-kali mtp-probe: bus: 2, device: 31 was not an MTP device

==> /var/log/messages <==
Mar 8 10:41:23 R-kali mtp-probe: bus: 2, device: 31 was not an MTP device

==> /var/log/dmesg.log <==
[565149.650016] input: Wacom Cintiq Pro 13 Touch Finger as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.2/2-3.4.2:1.0/0003:056A:0353.0017/input/input45
[565149.650406] wacom 0003:056A:0353.0017: hidraw3: USB HID v1.11 Device [Wacom Co.,Ltd. Cintiq Pro 13 Touch] on usb-0000:00:14.0-3.4.2/input0

==> /var/log/syslog <==
Mar 8 10:41:23 R-kali kernel: [565149.650016] input: Wacom Cintiq Pro 13 Touch Finger as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.2/2-3.4.2:1.0/0003:056A:0353.0017/input/input45
Mar 8 10:41:23 R-kali kernel: [565149.650406] wacom 0003:056A:0353.0017: hidraw3: USB HID v1.11 Device [Wacom Co.,Ltd. Cintiq Pro 13 Touch] on usb-0000:00:14.0-3.4.2/input0

==> /var/log/messages <==
Mar 8 10:41:23 R-kali kernel: [565149.650016] input: Wacom Cintiq Pro 13 Touch Finger as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.2/2-3.4.2:1.0/0003:056A:0353.0017/input/input45
Mar 8 10:41:23 R-kali kernel: [565149.650406] wacom 0003:056A:0353.0017: hidraw3: USB HID v1.11 Device [Wacom Co.,Ltd. Cintiq Pro 13 Touch] on usb-0000:00:14.0-3.4.2/input0

==> /var/log/syslog <==
Mar 8 10:41:23 R-kali mtp-probe: checking bus 2, device 32: “/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.2”

==> /var/log/messages <==
Mar 8 10:41:23 R-kali mtp-probe: checking bus 2, device 32: “/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.2”

==> /var/log/syslog <==
Mar 8 10:41:23 R-kali mtp-probe: bus: 2, device: 32 was not an MTP device

==> /var/log/messages <==
Mar 8 10:41:23 R-kali mtp-probe: bus: 2, device: 32 was not an MTP device

==> /var/log/dmesg.log <==
[565149.730022] usb 2-3.4.3: new high-speed USB device number 33 using xhci_hcd

==> /var/log/syslog <==
Mar 8 10:41:23 R-kali kernel: [565149.730022] usb 2-3.4.3: new high-speed USB device number 33 using xhci_hcd

==> /var/log/messages <==
Mar 8 10:41:23 R-kali kernel: [565149.730022] usb 2-3.4.3: new high-speed USB device number 33 using xhci_hcd

==> /var/log/dmesg.log <==
[565149.754199] usb 2-3.4.3: New USB device found, idVendor=05e3, idProduct=0749, bcdDevice=15.31
[565149.754202] usb 2-3.4.3: New USB device strings: Mfr=3, Product=4, SerialNumber=5
[565149.754204] usb 2-3.4.3: Product: USB3 Reader
[565149.754206] usb 2-3.4.3: Manufacturer: Genesys
[565149.754207] usb 2-3.4.3: SerialNumber: 8KQ0061000119
[565149.755062] usb-storage 2-3.4.3:1.0: USB Mass Storage device detected
[565149.755248] scsi host7: usb-storage 2-3.4.3:1.0

==> /var/log/syslog <==
Mar 8 10:41:24 R-kali kernel: [565149.754199] usb 2-3.4.3: New USB device found, idVendor=05e3, idProduct=0749, bcdDevice=15.31
Mar 8 10:41:24 R-kali kernel: [565149.754202] usb 2-3.4.3: New USB device strings: Mfr=3, Product=4, SerialNumber=5
Mar 8 10:41:24 R-kali kernel: [565149.754204] usb 2-3.4.3: Product: USB3 Reader
Mar 8 10:41:24 R-kali kernel: [565149.754206] usb 2-3.4.3: Manufacturer: Genesys
Mar 8 10:41:24 R-kali kernel: [565149.754207] usb 2-3.4.3: SerialNumber: 8KQ0061000119
Mar 8 10:41:24 R-kali kernel: [565149.755062] usb-storage 2-3.4.3:1.0: USB Mass Storage device detected
Mar 8 10:41:24 R-kali kernel: [565149.755248] scsi host7: usb-storage 2-3.4.3:1.0

==> /var/log/messages <==
Mar 8 10:41:24 R-kali kernel: [565149.754199] usb 2-3.4.3: New USB device found, idVendor=05e3, idProduct=0749, bcdDevice=15.31
Mar 8 10:41:24 R-kali kernel: [565149.754202] usb 2-3.4.3: New USB device strings: Mfr=3, Product=4, SerialNumber=5
Mar 8 10:41:24 R-kali kernel: [565149.754204] usb 2-3.4.3: Product: USB3 Reader
Mar 8 10:41:24 R-kali kernel: [565149.754206] usb 2-3.4.3: Manufacturer: Genesys
Mar 8 10:41:24 R-kali kernel: [565149.754207] usb 2-3.4.3: SerialNumber: 8KQ0061000119
Mar 8 10:41:24 R-kali kernel: [565149.755062] usb-storage 2-3.4.3:1.0: USB Mass Storage device detected
Mar 8 10:41:24 R-kali kernel: [565149.755248] scsi host7: usb-storage 2-3.4.3:1.0

==> /var/log/syslog <==
Mar 8 10:41:24 R-kali mtp-probe: checking bus 2, device 33: “/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.3”

==> /var/log/messages <==
Mar 8 10:41:24 R-kali mtp-probe: checking bus 2, device 33: “/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.3”

==> /var/log/syslog <==
Mar 8 10:41:24 R-kali mtp-probe: bus: 2, device: 33 was not an MTP device

==> /var/log/messages <==
Mar 8 10:41:24 R-kali mtp-probe: bus: 2, device: 33 was not an MTP device

==> /var/log/syslog <==
Mar 8 10:41:24 R-kali mtp-probe: checking bus 2, device 33: “/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.3”

==> /var/log/messages <==
Mar 8 10:41:24 R-kali mtp-probe: checking bus 2, device 33: “/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.3”

==> /var/log/syslog <==
Mar 8 10:41:24 R-kali mtp-probe: bus: 2, device: 33 was not an MTP device

==> /var/log/messages <==
Mar 8 10:41:24 R-kali mtp-probe: bus: 2, device: 33 was not an MTP device

==> /var/log/syslog <==
Mar 8 10:41:24 R-kali mtp-probe: checking bus 2, device 32: “/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.2”

==> /var/log/messages <==
Mar 8 10:41:24 R-kali mtp-probe: checking bus 2, device 32: “/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.2”

==> /var/log/syslog <==
Mar 8 10:41:24 R-kali mtp-probe: bus: 2, device: 32 was not an MTP device

==> /var/log/messages <==
Mar 8 10:41:24 R-kali mtp-probe: bus: 2, device: 32 was not an MTP device

==> /var/log/dmesg.log <==
[565150.850206] usb 2-3.4.3: reset high-speed USB device number 33 using xhci_hcd

==> /var/log/syslog <==
Mar 8 10:41:25 R-kali kernel: [565150.850206] usb 2-3.4.3: reset high-speed USB device number 33 using xhci_hcd

==> /var/log/messages <==
Mar 8 10:41:25 R-kali kernel: [565150.850206] usb 2-3.4.3: reset high-speed USB device number 33 using xhci_hcd

==> /var/log/syslog <==
Mar 8 10:41:25 R-kali dbus-daemon[582]: [system] Activating via systemd: service name=‘org.freedesktop.Avahi’ unit=‘dbus-org.freedesktop.Avahi.service’ requested by ‘:1.31981’ (uid=130 pid=234528 comm="/usr/lib/colord/colord-sane ")
Mar 8 10:41:25 R-kali dbus-daemon[582]: [system] Activation via systemd failed for unit ‘dbus-org.freedesktop.Avahi.service’: Unit dbus-org.freedesktop.Avahi.service not found.

==> /var/log/dmesg.log <==
[565150.974246] usb 2-3.4.3: reset high-speed USB device number 33 using xhci_hcd

==> /var/log/syslog <==
Mar 8 10:41:25 R-kali kernel: [565150.974246] usb 2-3.4.3: reset high-speed USB device number 33 using xhci_hcd

==> /var/log/messages <==
Mar 8 10:41:25 R-kali kernel: [565150.974246] usb 2-3.4.3: reset high-speed USB device number 33 using xhci_hcd

==> /var/log/dmesg.log <==
[565151.090218] usb 2-3.4.3: reset high-speed USB device number 33 using xhci_hcd

==> /var/log/syslog <==
Mar 8 10:41:25 R-kali kernel: [565151.090218] usb 2-3.4.3: reset high-speed USB device number 33 using xhci_hcd

==> /var/log/messages <==
Mar 8 10:41:25 R-kali kernel: [565151.090218] usb 2-3.4.3: reset high-speed USB device number 33 using xhci_hcd

==> /var/log/dmesg.log <==
[565151.206241] usb 2-3.4.3: reset high-speed USB device number 33 using xhci_hcd

==> /var/log/syslog <==
Mar 8 10:41:25 R-kali kernel: [565151.206241] usb 2-3.4.3: reset high-speed USB device number 33 using xhci_hcd

==> /var/log/messages <==
Mar 8 10:41:25 R-kali kernel: [565151.206241] usb 2-3.4.3: reset high-speed USB device number 33 using xhci_hcd

==> /var/log/syslog <==
Mar 8 10:41:27 R-kali dbus-daemon[582]: [system] Activating via systemd: service name=‘org.freedesktop.Avahi’ unit=‘dbus-org.freedesktop.Avahi.service’ requested by ‘:1.31982’ (uid=130 pid=234528 comm="/usr/lib/colord/colord-sane ")
Mar 8 10:41:27 R-kali dbus-daemon[582]: [system] Activation via systemd failed for unit ‘dbus-org.freedesktop.Avahi.service’: Unit dbus-org.freedesktop.Avahi.service not found.
Mar 8 10:45:01 R-kali CRON[234668]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)

could gdm on my jetson nano be one of my problems? because seems like it doesnt know what to do with it. the tablet, nor does it seems to comprehend what anything really is, while kali linux sees the different parts of the tablet, loads and loads the modules just fine

USB appears to do what it is intended to do. Actual driver install is up to the kernel, and if the driver is in the form of a module, then you will see it listed by the command “lsmod” (integrated drivers won’t show up in lsmod). Do you see the module?

If all of the above is good, then X has the ability to use the device, but it isn’t up to the driver. This decision is from the X11 server, and the logs to this will show what is going on (if and only if lsmod shows the driver module is loaded). You can attach the log “/var/log/Xorg.0.log” and we can see what X thinks of the device. If you hover your mouse over the quote icon in the upper right of one of your existing posts, then other icons will show up. The paper clip icon is for attaching files (you might need to rename the log with a “.txt” suffix).

Here is the log

mark@mark-desktop:/usr/src/kernel/kernel-4.9$ tail -f /var/log/Xorg.0.log
[ 3412.380] (II) event2 - Keyboard K380: device is a keyboard
[ 3412.380] (II) event2 - Keyboard K380: device removed
[ 3412.380] () Option “config_info” “udev:/sys/devices/70090000.xusb/usb1/1-3/1-3:1.0/bluetooth/hci0/hci0:256/0005:046D:B342.0011/input/input29/event2”
[ 3412.380] (II) XINPUT: Adding extended input device “Keyboard K380” (type: KEYBOARD, id 7)
[ 3412.381] (
) Option “xkb_model” “pc105”
[ 3412.381] (**) Option “xkb_layout” “us”
[ 3412.381] (WW) Option “xkb_variant” requires a string value
[ 3412.381] (WW) Option “xkb_options” requires a string value
[ 3412.383] (II) event2 - Keyboard K380: is tagged by udev as: Keyboard
[ 3412.383] (II) event2 - Keyboard K380: device is a keyboard
[ 3819.350] (–) NVIDIA(GPU-0): Samsung SMC23A750X (DFP-0): connected
[ 3819.354] (–) NVIDIA(GPU-0): Samsung SMC23A750X (DFP-0): External TMDS
[ 3819.366] (II) NVIDIA(0): Setting mode “HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}”
[ 3819.412] (–) NVIDIA(GPU-0): Samsung SMC23A750X (DFP-0): connected
[ 3819.412] (–) NVIDIA(GPU-0): Samsung SMC23A750X (DFP-0): External TMDS
[ 3819.451] (–) NVIDIA(GPU-0): Samsung SMC23A750X (DFP-0): connected
[ 3819.451] (–) NVIDIA(GPU-0): Samsung SMC23A750X (DFP-0): External TMDS
[ 3819.474] (–) NVIDIA(GPU-0): Wacom Tech Cintiq Pro 13 (DFP-1): connected
[ 3819.474] (–) NVIDIA(GPU-0): Wacom Tech Cintiq Pro 13 (DFP-1): External TMDS
[ 3819.476] (II) NVIDIA(0): Setting mode “HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}”
[ 3819.611] (–) NVIDIA(GPU-0): Samsung SMC23A750X (DFP-0): connected
[ 3819.611] (–) NVIDIA(GPU-0): Samsung SMC23A750X (DFP-0): External TMDS
[ 3819.611] (–) NVIDIA(GPU-0): Wacom Tech Cintiq Pro 13 (DFP-1): connected
[ 3819.611] (–) NVIDIA(GPU-0): Wacom Tech Cintiq Pro 13 (DFP-1): External TMDS
[ 3819.692] (II) NVIDIA(0): Setting mode “HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}, DP-0: nvidia-auto-select @1920x1080 +1920+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}”
[ 3819.845] (II) NVIDIA(0): Setting mode “HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}, DP-0: nvidia-auto-select @1920x1080 +1920+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}”
[ 3819.932] (–) NVIDIA(GPU-0): Samsung SMC23A750X (DFP-0): connected
[ 3819.932] (–) NVIDIA(GPU-0): Samsung SMC23A750X (DFP-0): External TMDS
[ 3819.932] (–) NVIDIA(GPU-0): Wacom Tech Cintiq Pro 13 (DFP-1): connected
[ 3819.932] (–) NVIDIA(GPU-0): Wacom Tech Cintiq Pro 13 (DFP-1): External TMDS
[ 3867.116] (–) NVIDIA(GPU-0): Samsung SMC23A750X (DFP-0): connected
[ 3867.116] (–) NVIDIA(GPU-0): Samsung SMC23A750X (DFP-0): External TMDS
[ 3867.165] (II) NVIDIA(0): Setting mode “HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}, DP-0: nvidia-auto-select @1920x1080 +1920+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}”
[ 3867.207] (–) NVIDIA(GPU-0): Samsung SMC23A750X (DFP-0): connected
[ 3867.207] (–) NVIDIA(GPU-0): Samsung SMC23A750X (DFP-0): External TMDS
[ 3867.218] (II) NVIDIA(0): Setting mode “HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}”
[ 3867.326] (II) NVIDIA(0): Setting mode “HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}”
[ 3867.391] (–) NVIDIA(GPU-0): Samsung SMC23A750X (DFP-0): connected
[ 3867.392] (–) NVIDIA(GPU-0): Samsung SMC23A750X (DFP-0): External TMDS

Also i was able to get pass the error with compiling the kernel driver. I didnt realize it was looking in “/lib/modules/4.9.140-tegra/source/.config” so after i went and edit it the error went away. But a new one popped up

root@mark-desktop:/home/mark/input-wacom-0.45.0# ./configure
checking for a BSD-compatible install… /usr/bin/install -c
checking whether build environment is sane… yes
checking for a thread-safe mkdir -p… /bin/mkdir -p
checking for gawk… no
checking for mawk… mawk
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 we are using the GNU C compiler… yes
checking whether gcc accepts -g… yes
checking for gcc option to accept ISO C89… 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/mark/input-wacom-0.45.0’ has spaces… no
checking for kernel type… Linux
checking for linux-based kernel… yes
checking for kernel source/headers… /lib/modules/4.9.140-tegra/source
checking kernel version… 4.9.140-tegra
checking RHEL6 minor release… 0
checking RHEL7 minor release… 0
checking power supply version… v4.1+
checking abs accessor version… v2.6.36+
checking CONFIG_MODULE_SIG…
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… no
checking CONFIG_MODULE_SIG_HASH…
checking for module signing hash algorithm… sha512
checking for kernel autogenerated key at /lib/modules/4.9.140-tegra/source/… no
checking for kernel autogenerated cert at /lib/modules/4.9.140-tegra/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…

checking that generated files are newer than configure… done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating 2.6.32/Makefile
config.status: creating 2.6.38/Makefile
config.status: creating 3.7/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/4.9.140-tegra/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’.
root@mark-desktop:/home/mark/input-wacom-0.45.0# make
make all-recursive
make[1]: Entering directory ‘/home/mark/input-wacom-0.45.0’
Making all in 4.5
make[2]: Entering directory ‘/home/mark/input-wacom-0.45.0/4.5’
Building input-wacom drivers for 4.5 kernel.
make -C /lib/modules/4.9.140-tegra/source M=/home/mark/input-wacom-0.45.0/4.5
make[3]: Entering directory ‘/usr/src/kernel/kernel-4.9’

WARNING: Symbol version dump ./Module.symvers
is missing; modules will have no dependencies and modversions.

Building modules, stage 2.
MODPOST 0 modules
make[3]: Leaving directory ‘/usr/src/kernel/kernel-4.9’
make[2]: Leaving directory ‘/home/mark/input-wacom-0.45.0/4.5’
make[2]: Entering directory ‘/home/mark/input-wacom-0.45.0’
make[2]: Leaving directory ‘/home/mark/input-wacom-0.45.0’
make[1]: Leaving directory ‘/home/mark/input-wacom-0.45.0’
root@mark-desktop:/home/mark/input-wacom-0.45.0# make install
Making install in 4.5
make[1]: Entering directory ‘/home/mark/input-wacom-0.45.0/4.5’
make -C /lib/modules/4.9.140-tegra/source M=/home/mark/input-wacom-0.45.0/4.5 modules_install mod_sign_cmd=’’
make[2]: Entering directory ‘/usr/src/kernel/kernel-4.9’
DEPMOD 4.9.140-tegra
make[2]: Leaving directory ‘/usr/src/kernel/kernel-4.9’
mkdir -p /etc/depmod.d
echo “override wacom * extra” > /etc/depmod.d/input-wacom.conf
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/bin:/sbin" depmod -a 4.9.140-tegra
/usr/sbin/update-initramfs -u -k 4.9.140-tegra
update-initramfs: Generating /boot/initrd.img-4.9.140-tegra
Warning: couldn’t identify filesystem type for fsck hook, ignoring.
I: The initramfs will attempt to resume from /dev/zram3
I: (UUID=65b184ce-cabe-422a-8cc2-7765977d6914)
I: Set the RESUME variable to override this.
/sbin/ldconfig.real: Warning: ignoring configuration file that cannot be opened: /etc/ld.so.conf.d/aarch64-linux-gnu_EGL.conf: No such file or directory
/sbin/ldconfig.real: Warning: ignoring configuration file that cannot be opened: /etc/ld.so.conf.d/aarch64-linux-gnu_GL.conf: No such file or directory
make[1]: Leaving directory ‘/home/mark/input-wacom-0.45.0/4.5’
make[1]: Entering directory ‘/home/mark/input-wacom-0.45.0’
make[2]: Entering directory ‘/home/mark/input-wacom-0.45.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/mark/input-wacom-0.45.0’
make[1]: Leaving directory ‘/home/mark/input-wacom-0.45.0’
root@mark-desktop:/home/mark/input-wacom-0.45.0#

Just so you know, if you ran “make install” it probably won’t do what is expected on an embedded system. Typically you would do some manual steps instead since booting differs between a PC and embedded systems.

About this file: “/lib/modules/4.9.140-tegra/source/.config”: You should start by copying the running system’s unmodified “/proc/config.gz” “/lib/modules/4.9.140-tegra/source/”, gunzip it, rename it “.config”, and then edit the CONFIG_LOCALVERSION line:

CONFIG_LOCALVERSION="-tegra"

Once this is in place, then you can configure with “make menuconfig” or whatever your favorite editor is for any changes you need. However, if your source is somewhere else, then the same “.config” needs to be at the alternate location.

Instead of “make install” you would end up looking for the “Image” file, and then copying it to “/boot/” (to become “/boot/Image”). Be very careful with this, because if it is incorrect, then your system will be unbootable and perhaps need to be flashed. Don’t ever throw out the previous Image file, keep it on your host PC somewhere. Keep a clone of the working system before doing this. Because procedures change from one release to the next, consider reading the kernel customization section of the documentation for that specific release before making any changes (for example, some content now needs to be signed to prevent the boot stages from rejecting the content, or if redundancy features are in use, this too can change procedures).

Once the kernel Image is in place the module itself will be a simple file copy somewhere within “/lib/modules/$(uname -r)/kernel/drivers/”. Basically the location will be a mirror of where the “.ko” module is in the kernel source…and that will be somewhere under “drivers/” of the source.

NOTE: If you have the SD card release then it is a lot safer than changing a kernel Image with eMMC since you can just mount the card on the host PC and move the original Image back in place if it doesn’t work.

So I think i figure out the first problem. My tablet isnt supported on kernel 4.9 but is supported on 4.12

My Cintiq Pro 13 is supported by kernel 4.12 or later.

Is there anyway to update my kernel from 4.9 to 4.12?

At this point it would be easier to backport the driver to the 4.9 kernel (though this is not necessarily easy…if there is a driver dependency, then you probably have to backport that dependency…if that has dependencies, then those may need backporting, so on).

Someone from NVIDIA may be able to comment on whether 4.12 is being considered, but usually, even if this is planned, there wouldn’t be a specific date available.

NOTE: Usually the driver maintainer would be the one to ask as to his thoughts on difficulty of backporting to 4.9. He/she could probably tell you if there are dependencies in need of porting, versus if it is just the driver needing porting.

Im going to try backporting it.

Hey linuxdev, i managed to build the modules by ripping apart the makefile. but ranned into another problem which is installing them now. when i run “make install” as root, i get permission denied

root@mark-desktop44:/home/mark/input-wacom-0.45.0# make install
Making install in 4.5
make[1]: Entering directory '/home/mark/input-wacom-0.45.0/4.5'
make -C /lib/modules/4.9.140-tegra/source M=/home/mark/input-wacom-0.45.0/4.5 modules_install mod_sign_cmd=''
make[2]: Entering directory '/usr/src/linux-headers-4.9.140-tegra-ubuntu18.04_aarch64/kernel-4.9'
  INSTALL /home/mark/input-wacom-0.45.0/4.5/wacom.ko
/bin/sh: 1: /lib/modules/4.9.140-tegra/extra/wacom.ko: Permission denied
  INSTALL /home/mark/input-wacom-0.45.0/4.5/wacom_w8001.ko
/bin/sh: 1: /lib/modules/4.9.140-tegra/extra/wacom_w8001.ko: Permission denied
  DEPMOD  4.9.140-tegra

any suggestions?

On embedded systems, and in a cross compile environment as well, you never want to just “make install”. This will attempt to put the modules directly into the running system. On the host PC you won’t boot with ARM modules. When compiling directly on a Jetson, in theory you could directly install a module, but it is usually a bad idea.

Instead, install to a specific output location you have set aside as temporary space. I don’t know which options you currently use, but I’ll mention:

  • O=$TEGRA_KERNEL_OUT
  • INSTALL_MOD_PATH=$TEGRA_MODULES_OUT

Any time you go to build kernel source you should put all temporary output in a second temp location via first setting an environment variable (in my example I call it TEGRA_KERNEL_OUT), e.g.:

mkdir -p ~/kernel_build/out
export TEGRA_KERNEL_OUT=~/kernel_build/out
# Verify the variable is set up correctly:
echo $TEGRA_KERNEL_OUT
ls $TEGRA_KERNEL_OUT
# Now all build lines should include:
make O=$TEGRA_KERNEL_OUT ...more options...

If you’ve built within the actual kernel source, then you might clean it out with “make mrproper” and no “O=”. This also deletes any configuration in your kernel source, and any “.config” or manual configuration is then from the “$TEGRA_KERNEL_OUT” directory.

Similar for “$INSTALL_MOD_PATH=$TEGRA_MODULES_OUT”. You could do this to create a temporary output location of “~/kernel_build/modules”:

mkdir -p ~/kernel_build/modules
export TEGRA_MODULES_OUT=~/kernel_build/modules
# Verify:
echo $TEGRA_MODULES_OUT
ls $TEGRA_MODULES_OUT
# Now you can install to $TEGRA_MODULES_OUT:
make O=$TEGRA_KERNEL_OUT modules_install INSTALL_MOD_PATH=$TEGRA_MODULES_OUT

After this is done you will have content in “~/kernel_build/modules”, but you’ll have to cd in to find the actual modules. Incidentally, before you build anything, you would want to verify your CONFIG_LOCALVERSION is correct, or else module install path may not preserve the original “uname -r” (which is part of the module search path and part of the module install path…if it changes from the previous kernel, then you may need to reinstall all content and not just one module). For example, if your editor happens to be “nano”:
nano $TEGRA_KERNEL_OUT/.config
…then search for “CONFIG_LOCALVERSION” and make sure it is:
CONFIG_LOCALVERSION="-tegra"

If this is all correct, then you can simply copy one file manually to the mirror location of the “$TEGRA_MODULES_OUT”, e.g., your actual Jetson has directory:
/lib/modules/$(uname -r)/kernel/
…and the install process would have:
~/kernel_build/modules/lib/modules/$(uname -r)/kernel/
…and somewhere in that directory tree is the file you want, and it would go under the mirrored subdirectory of the running system’s “/lib/modules/$(uname -r)/kernel/”.

So i managed to get get my wacom one tablet to work on my jetson nano, pressure sensitivity works and everything, my cintiq pro 13 oddly isnt work even though the cintiq is older. But now im trying to recompile the jetson xavier kernel, but i get these errors

CC drivers/base/regmap/regmap.o
CC drivers/base/regmap/regcache.o
CC drivers/base/regmap/regcache-rbtree.o
drivers/base/regmap/regcache-rbtree.c:36:1: error: alignment 1 of ‘struct regcache_rbtree_node’ is less than 8 [-Werror=packed-not-aligned]
36 | } attribute ((packed));
| ^
drivers/base/regmap/regcache-rbtree.c: In function ‘regcache_rbtree_insert’:
drivers/base/regmap/regcache-rbtree.c:130:15: error: taking address of packed member of ‘struct regcache_rbtree_node’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
130 | rb_link_node(&rbnode->node, parent, new);
| ^~~~~~~~~~~~~
drivers/base/regmap/regcache-rbtree.c:131:18: error: taking address of packed member of ‘struct regcache_rbtree_node’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
131 | rb_insert_color(&rbnode->node, root);
| ^~~~~~~~~~~~~
drivers/base/regmap/regcache-rbtree.c: In function ‘regcache_rbtree_exit’:
drivers/base/regmap/regcache-rbtree.c:243:18: error: taking address of packed member of ‘struct regcache_rbtree_node’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
243 | next = rb_next(&rbtree_node->node);
| ^~~~~~~~~~~~~~~~~~
drivers/base/regmap/regcache-rbtree.c:244:12: error: taking address of packed member of ‘struct regcache_rbtree_node’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
244 | rb_erase(&rbtree_node->node, &rbtree_ctx->root);
| ^~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[3]: *** [scripts/Makefile.build:336: drivers/base/regmap/regcache-rbtree.o] Error 1
make[2]: *** [scripts/Makefile.build:649: drivers/base/regmap] Error 2
make[1]: *** [scripts/Makefile.build:649: drivers/base] Error 2
make: *** [Makefile:1104: drivers] Error 2
➜ kernel-4.9

ive tried excluding them, from kernelconfig file, i tried removing them from the makefile, and removing from the Kconfig in those directories

i tried it on both my xavier and on pc

also get these errors in addition to the others ones

drivers/base/regmap/regcache-rbtree.c:36:1: error: alignment 1 of ‘struct regcache_rbtree_node’ is less than 8 [-Werror=packed-not-aligned]
36 | } attribute ((packed));
| ^
drivers/base/regmap/regcache-rbtree.c: In function ‘regcache_rbtree_insert’:
drivers/base/regmap/regcache-rbtree.c:130:15: error: taking address of packed member of ‘struct regcache_rbtree_node’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
130 | rb_link_node(&rbnode->node, parent, new);
| ^~~~~~~~~~~~~
drivers/base/regmap/regcache-rbtree.c:131:18: error: taking address of packed member of ‘struct regcache_rbtree_node’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
131 | rb_insert_color(&rbnode->node, root);
| ^~~~~~~~~~~~~
drivers/base/regmap/regcache-rbtree.c: In function ‘regcache_rbtree_exit’:
drivers/base/regmap/regcache-rbtree.c:243:18: error: taking address of packed member of ‘struct regcache_rbtree_node’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
243 | next = rb_next(&rbtree_node->node);
| ^~~~~~~~~~~~~~~~~~
drivers/base/regmap/regcache-rbtree.c:244:12: error: taking address of packed member of ‘struct regcache_rbtree_node’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
244 | rb_erase(&rbtree_node->node, &rbtree_ctx->root);
| ^~~~~~~~~~~~~~~~~~

/usr/src/nvidia/sound/soc/tegra-alt/utils/tegra_asoc_machine_alt.c: In function ‘tegra_asoc_populate_dai_links’:
/usr/src/nvidia/sound/soc/tegra-alt/utils/tegra_asoc_machine_alt.c:4136:3: error: ‘subnp’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
4136 | of_node_put(subnp);
| ^~~~~~~~~~~~~~~~~~

I do not know about the specific errors. However, when such things hit, the first thing I ask is if the configuration was changed with a valid method, e.g., with a configuration editor instead of directl .config or direct Kconfig edits? If dependencies are not met, then it is extremely likely that you will get a series of compile failures. Do know that you said you are recompiling the Xavier kernel, but this is a Nano forum, so I have to wonder if perhaps there is some sort of incorrect mix of configuration.

Do know that you should always start with an existing configuration, and then use a correct config edit tool to add or remove whatever you need. By what method did you set up the initial configuration, and which editing tool did you use? I tend to favor the editing tool “make nconfig”.

Also, if at any time you compiled something directly within the source code, then used the “O=/some/where/else” to set a temporary output location, then the previous compile will mix in and cause failure. If you are in the actual kernel source tree, then this exact command will clear it completely and make sure it is ready for building from a brand new start:
make mrproper

If you have a location for temporary build from “$TEGRA_KERNEL_OUT”, then you can cd to “$TEGRA_KERNEL_OUT” and recursively delete everything before starting (you could leave the “.config” file if you want to save the config). The trick is that without a clean start it is hard to debug an error like the above. If we know this isn’t from a bad configuration or old leftover build content, then more debugging can be performed.

Updates…

so i after banging my head against the wall, i managed to get both tablets to work completely with pressure sensitivity working on my Xavier, im going to do the same thing for my Jetson nano also. I made a script to rip out everything wacom related from the kernel source, add -tegra to Local versions, afterward i compiled the external modules added them to /lib/modules/4.9.140-tegra/, next i updated the xf86-input-wacom and the libwacom and finally deleted the /lib/modules/4.9.140-tegra/modules.builtin, which was preventing the external modules to load. since it was looking for builtin drivers. after i did that everthing just worked as it expected.

Thanks for your help linuxdev, i wouldnt have been able to do it with out your help.

Im going to do the same process but build it into the Jetson Nano SD image. Thanks linuxdev