PCI driver development problems

Admin admin at sycos.co.uk
Fri Jan 23 05:51:55 PST 2004


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 
  


More information about the freebsd-questions mailing list