Chicken and the egg: how to remove the Roccat keyboard module and still do some typing :) ?

Well this is kind of stupid as I usually find the answer to most of the problems. Have no clue and Google is throwing garbage at me on this one.

Got a Kone XTD mouse and a Isku FX keyboard a while ago; all fine but now I got the first kernel update for opensuse 12.3. So… I don’t have any mouse or keyboard with the new kernel… but how to install them if I can’t type? Well, going into the old kernel, and removing the modules one would say. But as soon as I remove a module I have no mouse or keyboard, so can’t issue any other commands. After rebooting in the new kernel it still doesn’t work, and with the old one I still got the keyb and the mouse, and the modules are loaded of course. I don’t recall having any previous problems in 12.1/2, maybe somehow the other kernel updates didn’t try to load the modules or something…

Some commands:

lsmod
Module                  Size  Used by
fuse                   87139  3 
vboxpci                27291  0 
vboxnetadp             25671  0 
vboxnetflt             23480  0 
vboxdrv               336754  3 vboxpci,vboxnetadp,vboxnetflt
radeon                948614  0 
snd_hda_codec_hdmi     41088  1 
koneplus               14077  0 
ttm                    91975  1 radeon
snd_hda_codec_via      31811  1 
raid1                  39606  2 
snd_hda_intel          48082  4 
snd_hda_codec         204641  3 snd_hda_codec_hdmi,snd_hda_codec_via,snd_hda_intel
drm_kms_helper         50840  1 radeon
snd_hwdep              13603  1 snd_hda_codec
snd_pcm               110154  3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
acpi_cpufreq           19572  1 
firewire_ohci          40402  0 
drm                   293115  3 radeon,ttm,drm_kms_helper
snd_seq                69780  0 
snd_timer              29371  2 snd_pcm,snd_seq
snd_seq_device         14498  1 snd_seq
sp5100_tco             13698  0 
isku                   14313  0 
roccat_common          13030  2 koneplus,isku
roccat                 13486  2 koneplus,isku
mperf                  12668  1 acpi_cpufreq
firewire_core          72670  1 firewire_ohci
snd                    93733  17 snd_hda_codec_hdmi,snd_hda_codec_via,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_seq,snd_timer,snd_seq_device
kvm_amd                59704  0 
soundcore              15048  1 snd
usblp                  18747  0 
crc_itu_t              12708  1 firewire_core
i2c_piix4              13915  0 
wmi                    19071  0 
edac_core              62034  0 
snd_page_alloc         18711  2 snd_hda_intel,snd_pcm
i2c_algo_bit           13414  1 radeon
asus_atk0110           18658  0 
kvm                   475491  1 kvm_amd
r8169                  67643  0 
sg                     36525  0 
sr_mod                 22296  0 
edac_mce_amd           23304  0 
cdrom                  46688  1 sr_mod
joydev                 17378  0 
serio_raw              13376  0 
k10temp                13127  0 
button                 13953  0 
pcspkr                 12719  0 
microcode              35785  0 
autofs4                42771  2 
xhci_hcd              103975  0 
processor              44950  1 acpi_cpufreq
thermal_sys            24957  1 processor
scsi_dh_alua           17162  0 
scsi_dh_emc            17259  0 
scsi_dh_hp_sw          12895  0 
scsi_dh_rdac           17409  0 
scsi_dh                14844  4 scsi_dh_alua,scsi_dh_emc,scsi_dh_hp_sw,scsi_dh_rdac
ata_generic            12911  0 
pata_atiixp            13272  1 
pata_jmicron           12759  0
modprobe -r roccat
FATAL: Module roccat is in use.

if I try to get rid of the dependencies first (isku and koneplus), I loose the devices, so no input…

How can I use the updated kernel in the given situation?

Why do you want to remove the modules? What should that achieve? :question:

And how did you install them in the first place?

