Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Jan 2004 14:14:42 -0000
From:      "Bob Pickles" <BPICKLES@btconnect.com>
To:        "Admin" <admin@sycos.co.uk>, <freebsd-questions@freebsd.org>
Cc:        peter@sycos.co.uk
Subject:   Re: PCI driver development problems
Message-ID:  <017701c3e1bb$4947ebd0$1d02a8c0@sdlbase>
References:  <004c01c3e1b7$fe93cdf0$1c77fea9@dpc27>

next in thread | previous in thread | raw e-mail | index | archive | help
Gurdial

I am in the same position, but have gone past most of these issues, I only
have 5 days
experience though.

The device should be made in your attach() function using make_dev(), then
the device should
be installed...

use tail -f /var/log/messages to see errors that kldload reports, this is
helpful, as it will give
silly errors, when it's just link errors.

Hope this helps.

Bob Pickles
SBS Technologies.

----- Original Message ----- 
From: "Admin" <admin@sycos.co.uk>
To: <freebsd-questions@freebsd.org>
Cc: <peter@sycos.co.uk>
Sent: Friday, January 23, 2004 1:50 PM
Subject: PCI driver development problems


I am using FreeBSD Version 5.1.

I am developing a driver for a PCI interface. I have spent almost a month to
understand the FreeBSD architecture and how to develop a device driver. I
have a number of issues requiring immediate help:

1. I have tried using the /usr/share/examples/drivers/make_device_driver.sh
file to generate a skeleton driver and it failed with a number of errors and
warnings.

2. I used the examples for 'echo' Pseudo device driver (FreeBSD Architecture
Handbook) and managed to compile the code. When I tried to load the driver,
the load failed due to there being no node in the /dev directory. I tried
using mknod  /dev/echo c 33 0 and the following error message was returned:
No such file or directory. I can create a node in any other directory but
not in /dev directory.

3. I have tried compiling /usr/share/examples/kld file and they are giving
errors. I have tried compiling PUC driver code and it fails on header files.
I managed to find other files, but, I could not find opt_puc.h header file.

4. I have modified the make_device_driver.sh to generate code for a pci
device driver. when I try to compile the kernel with the pci driver node, it
won't compile, because I am unable to enter device node in /dev directory.
Can I communicate with my PCI card without creating the device node?

5. I can see the product hardware details using pciconf -l command. But,
when I try using pciconf -a(selector), it returns error "cannot parse
selector".

6. Is there a document which covers how to convert a driver into kld?

7. I am currently using FreeBSD 5.1. Have any of the above problems been
addressed in FreeBSD 5.2?

8. Are there any kernel debugging tools in the system I can use?

9. Are there any working examples in FreeBSD 5.2?

I am stuck and desperately need your help. Would you please advise a.s.a.p.

If you have an up-to-date example of a PCI interface device driver that
works, I would be very grateful to receive a copy to assist me.

Regards

Gurdial Chandra

_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org"

***This message has been scanned for virus, spam, and undesirable
content.***
***For further information, contact your mail administrator.***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?017701c3e1bb$4947ebd0$1d02a8c0>