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
Anonymous
You forgot to mention an important detail: What version of kmod-roccat (if any) and roccat-tools are you using?
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
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
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:
and any relevant dmesg output. You can kill roccateventhandler and start it again in console to see if it prints any error messages.
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
Please do
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
?
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
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.
Regards,
Robert
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
2 things to try:
and reboot
Later I'll try to reproduce this issue.
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
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...