As I said I installed a new kernel and the keyboard and the mouse do not work. The modules were compiled from source for the older, working kernel, more here roccat - Browse /linux/kmod-roccat at SourceForge.net , what do you mean what I’m trying to achieve, I’m trying to make them work… with the new kernel?

Why do you want to remove module from running kernel if you need to compile module for another kernel?

Seems to be no big problem here:

You use the external compiled roccat modules and have installed the blacklist that comes with them.
This blacklist’s purpose is to keep the kernel from loading the kernel internal versions.

Two solutions to your problem:

  1. Boot the old kernel; remove the blacklist temporarily; boot the new kernel; compile the modules for the new kernel; install the blacklist again.
  2. If you want future updates to work without hassle: use dkms. That’s described in INSTALL in the kmod-roccat package.

Have a nice day

PS: also tried to blacklist in /etc/modprobe.d/50-blacklist.conf but those are still loading.

arvidjaar: How do you build modules for another kernel than the one you are running? Found something on the internet but says this is a no-no. Or am I missing something… should i just build them, install on the running kernel, and they would be loaded magically when i boot into another? I don’t have the impression linux was working this way. I will try this right now.

Ppl, please explain what is the proper course of action. I’m just explaining what am I doing, obviously wrong, don’t keep asking why… it’s because I don’t know what to do and this is what I’m asking :slight_smile:

It was pointless: make & make modules_install in the old kernel, rebooted into the new one = no mouse and keyboard. Hardware restart > RAID being rebuilt. I really don’t want to loose any data.

So to be more simple&clear if anyone could help me:

  • when I get a kernel update, step by step, how do I make the mouse and the keyboard work?
  • and besides this, why isn’t the blacklist working? isn’t it the proper file?
make KERNELRELEASE=your-openSUSE-kernel-version

For general case when module that does not offer Makefile sugar

make -C /lib/modules/your-kernel-version/build M=/path/to/your/module/dir modules

Have you read what I wrote, or to whom is this a reply?

@erazor_de Sry somehow I missed your post; I didn’t put the blacklist provided by roccat anywhere (says you got to), it was just my two cents trying to keep the modules out of the way and hopefully have some generic stuff (it doesn’t work obviously).
Never really understood anything about DKMS, and never worked. I didn’t had it installed so done it from the build service. Issued the commands > thrown a bunch of errors. Here is the Easter Day (A happy One to all of you there) so not in the mood for them. Thought thought to ask Linus about his kernel:
“In all this complexity, how comes that you just can’t add for years something like: IS THIS MY MODULE? NO! WILL NOT FKIN LOAD IT THEN, WILL GO FOR SOME GENERIC STUFF!” Cause sometimes this is just way too much, to wrestle with a silly keyboard and mouse in Linux.

@arvidjaar make KERNELRELEASE=3.7.10-1.4-desktop doesn’t work cause the make modules_install part still throws them into 3.7.10-1.1 (or is there any other way than: make KERNELRELEASE=3.7.10-1.4-desktop && install ?)
So looked at the output, searched the web and trying now (cross you fingers, cause if I hard reset the **** thing for the 24 time in the Easter day, and will not work, I’ll surely go hard on the two, that’s the way the M$ keyboard ended up - joking):

