Forum

Full Version: Enable Keyboard Plug And Play
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello everybody,
my name is frost (felix) and this is my first post in this community.

The problem I am struggeling with is to enable plug and play for my keyboard. I already searched the forum for 'plug and play', 'keyboard', 'kernel', 'modules' and so on, but did not find what I am looking for. Hopefully someone out there can help me!

What I want:
Put in the keyboard on the usb port while xbian is already running and then use the keyboard.

What I already tried:
I figured that the kernel modules evdev and joydev are responsible for controlling my keyboad. If the keyboard is plugged at boot time, they are loaded and evdev is used (according to lsmod).
lsmod output with plugged keyboard at boot time:
Terminal

xbian@xbian ~ $ lsmod
Module Size Used by
fuse 69258 3
nfsd 259835 2
bcm2708_wdog 3530 1
snd_bcm2835 13087 0
snd_pcm 77296 1 snd_bcm2835
snd_page_alloc 5196 1 snd_pcm
snd_timer 19974 1 snd_pcm
snd 58448 3 snd_bcm2835,snd_timer,snd_pcm
evdev 9489 2
joydev 9340 0

In comparison lsmod with no keyboard at boot time (evdev and joydev are not there):
Terminal

xbian@xbian ~ $ lsmod
Module Size Used by
nfsd 259835 2
fuse 69258 3
bcm2708_wdog 3530 1
snd_bcm2835 13087 0
snd_pcm 77296 1 snd_bcm2835
snd_page_alloc 5196 1 snd_pcm
snd_timer 19974 1 snd_pcm
snd 58448 3 snd_bcm2835,snd_timer,snd_pcm

My first idea was to simply reload the missing modules after the keyboard is plugged via modprobe. Loading the modules did work, however they were not used. Then I modified the /etc/modules file in order to always load evdev and joydev at boot time.
Again loading the modules works fine - but when I plug the keyboard afterwards the modules are simply not used Sad but according to lsusb the keyboard is recognized just fine:
lsmod and lsusb with preloaded modules and afterwards plugged in keyboard:
Terminal

xbian@xbian ~ $ lsmod
Module Size Used by
evdev 9489 0
joydev 9340 0
nfsd 259835 2
fuse 69258 3
bcm2708_wdog 3530 1
snd_bcm2835 13087 0
snd_pcm 77296 1 snd_bcm2835
snd_page_alloc 5196 1 snd_pcm
snd_timer 19974 1 snd_pcm
snd 58448 3 snd_bcm2835,snd_timer,snd_pcm
xbian@xbian ~ $ lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 005: ID 062a:0201 Creative Labs Defender Office K eyboard (K7310) S Zodiak KM-9010
Bus 001 Device 004: ID 1e68:003f TrekStor GmbH & Co. KG

As you can see, evdev is 'used by 0'.
My question: can I somehow convince my hardware to use the module? Or am I on the completely wrong way and need to do something different to enable plug and play?
Just to make this clear: I dont care for general plug and play - just the keyboard is enough.

Thanks for reading till this spot Wink Please help me if you can!
Best regards, felix
What you need are udev rules but unfortunately i only don't know how they work.
Thanks very much for the quick answer! I will read into that topic and post the results. Has anyone else maybe another hint for me?
(21st Mar, 2013 04:36 AM)frost Wrote: [ -> ]Thanks very much for the quick answer! I will read into that topic and post the results. Has anyone else maybe another hint for me?

normally, all hid devices are modules - managed by udev started during initramfs phase. that it's loaded during boot and not after is due to missing udev.

it will be full plug & play in beta1.

still, xbmc was not able to see new keyboards. seems to be corrected in 12.2 xbmc, no idea whether will appear in xbian beta1.
Reference URL's