hi Questiion about Eudyptula Challenge Task 05

Sudip Mukherjee sudipm.mukherjee at gmail.com
Tue Sep 9 08:16:33 EDT 2014


hi,
sorry i cant help you with this. the rules of the challenge says "you
really should be doing your own work" .
i can only say you that I have taken almost one month for this one . I
am currently at task 18 and i still think this one was the toughest of
all the tasks til now. but after  finishing it you will surely say
"s**** its this easy .. " .. well .. atleast i said .. :)

thanks
sudip



On Tue, Sep 9, 2014 at 5:45 PM, lx <lxlenovostar at gmail.com> wrote:
> hi :
>     I'm confused about Eudyptula Challenge Task 05. Actually, I try two
> ways.
> 1. I register a usb driver, but Eudyptula Challange don't think so.
> ##############################################
>
>    #include <linux/module.h>
>    #include <linux/kernel.h>
>    #include <linux/init.h>
>    #include <linux/usb.h>
>    #include <linux/usb/input.h>
>    #include <linux/hid.h>
>
>    MODULE_AUTHOR("author");
>    MODULE_DESCRIPTION("lx module\n");
>    MODULE_LICENSE("GPL");
>
>    static struct usb_device_id lx_id_table[] = {
>           { USB_INTERFACE_INFO(USB_INTERFACE_CLASS_HID,
>      USB_INTERFACE_SUBCLASS_BOOT,
>      USB_INTERFACE_PROTOCOL_KEYBOARD) },
>                                       { } /*  Terminating entry */
>    };
>
>    MODULE_DEVICE_TABLE(usb, lx_id_table);
>
>    static int lx_probe(struct usb_interface  *interface,
>                                       const struct  usb_device_id *id)
>    {
>           pr_debug("LxModule: USB keyboard probe  function called\n");
>           return 0;
>    }
>
>    static void lx_disconnect(struct usb_interface  *interface)
>    {
>           pr_debug("LxModule: USB keyboard  disconnect function called\n");
>    }
>
>    static struct usb_driver lx_driver = {
>                   .name =     "lx_driver",
>                   .probe =    lx_probe,
>                   .disconnect =   lx_disconnect,
>                   .id_table = lx_id_table
>                   };
>
> ################################################
>
> But the Eudyptula Challenge receiving message is:
> ###############################################
> *
> This structure is not needed.*
>
> ##############################################
>
>
>
> 2.   I use the udev rule, I create a hello.sh in /lib/udev with:
> ##########################################################
> sudo -H gedit /lib/udev/hello.sh
> ##########################################################
>
> And the contents is:
> ##########################################################
> #!/bin/bash
>
> sudo -H insmod /opt/task_01.ko
> ##########################################################
> This command let module of task_01 run.
>
> Save the file,close it and make it executable with:
> ##########################################################
> chmod +x /lib/udev/hello.sh
> ##########################################################
>
> Add a new rule in my /etc/udev/rules.d/01-my-first-udev.rules file like
> this:
> #########################################################
> ACTION=="add", RUN+="/lib/udev/hello.sh"
> ##########################################################
>
>
> But the Eudyptula Challenge receiving message is:
> ################################
>
> No new udev rule is needed.
> #########################################
>
> So, which basics I should read and understand ?
> Thank you.



More information about the Kernelnewbies mailing list