Menu

#17 Roccat ISKU FX @ Ubuntu 13.10

v1.0_(example)
closed
% (1)
5
2019-04-30
2013-12-04
Anonymous
No

Hello Stefan!

OS: Ubuntu-Gnome 13.10 x86_64
Keyboard: Roccat ISKU FX

I have some problems using the keyboard on my Linux-box. The keyboard works as a normal keyboard when using kernel "3.11.0-12-generic". When updating to "3.11.0-14-generic" the keyboard doesn't even work as soon ubuntu starts. It is possible to use the keyboard when selecting the kernel-versions in grub without any problems. But as soon as the kernel-drivers are loaded the keyboard won't work anymore.

I decided to stay on "3.11.0-12", but I can't use the tools. They always say that there is no ISKUFX-keyboard connected.

The roccat-eventhandler runs and using strace on the PID showed me following lines:

---------------------------- cut ----------------------------
uname({sys="Linux", node="defiant", ...}) = 0
getuid() = 1000
stat("/proc/2061", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
readlink("/proc/2061/exe", "/usr/bin/gnome-terminal", 256) = 23
open("/proc/2061/cmdline", O_RDONLY) = 6
fstat(6, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
fcntl(6, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
fstat(6, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fe3cd682000
lseek(6, 0, SEEK_CUR) = 0
read(6, "gnome-terminal\0", 4096) = 15
read(6, "", 3072) = 0
close(6) = 0
munmap(0x7fe3cd682000, 4096) = 0
poll([{fd=5, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{"\24\0\6\0\10\0`\1?\1\0\0000\1\0\0\0\0\0\0\0\10\0\0", 24}, {NULL, 0}, {"", 0}], 3) = 24
poll([{fd=5, events=POLLIN}], 1, 4294967295) = 1 ([{fd=5, revents=POLLIN}])
recvfrom(5, "\1\10n\10\4\0\0\0000\1\0\0\0\0\0\0\17\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096, 0, NULL, NULL) = 48
recvfrom(5, 0x1c15764, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(5, 0x1c15764, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}, {fd=9, events=POLLIN}, {fd=10, events=POLLIN}, {fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=14, events=POLLIN}, {fd=15, events=POLLIN}, {fd=16, events=POLLIN}, {fd=17, events=POLLIN}, {fd=18, events=POLLIN}, {fd=19, events=POLLIN}], 15, 1993 ...
---------------------------- cut ----------------------------

This "resource temp. unavailable"-message seems to be causing the problems.

BTW: I am member of the "roccat"-usergroup.

As soon as I disconnect and reconnect the keyboard it doesn't work anymore, but the keys I press are shown in the strace/roccateventhandler-output. From that moment on I only can use the special buttons (volume aso). The normal keys do not have any visible effect to the rest of the session. The "fun" part is that NOW I am able to use the tools to set up the keyboard. But writing the config into the device is only possible when using "root".

Help please!

Kind regards,
Robert

Discussion

  • Stefan Achatz

    Stefan Achatz - 2013-12-04

    You forgot to mention an important detail: What version of kmod-roccat (if any) and roccat-tools are you using?

     
    • Anonymous

      Anonymous - 2013-12-04

      Sorry!

      These are the versions I'm using (from the PPA-repo):

      Tools: 1.1.0-ppa1-saucy
      DKMS: 0.11.0-ppa1-saucy

      Am I right - it should be absolutelly enough to install these 2 packages from PPA, add my user to the roccat-group, reboot and I'm done. I don't have to change udev-scripts or such to change permissions on devices. Should I disable or uninstall apparmor?

      In my opinion installing the tools should be enough because the kernel already comes packed with the drivers, so that they are existing twice in the kernel-modules-tree, but because of dependencies it is not possible to install the PPA-tools-package without the dkms-package.

      I've totally reinstalled my box and these are the "rocc*"-modules loaded right after the installation:

      ---------------------- cut ----------------------
      root@defiant:/tmp# lsmod|grep rocc
      hid_roccat_isku 14312 0
      hid_roccat 13485 1 hid_roccat_isku
      hid_roccat_common 13029 1 hid_roccat_isku
      hid 101512 3 hid_generic,hid_roccat_isku,usbhid
      ---------------------- cut ----------------------

      Thanks for the fast reply and your great work!

      Regards,
      Robert

       
  • Anonymous

    Anonymous - 2013-12-04

    To make thinks a bit clearer :

    ... I've totally reinstalled my box and these are the "rocc*"-modules loaded right after the installation of the operating-system (without any additional drivers from PPA or any other sources):

    ---------------------- cut ----------------------
    root@defiant:/tmp# lsmod|grep rocc
    hid_roccat_isku 14312 0
    hid_roccat 13485 1 hid_roccat_isku
    hid_roccat_common 13029 1 hid_roccat_isku
    hid 101512 3 hid_generic,hid_roccat_isku,usbhid
    ---------------------- cut ----------------------

    Regards,
    Robert

     
  • Stefan Achatz

    Stefan Achatz - 2013-12-04

    Good to see the ppa finally got updated. Hopefully the package prepares things right.
    After installing the package you have to add yourself to group roccat and relogin. That should fix your need for being root to configure.

    In my opinion it's good to have kmod-roccat installed as it contains the newest code that might take some time to get into future mainline kernel.
    dkms copies the kernel modules to a backup location, so only the new versions are used.

    I have to see if I can reproduce the problems with the new kernel in the evening or tomorrow. In the meantime you could post the output of the following commands:

    $ grep roccat /lib/modules/$(uname -r)/modules.dep
    $ ls -l /var/lib/roccat
    

    and any relevant dmesg output. You can kill roccateventhandler and start it again in console to see if it prints any error messages.

     
  • Anonymous

    Anonymous - 2013-12-04

    Here some output that I've collected:

    The module-dependencies look good.
    -------------------------- cut --------------------------
    user@defiant$ grep roccat /lib/modules/$(uname -r)/modules.dep
    updates/dkms/hid-roccat-common.ko:
    updates/dkms/hid-roccat-isku.ko: updates/dkms/hid-roccat.ko updates/dkms/hid-roccat-common.ko kernel/drivers/hid/hid.ko
    updates/dkms/hid-roccat-koneplus.ko: updates/dkms/hid-roccat.ko updates/dkms/hid-roccat-common.ko kernel/drivers/hid/hid.ko
    updates/dkms/hid-roccat-ryos.ko: updates/dkms/hid-roccat.ko updates/dkms/hid-roccat-common.ko kernel/drivers/hid/hid.ko
    updates/dkms/hid-roccat-arvo.ko: updates/dkms/hid-roccat.ko updates/dkms/hid-roccat-common.ko kernel/drivers/hid/hid.ko
    updates/dkms/hid-roccat-savu.ko: updates/dkms/hid-roccat.ko updates/dkms/hid-roccat-common.ko kernel/drivers/hid/hid.ko
    updates/dkms/hid-roccat-kone.ko: updates/dkms/hid-roccat.ko kernel/drivers/hid/hid.ko
    updates/dkms/hid-roccat-konepure.ko: updates/dkms/hid-roccat.ko updates/dkms/hid-roccat-common.ko kernel/drivers/hid/hid.ko
    updates/dkms/hid-roccat-lua.ko: updates/dkms/hid-roccat-common.ko kernel/drivers/hid/hid.ko
    updates/dkms/hid-roccat-kovaplus.ko: updates/dkms/hid-roccat.ko updates/dkms/hid-roccat-common.ko kernel/drivers/hid/hid.ko
    updates/dkms/hid-roccat.ko:
    updates/dkms/hid-roccat-pyra.ko: updates/dkms/hid-roccat.ko updates/dkms/hid-roccat-common.ko kernel/drivers/hid/hid.ko
    -------------------------- cut --------------------------

    The directory and the content of /var/lib/roccat is owned by root:root and so not accessible by any other user or group (no sticky bit or such). I've temporary changed permissions, but nothing changed:
    -------------------------- cut --------------------------
    user@defiant:~$ find /var/lib/roccat -ls
    808696691 0 drwxrwx--- 3 root root 19 Dez 4 08:59 /var/lib/roccat
    2890164 0 drwxrwx--- 2 root root 96 Dez 4 08:59 /var/lib/roccat/iskufx
    2890165 292 -rw-rw---- 1 root root 295153 Dez 4 08:59 /var/lib/roccat/iskufx/actual0.rkp
    2890166 292 -rw-rw---- 1 root root 295153 Dez 4 08:59 /var/lib/roccat/iskufx/actual1.rkp
    2890167 292 -rw-rw---- 1 root root 295153 Dez 4 08:59 /var/lib/roccat/iskufx/actual2.rkp
    2890168 292 -rw-rw---- 1 root root 295153 Dez 4 08:59 /var/lib/roccat/iskufx/actual3.rkp
    2890169 292 -rw-rw---- 1 root root 295153 Dez 4 08:59 /var/lib/roccat/iskufx/actual4.rkp
    -------------------------- cut --------------------------

    The tools still are showing the popup that says that no ISKU-device is connected.

    The eventhandler shows following output when started in foreground:
    -------------------------- cut --------------------------
    user@defiant:~$ roccateventhandler
    ** Message: window monitor: emitting 'user@defiant: ~ /usr/bin/gnome-terminal'
    ** Message: window monitor: emitting 'Isku FX configuration - no device connected /usr/bin/iskufxconfig'
    ** Message: window monitor: emitting 'Warning /usr/bin/iskufxconfig'
    ** Message: window monitor: emitting 'user@defiant: ~ /usr/bin/gnome-terminal'
    ... aso...
    -------------------------- cut --------------------------

    output from lsusb:

    -------------------------- cut --------------------------
    user@defiant:~$ lsusb -vs 7:3

    Bus 007 Device 003: ID 1e7d:3264 ROCCAT
    Couldn't open device, some information will be missing
    Device Descriptor:
    bLength 18
    bDescriptorType 1
    bcdUSB 2.00
    bDeviceClass 0 (Defined at Interface level)
    bDeviceSubClass 0
    bDeviceProtocol 0
    bMaxPacketSize0 64
    idVendor 0x1e7d ROCCAT
    idProduct 0x3264
    bcdDevice 1.00
    iManufacturer 1
    iProduct 2
    iSerial 0
    bNumConfigurations 1
    Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 59
    bNumInterfaces 2
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0xa0
    (Bus Powered)
    Remote Wakeup
    MaxPower 500mA
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 0
    bAlternateSetting 0
    bNumEndpoints 1
    bInterfaceClass 3 Human Interface Device
    bInterfaceSubClass 1 Boot Interface Subclass
    bInterfaceProtocol 1 Keyboard
    iInterface 0
    HID Device Descriptor:
    bLength 9
    bDescriptorType 33
    bcdHID 1.11
    bCountryCode 0 Not supported
    bNumDescriptors 1
    bDescriptorType 34 Report
    wDescriptorLength 65
    Report Descriptors:
    ** UNAVAILABLE **
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0x81 EP 1 IN
    bmAttributes 3
    Transfer Type Interrupt
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0x0040 1x 64 bytes
    bInterval 1
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 1
    bAlternateSetting 0
    bNumEndpoints 1
    bInterfaceClass 3 Human Interface Device
    bInterfaceSubClass 0 No Subclass
    bInterfaceProtocol 0 None
    iInterface 0
    HID Device Descriptor:
    bLength 9
    bDescriptorType 33
    bcdHID 1.11
    bCountryCode 0 Not supported
    bNumDescriptors 1
    bDescriptorType 34 Report
    wDescriptorLength 309
    Report Descriptors:
    ** UNAVAILABLE **
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0x84 EP 4 IN
    bmAttributes 3
    Transfer Type Interrupt
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0x0040 1x 64 bytes
    bInterval 1
    -------------------------- cut --------------------------

    Here some dmesg-lines:

    -------------------------- cut --------------------------
    user@defiant:~/bin$ dmesg|egrep -i 'roccat|hid|7-[23]'
    [ 6.650618] usb 7-2: new full-speed USB device number 3 using ohci-pci
    [ 6.822800] usb 7-2: New USB device found, idVendor=1e7d, idProduct=3264
    [ 6.822804] usb 7-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [ 6.822806] usb 7-2: Product: ROCCAT Isku FX
    [ 6.822807] usb 7-2: Manufacturer: ROCCAT
    [ 6.962684] usb 7-3: new low-speed USB device number 4 using ohci-pci
    [ 7.126884] usb 7-3: New USB device found, idVendor=046a, idProduct=0004
    [ 7.126887] usb 7-3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [ 7.447851] hidraw: raw HID events driver (C) Jiri Kosina
    [ 7.474020] usbcore: registered new interface driver usbhid
    [ 7.474022] usbhid: USB HID core driver
    [ 7.475970] hid-generic 0003:0738:1708.0001: input,hidraw0: USB HID v1.11 Mouse [Mad Catz Mad Catz R.A.T.7 Mouse] on usb-0000:00:13.0-1/input0
    [ 7.476150] input: ROCCAT ROCCAT Isku FX as /devices/pci0000:00/0000:00:13.0/usb7/7-2/7-2:1.0/input/input10
    [ 7.476264] hid-generic 0003:1E7D:3264.0002: input,hidraw1: USB HID v1.11 Keyboard [ROCCAT ROCCAT Isku FX] on usb-0000:00:13.0-2/input0
    [ 7.505068] input: ROCCAT ROCCAT Isku FX as /devices/pci0000:00/0000:00:13.0/usb7/7-2/7-2:1.1/input/input11
    [ 7.505231] hid-generic 0003:1E7D:3264.0003: input,hiddev0,hidraw2: USB HID v1.11 Mouse [ROCCAT ROCCAT Isku FX] on usb-0000:00:13.0-2/input1
    [ 7.505438] input: HID 046a:0004 as /devices/pci0000:00/0000:00:13.0/usb7/7-3/7-3:1.0/input/input12
    [ 7.505581] hid-generic 0003:046A:0004.0004: input,hidraw3: USB HID v1.10 Keyboard [HID 046a:0004] on usb-0000:00:13.0-3/input0
    [ 7.509031] input: HID 046a:0004 as /devices/pci0000:00/0000:00:13.0/usb7/7-3/7-3:1.1/input/input13
    [ 7.509141] hid-generic 0003:046A:0004.0005: input,hidraw4: USB HID v1.10 Device [HID 046a:0004] on usb-0000:00:13.0-3/input1
    -------------------------- cut --------------------------

    Thanks & Regards,
    Robert

     
  • Stefan Achatz

    Stefan Achatz - 2013-12-04

    Please do

    chown -R root:roccat /var/lib/roccat
    chmod -R 2770 /var/lib/roccat
    

    to fix the folder access rights.

    Looks like the udev rules are not applied. Can you find the file 90-roccat-iskufx.rules in either

    /usr/lib/udev/rules.d
    /lib/udev/rules.d
    /etc/udev/rules.d
    

    ?

     
  • Anonymous

    Anonymous - 2013-12-04

    Now I've changed the ownership + mode...

    The udev-rules are deployed to "/lib/udev/rules.d/"

    root@defiant:/tmp# ls -l /lib/udev/rules.d/90-roccat-iskufx.rules
    -rw-r--r-- 1 root root 1884 Nov 19 16:29 /lib/udev/rules.d/90-roccat-iskufx.rules

    Regards,
    Robert

     
  • Anonymous

    Anonymous - 2013-12-04

    I've now started an X-session for the root-user (in short: sudo service gdm stop; sudo startx). Not even root is able to launch the setting-tool. The eventhandler runs as root-user and the error-message is the same:

    No Isku FX found.

    • Actions that need the device can't be issued.
    • Data will only be stored on disk.

    Regards,
    Robert

     
  • Anonymous

    Anonymous - 2013-12-04

    In my opinion the strangest behavoiour is that when I disconnect/reconnect the keyboard only the 8 special keys on top of the kbd are working.

    -------------------------- cut --------------------------
    user@defiant:~$ roccateventhandler
    ** Message: window monitor: emitting 'user@defiant: ~'
    ** Message: window monitor: emitting 'Warning /usr/bin/iskufxconfig'
    ** Message: window monitor: emitting 'Isku FX configuration - no device connected /usr/bin/iskufxconfig'
    ** Message: window monitor: emitting 'user@defiant: ~'

    (roccateventhandler:9421): IskuFX-WARNING **: Hardware data and rkp for profile 0 differ

    (roccateventhandler:9421): IskuFX-WARNING **: light

    (roccateventhandler:9421): IskuFX-WARNING **: Hardware data and rkp for profile 1 differ

    (roccateventhandler:9421): IskuFX-WARNING **: light

    (roccateventhandler:9421): IskuFX-WARNING **: Hardware data and rkp for profile 2 differ

    (roccateventhandler:9421): IskuFX-WARNING **: light

    (roccateventhandler:9421): IskuFX-WARNING **: Hardware data and rkp for profile 3 differ

    (roccateventhandler:9421): IskuFX-WARNING **: light

    (roccateventhandler:9421): IskuFX-WARNING **: Hardware data and rkp for profile 4 differ

    (roccateventhandler:9421): IskuFX-WARNING **: light
    -------------------------- cut --------------------------

    NOW (after disconnect/reconnect) I AM ABLE TO USE THE CONFIG-Tools and configure the hell out of the great keyboard. But I have to reboot to use the keyboard again and would always have to have a second keyboard connected for the "dirty" work...

    Here some output from dmesg starting @reconnect:

    -------------------------- cut --------------------------
    [ Wed Dec 4 17:22:38 2013 ] usb 6-2: new full-speed USB device number 2 using ohci-pci
    [ Wed Dec 4 17:22:38 2013 ] usb 6-2: New USB device found, idVendor=1e7d, idProduct=3264
    [ Wed Dec 4 17:22:38 2013 ] usb 6-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [ Wed Dec 4 17:22:38 2013 ] usb 6-2: Product: ROCCAT Isku FX
    [ Wed Dec 4 17:22:38 2013 ] usb 6-2: Manufacturer: ROCCAT
    [ Wed Dec 4 17:22:38 2013 ] input: ROCCAT ROCCAT Isku FX as /devices/pci0000:00/0000:00:12.0/usb6/6-2/6-2:1.0/input/input14
    [ Wed Dec 4 17:22:38 2013 ] hid-generic 0003:1E7D:3264.0006: input,hidraw1: USB HID v1.11 Keyboard [ROCCAT ROCCAT Isku FX] on usb-0000:00:12.0-2/input0
    [ Wed Dec 4 17:22:38 2013 ] input: ROCCAT ROCCAT Isku FX as /devices/pci0000:00/0000:00:12.0/usb6/6-2/6-2:1.1/input/input15
    [ Wed Dec 4 17:22:38 2013 ] hid-generic 0003:1E7D:3264.0007: input,hiddev0,hidraw2: USB HID v1.11 Mouse [ROCCAT ROCCAT Isku FX] on usb-0000:00:12.0-2/input1
    [ Wed Dec 4 17:22:38 2013 ] input: ROCCAT ROCCAT Isku FX as /devices/pci0000:00/0000:00:12.0/usb6/6-2/6-2:1.1/input/input16
    [ Wed Dec 4 17:22:38 2013 ] isku 0003:1E7D:3264.0007: input,hiddev0,hidraw1: USB HID v1.11 Mouse [ROCCAT ROCCAT Isku FX] on usb-0000:00:12.0-2/input1
    [ Wed Dec 4 17:22:38 2013 ] input: ROCCAT ROCCAT Isku FX as /devices/pci0000:00/0000:00:12.0/usb6/6-2/6-2:1.0/input/input17
    [ Wed Dec 4 17:22:38 2013 ] isku 0003:1E7D:3264.0006: input,hidraw2: USB HID v1.11 Keyboard [ROCCAT ROCCAT Isku FX] on usb-0000:00:12.0-2/input0
    [ Wed Dec 4 17:23:51 2013 ] usb 7-3: new low-speed USB device number 6 using ohci-pci
    [ Wed Dec 4 17:23:51 2013 ] usb 7-3: New USB device found, idVendor=046a, idProduct=0004
    [ Wed Dec 4 17:23:51 2013 ] usb 7-3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [ Wed Dec 4 17:23:51 2013 ] input: HID 046a:0004 as /devices/pci0000:00/0000:00:13.0/usb7/7-3/7-3:1.0/input/input18
    [ Wed Dec 4 17:23:51 2013 ] hid-generic 0003:046A:0004.0008: input,hidraw3: USB HID v1.10 Keyboard [HID 046a:0004] on usb-0000:00:13.0-3/input0
    [ Wed Dec 4 17:23:51 2013 ] input: HID 046a:0004 as /devices/pci0000:00/0000:00:13.0/usb7/7-3/7-3:1.1/input/input19
    [ Wed Dec 4 17:23:51 2013 ] hid-generic 0003:046A:0004.0009: input,hidraw4: USB HID v1.10 Device [HID 046a:0004] on usb-0000:00:13.0-3/input1
    -------------------------- cut --------------------------

    Do you have an idea what could be wrong?

    Regards,
    Robert

     
  • Stefan Achatz

    Stefan Achatz - 2013-12-04

    2 things to try:

     
  • Anonymous

    Anonymous - 2013-12-04

    It works now!!!

    SHAME ON ME ... I haven't found this FAQ before ... sorry for that. I used google and not my mind!

    Thank you very much for your work, time and help. You are awesome!

    Regards,
    Robert

     
  • Stefan Achatz

    Stefan Achatz - 2013-12-04
    • status: open --> closed
     
  • Stefan Achatz

    Stefan Achatz - 2013-12-04

    Yeah, seems this should be my first tip in the future but I don't know why the inclusion into initrd is sometimes needed and sometimes not...

     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB