N.B: I Suppose you're running 2.4 kernel ..... > > int init_module() > { > Major = module_register_chrdev(0, DEVICE_NAME, &Fops); /* Wrong !!!!!!!*/ Major =register_chrdev(0, DEVICE_NAME, &Fops); > if (Major < 0) > { > printk ("dispositivo %s fallà con %d\n", "Lo siento, registrando el > carÃcter", Major); return Major; > } .... > void cleanup_module() > { > int ret; > ret = module_unregister_chrdev(Major, DEVICE_NAME); /* Wrong!! */ ret = unregister_chrdev(Major, DEVICE_NAME); > if (ret < 0) > printk("Error en unregister_chrdev: %d\n", ret); > } > ------------------------------------------------------------- > > ÂWhat is a "unresolved symbol"? unresolved symbol means that such symbol isn't exported by kernel (by mean of EXPORT_SYMBOL)... take a look to /proc/ksyms to get a list of such symbols. N.B: There are other clean up to do in that code (module_init/module_cleanup [look at include/linux/init.h]), as well as MINOR(inode->r_dev) [include/linux/fs.h] .... have fun! > As ever, Thank you very much, in advance. No thanks but sangria ;) ------------------------------------------------------------------------------------------------------------------------------------------------------------- PGP PKEY http://pgp.mit.edu:11371/pks/lookup?search=belch76@libero.it&op=index ICQ# 104896040 Netphone/Fax 178.605.7063 Homepage http://web.tiscali.it/bellucda ------------------------------------------------------------------------------------------------------------------------------------------------------------- Daniele Bellucci -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/