[ / CLPS711x/SkyMinder] module integration issue: keyboard driver _still_ not working after port from 2.4.27

From: Luke Kenneth Casson Leighton (lkcl_at_lkcl.net)
Date: 04/21/05

  • Next message: Stan Bubrouski: "Re: [Gelato-technical] Re: Serious performance degradation on a RAID with kernel 2.6.10-bk7 and later"
    Date:	Thu, 21 Apr 2005 19:28:45 +0100
    To: linux-kernel@vger.kernel.org, Linux ARM Kernel list <linux-arm-kernel@lists.arm.linux.org.uk>


    after some thought, i decided on friday to port all of the 2.4.27
    code over to

    bearing in mind that reading from /dev/input/evdev0 worked fine
    on 2.4.27 - and now also works fine under - the exact
    same problem occurs on as occurred under 2.4.27 -
    hanging of the linux kernel whilst providing absolutely zero
    crash/debugging information responses whatsoever.

    this device does _not_ have and cannot have a standard PC keyboard
    attached to it.

    in order to be able to debug what is going on, i have enabled
    a dummy/virtual serial console, all is well so far.

    in order to test the screen, i have written, enabled, tested,
    confirmed as reasonably working, a framebuffer driver (which
    i would like to make the console framebuffer - eventually -
    when the serial console is disabled and no longer needed -
    so i am enabling Framebuffer Console support AS WELL as serial
    console support)

    now i load the keyboard event module... splat - absolutely no response:
    complete lock-up.

    okay, let's try that again.


    install the keyboard event module.

    install evdev module.

    run a program (multilog) which is a bit like tail -f except it outputs
    to a logging file rather than to stdout on /dev/input/evdev0 and press a
    few buttons.

    do a hexdump -C on the output from multilog - GREAT!


    so, individually, the components work fine.

    put them together, and something goes badly wrong.

    has _anyone_ else tried running two console drivers at the
    same time?

    should it be expected to work?

    any assistance / guidance greatly appreciated.


    ----- Forwarded message from Luke Kenneth Casson Leighton <lkcl@lkcl.net> -----

    From: Luke Kenneth Casson Leighton <lkcl@lkcl.net>
    To: linux-kernel@vger.kernel.org
    Subject: [2.4.27 arm skyminder] writing new keyboard handler - help!

    hi, please respond cc to me because i am not on the lkml.

    for a new arm linux embedded device called a skyminder, i'm responsible
    for getting all the drivers working. ha ha.

    the success of this device presents the linux community with
    an opportunity to own a linux-based mobile phone (even if it's
    not a very small phone - 8cm x 10cm x 1cm) - and it has a GPS
    module in it, as well.

    i'm endeavouring to adapt various bits of code to create a
    keyboard driver. they've adopted 2.4.27 and are too far down
    the line to move to 2.6 - yet.

    i particularly want to avoid - if i can - compiling this keyboard
    driver under development into the kernel (even though it's the primary
    keyboard) because downloading 600k over a serial link into flash ram
    isn't a) funny b) a good idea c) slows development time down.

    with that in mind, so far, i have:

    - cut/paste pc_keyb.c just like everyone else has (in celps_keyb.c,
      c711x_keyb.c, dummy_keyb.c etc.) to create k_translate,
      k_unexpected_up, k_setkeycode and k_getkeycode routines.

    - cut/paste usbkbd.c and adapted it to successfully call
      input_report_key on a key press and key release.

    then, on installation of module input, keybdev and sky_buttons,
    i happily get debug messages indicating key presses (keycode 31
    indicating 's') ... but no actual key events appear down my serial

    so, my question is: does anyone know off the top of their heads what i
    may have missed out that causes the keybdev event handler to _not_
    actually stuff keys out?

    am i... like... missing something really obvious, given that
    the console has been set to "serial"?

    where should i look to, to find the keys being outputted, if they're
    going anywhere?

    help, help, gloop.



    <a href="http://lkcl.net">http://lkcl.net>
    ----- End forwarded message -----
    <a href="http://lkcl.net">http://lkcl.net>
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at  http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at  http://www.tux.org/lkml/

  • Next message: Stan Bubrouski: "Re: [Gelato-technical] Re: Serious performance degradation on a RAID with kernel 2.6.10-bk7 and later"

    Relevant Pages

    • Custom Keyboard driver
      ... I have a custom hardware buttons console and I ... was pressed I want to generate a key code like a normnal keyboard key was ... level with a driver for acces to this information. ...
    • Re: How to redirect USB keyboard to console?
      ... I have compiled the USB keyboard support in the kernel (USB ... > thing I need is to redirect the keyboard to the console. ... IIRC the driver is called "usbkbdev"; it operates as an event sink ...
    • how can i write a custom multifunctional device driver?
      ... I want to write a device driver to implement following functions: ... 1)receive data packets from a serial port,receive only ... 3)if the packet is a keyboard packet,toggle a keyboard event ...
    • [patch 04/33] m68k: Atari keyboard and mouse support.
      ... Atari keyboard and mouse support. ... +static void atakeyb_rep; ... To compile this driver as a module, ...
    • RE: my pc always hanged up!!
      ... usually you have a driver that's current compared to what came on the ... changed the original mouse and keyboard) will have updated drivers if any are ... To get to Downloaded Program files, you can click Tools on the right of your ...