Epson USB scanner driver (June 20th, 2002)Epson USB Scanner driver, written primarily for a "Perfection 610", but may work with other USB scanners.
Logitech USB wheel driver (Nov 23rd, 2001)Logitech "driving force" USB wheel driver, written in conjunction with my playstation 2 wheel :-)
USB base driver (Nov 23rd, 2001)Basic USB driver. This can be a starting point for any new USB driver. Or it can simply be a diagnostic tool to tell you what type of endpoints are available on a USB device that does not have a driver already.
USB driver writer's primerAs an additional resource for anyone else interested in writing USB drivers for solaris, I am writing a USB driver orientation guide.
If running Solaris 8, Be sure to install the latest version of patch 109897
If you have a "winbond w83781d" chip in your system, you can use my "health" driver.
If you have a "soundblaster PCI 128" or PCI 16 card lying around , you can take a look at the sbpci driver. It is a sample non-streams audio card driver, that may be useful for anyone interested in writing a sound card driver from scratch.
However, for day-to-day use, you will probably be more interested in Juergen's more recent work on his newer audio framework drivers, that support the soundblaster PCI, and many other sound cards as well.
(March 15 2003)
I'm happy to note that Sun has made use of this as a starting point, and there is now a WORKING agpgart in opensolaris:
I was very happy to note that one of the Sun engineers wrote a very informative blog entry about the new sun agpgart driver, which also mentions its specific roots as being originally from my humble driver, above :-)
Side note: My driver could most likely be compiled for earlier versions of solaris than sol10, (unlike the opensolaris driver), but this has not been confirmed.
Related to AGP: I'm reviving Utah-GLX. It's an older GLX module for xfree86 that used to only work under xfree3.x. I've ported it to work under xfree4. Other people have also rejoined the project, to improve support for some older cards. There are binaries available for limited 3d hardware acceleration, for use with a stock xfree86 4.2 X server.
Volunteers are still needed for the UTAH-GLX project!!
It is assumed that the userspace program has mmaped access to some kind of hardware device that wants to use physical memory, for DMA (Dynamic Memory Access) purposes. The driver also lets you mmap the allocated memory into the program's address space. It is presumed that the process is a ROOT process, since only root should have direct access to things that can read and write from arbitrary physical memory!!
I'm not aware of any other application for this driver. But if you have one, feel free to use my driver, and let me know that someone else is getting use out of it!
dmamem.tar (July 15th, 2003)
Warning: due to limitations in the current sun DDI framework, it does not use a clean method of handling the mmap. See my fb driver for a cleaner example, if you are looking for how to do general mmap handling from a driver.
This is a generic starting point for all non-STREAMS drivers that will be controlling a PCI device. Amoung other things, it contains a utility script called "printregs" that will print out possible register mappings for any particular PCI device on your system that you specify. It also has a TIPS HTML doc which I copy from time to time here for easy reference.
If you're looking to start your own GLD driver, his generic template is a lot more commented than my one below!
Partial GLD-based netgear network driverI have the framework of a GLD-based driver. It uses's Sun's "Generic Link Device" API. It loads as a GLD-compliant driver, but doesnt do anything, since three's nothing specific to any hardware. I originally intended it as a starting point for all those unsupported dlink/netgear cards, so I call it my fanet driver, after the "fa310" card. Its untested, and may have a few bugs in it. You may be better off with Michael Rice's template, above.
If you're more ambitious and you want to write a full "DLPI" driver for some network hardware, I recomment you use the "psli" sample driver from sun as a base., rather than the "ae" sample driver. But it is still probably wise to LOOK at how the sample ae driver handles things.
UDMA driver for HPT controllerDetails about my HPT driver can now be found on the separate Highpoint 366 Solaris driver page.
Aiptek USB videocam driver (OV511/OV7260 hardware)This one seems to have a little trouble doing reads of the main USB bridge hardware. There are registers that have default values, that are showing up as 0. There are checks in the code that show it is failing. For example,
"USB reg at 1a should be 0x4f: is ..."If someone can find a way to get that bit working, it should be almost done. I have it transmitting isochronous packages of the expected size. Trouble is, they're all zero length right now.
The "aperture driver" from xfree86 is NOT written by me, but by Doug Anson and David Holland. I have it here because it is not easy to find, otherwise. The "aperture" driver does essentially what "xsvc" does in solaris 2.5.1 and later. But xsvc source is not publically available, whereas this source IS available. So I put it here in hopes of aiding anyone looking to do a DRI port for Solaris.
Along those lines, I have a page with guesses on what is needed to do a DRI port for Solaris. Feel up to a challenge?
To aide in that effort, I am working on a driver to provide /dev/agpgart under Solaris. See my AGP driver, above.