Date: Thu, 31 Oct 1996 10:45:45 -0500 (EST) From: "Allen W. Gambert" <gambert@cftnet.com> To: hackers@freebsd.org Subject: problems with device driver Message-ID: <Pine.SUN.3.91.961031102600.16037D-100000@renoir.cftnet.com>
next in thread | raw e-mail | index | archive | help
I'm writing a device driver for a prototype async board. The device driver i've written compiles into the kernel fine. When the system boots with the newly built kernel, the kernel entry routines mbprobe and mbattach get called and the initialization of the device driver structures correctly happens. I can see this because i've put a bunch of printf statements all over the place in every routine that is called. I've checked the majors.i386 file and decided to use major device number 77, the last free entry in that file. After creating the device nodes I use kermit to try to open the device. I keep getting 'Sorry, can't open connection: /dev/mb0: Device not configured'. I believe this is caused by the open routine returning 'ENXIO'. The problem is the kernel is not calling my open routine but instead some other open routine. I know its not calling my open routine because its not printing out the printf's i've placed at the beginning of 'mbopen'. My question is what can I do to determine why my open routine is not being called but instead some other open routine is being called? I must be over looking something, but I just cant seem to figure out what. If someone can point me in the right direction I would greatly appreciate it. Also. I was hoping to make this device driver an lkm instead of hard coding it into the kernel. The only problem is I cant seem to find any documentation on lkm other than the man pages. Does anyone know where I might be able to find some documentation on lkm? Thanks for you help. Allen
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SUN.3.91.961031102600.16037D-100000>