Linux Device Driver Programming
A device driver for Video
This project is about the Video Frame Grabber Driver in which we are working on the PS512-8-PCI and the Video Gala-PCI devices. This driver continues the work done by other teams in the last previous three years by Brett W. Thompson, Gilberto Morejon, Veen Adityan, Arthi Gokarn, Alex Rudnick, Atulya Mahajan, and Sean Toh under the guidance of Dr. Ted Baker and Dr. Kartik Kopalan.
Our goals for this year:
· To compile and run the driver correctly on the Linux distribution .6.16
· To improve the previous device driver for PS512-8-PCI and the Video Gala-PCI devices to support Video4Linux as a test.
· To integrate the previous driver and make it work on both grayscale and color frame grabber.
· To work on the low-level operation of the frame grabber to support I/O Interrupt-driven.
· To work on the low-level operation of the frame grabber to support streaming at full speed (if time permits).
- Try to compile the Dr Baker’s source code of Video Frame Grabber, it didn’t compile as predicted.
- Pick the previous students work (Atulya Mahajan, Huan Keat Toh) that we are going to use as a starting point and try to understand that source code.
- Try to modify the Makefile, hrt_load, hrt_unload files and compile them. It compiled, the module was loaded sucessfully, but we weren’t sure whether device was registered or not.
- We tried to figure out this issue.
- Read the source code, map functions, and try to understand the source code from hrt.c.
- Fixed the makefile, hrt_load, hrt_unload.
- Just worked on the code only. We discussed each function in hrt.c
- We divided two parts for this time being. Lucie focuses on the Test file, Video4Linux. Binh Tran focuses on functions how to integrate grayscale and color cards.
- Try to understand the source code deeper.
- We found that the grayscale card wasn't recognized when we loaded hrt module. We fixed it by switch the slot between color and grayscale cards. It worked J
- We worked on the following error: "videodev: HRT PixelSmart (PS512-8-PCI) has no release callback. Please fix your driver for proper sysfs support"
- Our solution: go to the website http://lwnnet/Articles/36850/hrt to read and figure out the way to correct error
- We found that the sysfs error on 06/07/06 was not a main issue for compiling and loading the hrt module.
- We did get the original version driver compiled and ran correctly on Linux distribution 18.104.22.168 with Dr. Baker’s helps.
- The grayscale images were working correctly with the original Video4Linux testing file and the original hrt.c.
- The color images were still not working correctly. We tried to figure out this issue.
- We were very closed to our first goal.
- The greyscale card worked perfectly with our new kernel.
- The color card is recognized and worked well with our new kernel, but we can not test the color part.
- We try to compile the user application file using Video4Linux , hrtdemo.c, to modify and test the color part. But did not work. Dr. Baker adviced us to download some missing library, which we did but still, the application file did not compile.
The missing libraries that are needed by our application
file are gtk.h
- We tried to fix the following error:
“Checking for BASE_DEPENDENCIES... Requested 'glib-2.0 >= 2.8.5' but version of GLib is 2.4.7.
Configure: error: Package requirements (glib-2.0
>= 2.8.5 atk >= 1.0.1 pango >=
1.9.0 cairo >= 0.9.2) were not met:
One more day trying to configure those libraries so
- We fixed the Saturday error.
- We found something inconsistent code in the hrt.c, specially the hrt_init_module() and hrt_cleanup() functions. Danny pointed out this issue, and we looked at this and fixed it by ourself. Thanks Danny for this.
We continue working on these libraries. In the
meantime, we decided
- For this time being, we are working on our third goal.
Last Updated: 06/17/06 11:34am EST Copyright @2006 Binh D. Tran