[pso] [Probleme inregistrare device]

Octavian Voicu octavian.voicu at gmail.com
Wed Mar 17 16:04:06 EET 2010


2010/3/17 Andrei Cibotaru <andreicibotaru at gmail.com>

> Salut,
>
>     Am si eu o mica problema cu prima cerinta din laboratorul 4. Incerc sa
> inregistrez
> un character device creat cu comanda:
>       mknod /dev/so2_cdev c 42 0
> creat cu root.
>
> Am scris urmatorul cod:
>
> int err =  register_chrdev_region(MKDEV(MY_MAJOR, MY_MINOR), NUM_MINORS,
> MODULE_NAME);
>
> if (err != 0)
> {
>         printk(KERN_INFO "[so2_cdev]: Inregistrare failed");
>         return err;
> }
>
> unde macrourile au urmatoarele valori :
> #define MY_MAJOR                42
> #define MY_MINOR                0
> #define NUM_MINORS              1
> #define MODULE_NAME             "so2_cdev"
>
>
> in so2_cdev.c sursa din cadrul laboratorului 4.
> Am compilat cu make si am dat insmod so2_cdev.ko.
> Comanda la care primesc:
>                 insmod: error inserting 'so2_cdev.ko': -1 Device or
> resource busy
>
> iar dmesg afiseaza :
>                  [so2_cdev]: Inregistrare failed
>
> Aveti careva idee ce as putea sa fac?
>

register_chrdev_region returneaza EBUSY din ce observ eu (ar fi bine sa
printezi si codul err ca sa fi sigur.

Incearca cat /proc/devices si vezi daca apare in lista vreun character
device cu id-ul 42. Cel mai probabil ai inserat deja un modul care a creat
acest device. Un restart ar trebui sa rezolve orice astfel de problema
oricum (nu e niciun modul standard care sa foloseasca char dev-ul 42 din
cate stiu eu).

Octavian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/pso/attachments/20100317/740ad0be/attachment.htm>


More information about the pso mailing list