FakeMoth-PC:/home/fakemoth # make -C "/lib/modules/3.7.10-1.4-desktop/build" M="/home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up" modules
make: Entering directory `/usr/src/linux-3.7.10-1.4-obj/x86_64/desktop'
  CC [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/hid-roccat-arvo.o
  CC [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/hid-roccat-isku.o
  CC [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/hid-roccat-kone.o
  CC [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/hid-roccat-koneplus.o
  CC [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/hid-roccat-konepure.o
  CC [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/hid-roccat-kovaplus.o
  CC [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/hid-roccat-lua.o
  CC [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/hid-roccat-pyra.o
  CC [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/hid-roccat-common.o
  CC [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/hid-roccat.o
  CC [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/hid-roccat-savu.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/roccat.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/roccat-common.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/arvo.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/isku.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/kone.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/koneplus.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/konepure.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/kovaplus.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/lua.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/pyra.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/savu.o
  Building modules, stage 2.
  MODPOST 11 modules
  CC      /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/arvo.mod.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/arvo.ko
  CC      /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/isku.mod.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/isku.ko
  CC      /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/kone.mod.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/kone.ko
  CC      /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/koneplus.mod.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/koneplus.ko
  CC      /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/konepure.mod.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/konepure.ko
  CC      /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/kovaplus.mod.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/kovaplus.ko
  CC      /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/lua.mod.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/lua.ko
  CC      /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/pyra.mod.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/pyra.ko
  CC      /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/roccat-common.mod.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/roccat-common.ko
  CC      /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/roccat.mod.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/roccat.ko
  CC      /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/savu.mod.o
  LD [M]  /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/savu.ko
make: Leaving directory `/usr/src/linux-3.7.10-1.4-obj/x86_64/desktop'
FakeMoth-PC:/home/fakemoth # make -C "/lib/modules/3.7.10-1.4-desktop/build" M="/home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up" modules_install
make: Entering directory `/usr/src/linux-3.7.10-1.4-obj/x86_64/desktop'
  INSTALL /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/arvo.ko
  INSTALL /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/isku.ko
  INSTALL /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/kone.ko
  INSTALL /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/koneplus.ko
  INSTALL /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/konepure.ko
  INSTALL /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/kovaplus.ko
  INSTALL /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/lua.ko
  INSTALL /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/pyra.ko
  INSTALL /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/roccat-common.ko
  INSTALL /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/roccat.ko
  INSTALL /home/fakemoth/Downloads/kmod-roccat-0.8.2/2.6.39_and_up/savu.ko
  DEPMOD  3.7.10-1.4-desktop
make: Leaving directory `/usr/src/linux-3.7.10-1.4-obj/x86_64/desktop'

The bad news: it’s not working - no mouse or keyboard in the new kernel, hard reset. The good news is that you are trying to help, thank you for that. Let’s try this way:

-how can I “step by step” just get rid of the modules. Or ALL of them for that matter, any other way than reinstalling the OS?

PS: @erazor_de](https://forums.opensuse.org/members/erazor_de.html) where should be that roccat blacklist located, maybe it got installed somehow? It isn’t in the /etc/modprobe.d/ and no trace of the onctent of the file in 50-blacklist.conf

Hmm here is some output from the dkms (trying it again):

FakeMoth-PC:/usr/src # dkms build -m kmod-roccat -v 0.8.2 -k 3.7.10-1.4-desktop
Module kmod-roccat/0.8.2 already built for kernel 3.7.10-1.4-desktop/4
FakeMoth-PC:/usr/src # dkms install -m kmod-roccat -v 0.8.2 -k 3.7.10-1.4-desktop
Module kmod-roccat/0.8.2 already installed on kernel 3.7.10-1.4-desktop/x86_64

So somehow in the process they got there, what’s wrong then?

Done! I uninstalled the modules via dkms (I will read a few things about this one that’s for sure) and installed them again. Booted into the new kernel - no mouse so figured… but as a reflex, I also do CTRL+ALT+F1 :slight_smile: and now it worked. So got my keyboard and installed everything again.

Unfortunately I can’t draw a conclusion (done too many things and too erathic, in a short period of time) but from what I see for now dkms is the way to go.

Thank you for you support - I’m sure I will bump this a few times, you know… when another kernel comes out :slight_smile:

Of course it works

cause the make modules_install part still throws them into 3.7.10-1.1

It is the lack of KERNELRELEASE that does not work

(or is there any other way than: make KERNELRELEASE=3.7.10-1.4-desktop && install ?)

make KERNELRELEASE=xxx modules_install