EmbLogic's Blog

Project 05: Character Device Driver

Modules are pieces of code that can be loaded and unloaded into the kernel upon demand. They extend the functionality of the kernel without the need to reboot the system. For example, one type of module is the device driver, which allows the kernel to access hardware connected to the system. Without modules, we would have to build monolithic kernels and add new functionality directly into the kernel image. Besides having larger kernels, this has the disadvantage of requiring us to rebuild and reboot the kernel every time we want new functionality.

14 Responses to Project 05: Character Device Driver

  1. balpreet singh says:

    successfully implemented read and write operations .

  2. ashish dahiya says:

    DAILY WORK STATUS:

    Introduction to character driver

    1. driver insertion by insmod and deletion by rmmod is done successfully.
    2. Also used moduleparam() macro for taking runtime arguments.
    3.Used #define macro for prink system call…..

  3. Rishi kumar says:

    daily work status
    character driver initalization and cleanup successfully implement……

  4. ashish dahiya says:

    DAILY WORK STATUS:

    Introduction to character driver

    1. driver insertion by insmod and deletion by rmmod is done successfully.
    2. Also used moduleparam() macro for taking runtime arguments.
    3.Used #define macro for prink system call…..

  5. satbeer singh says:

    character driver insertion and clean up complete

  6. DAILY WORK STATUS:

    Introduction to character driver

    1. driver insertion by insmod and deletion by rmmod is done successfully.
    2. Also used moduleparam() macro for taking runtime arguments.
    3.Used #define macro for prink system call…..

  7. nishank says:

    i have successfully implemented character driver initalization and cleanup……also used module_param() macro to give run time argument….

  8. Suresh kumar says:

    Successfully implement the spinlock for 4 applications .
    In it first of all we define header file , declare pointer type variable in sculldev structure , initialize it after the cdev initialization .Made write and read functio in critical section lock in the write and unlock in the read function.

  9. maninderjeet singh says:

    project 6 character driver.
    project status
    successfully implemented scull open .
    currently working on writing to scull memory.

  10. maninderjeet singh says:

    STATUS : PrOJECT 6:
    i have implemented scull write function that my 39 byte data successfully entered into 5 quantums and showing proper dressing………………

    now implementing scull read function and lseek function

  11. maninderjeet singh says:

    WARNING: at fs/proc/generic.c:586 proc_register+0xff/0x1e0()
    [ 8514.650694] Hardware name: Latitude E5500
    [ 8514.650696] proc_dir_entry ‘/proc/proc3′ already registered
    [ 8514.650697] Modules linked in: device_driver(O+) vfat fat usb_storage fuse ip6table_filter ip6_tables ebtable_nat ebtables ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_CHECKSUM iptable_mangle bridge stp llc sunrpc cpufreq_ondemand acpi_cpufreq mperf capi kernelcapi btusb bluetooth snd_hda_codec_hdmi snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep snd_seq snd_seq_device snd_pcm snd_timer snd dell_wmi sparse_keymap iTCO_wdt soundcore snd_page_alloc joydev iTCO_vendor_support dell_laptop rfkill dcdbas tg3 i2c_i801 microcode virtio_net kvm sdhci_pci sdhci mmc_core firewire_ohci firewire_core crc_itu_t yenta_socket wmi i915 drm_kms_helper drm i2c_algo_bit i2c_core video [last unloaded: device_driver]
    [ 8514.650746] Pid: 5894, comm: insmod Tainted: G W O 2.6.43.8-1.fc15.i686.PAE #1

    error in proc entry ….my lkm showing that proc entry is already registered …and kernel going to crash again and again ……

  12. jasmeen.kaur says:

    implemented till iocl. working on timing and measurement

  13. implemented till ioctl

  14. sushant says:

    Successfully implemented ioctl.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>