Critical Mass (1.0.2)
  :aka Critter:

  SOR (1.3.0)
  :Solid of Rotation:

  keyWatcher (2.0.1)
  :Linux Event Watcher:

  FZoom (1.0.1)
  :Magnifier for X:


  :Mini Projects:

  SF Download Section
  :Get the goods:

  Project Home

  Hosted by
  SourceForge Logo

- Linux Kernel -

CerfBoard SA 2.5.x / 2.6.x
Patch 2.5.44-rmk1-sacerf1
Patch 2.5.47-rmk1-sacerf1
Patch 2.5.65-rmk1-sacerf1
Patch 2.5.67-rmk1-sacerf1
Patch 2.5.70-rmk1-cerf1
Patch 2.6.0-test7-rmk1-cerf1
Patch 2.6.0-test8-rmk1-cerf1
Patch 2.6.0-rmk1-cerf1
Patch 2.6.0-rmk2-sacerf1
Patches have made it upstream to Linus' kernel. RMK patches no longer strictly required :) The major remaining piece in the patches below is the cs8900 driver.
Patch 2.6.4-rc1-sacerf1
Patch 2.6.4-sacerf1
Patch 2.6.6-sacerf1
Patch 2.6.9-sacerf1 running here.

CerfBoard PXA 2.5.x
Patch 2.5.55-rmk1-pxacerf1
Patch 2.5.59-rmk1-pxacerf1
Patch 2.5.59-rmk1-pxacerf1
Patch 2.5.68-rmk1-pxa1-cerf1
Patch 2.5.70-rmk1-cerf1
No more updates here as I no longer have convenient access to a PXA Cerfboard :( Too bad...

SMC 91111 driver
There are several versions of this driver around. I started this rewrite a while back as I couldn't stand the mess in the old driver and to test various performance tweaks. The driver is pretty complete with limited ethtool support. It has only been tested on PXA250/255 based boards.

Source is here

C++ Kernel Module
There are many reasons why C++ (or any other language != C) should stay out of the kernel. Still... a silly afternoon hack produced this. This won't work out of the box due to C++ keywords in the kernel headers. After patching a couple of files, it did run just fine. Constructer/destructor are called and subclassing works. Virtual functions should work, too. There are a number of things that won't work (exceptions, etc.).

Example C++ Module

There is also a real project using C++ in the kernel: Click Modular Router Project.

Logitech Scanman Color Driver for Linux 2.2/2.4
For posterity...

This was my first serious stab at kernel programming. Sadly, Logitech was not forthcoming with documentation for this scanner. Logitech then sold their scanner division and shortly after the buyer went bankrupt. Doh! Thus, I spent most of the time reverse-engineering the windows dll driver with IDA (which works in dosemu, so I could write code while digging through the disassembly). I also used Bochs to get a preliminary idea of what was sent to the scanner.

Release Info:

Version 0.7  - Initial release
Version 0.71 - Minor documentation updates
Version 0.72 - Compile was broken for later 2.2 kernels.
               Fixed Makefile and it now compiles fine 
	       on my 2.2.18 setup. I hope it still works... 
	       I haven't used my scanner in a long time.
Version 0.73 - Changed Makefile to use gtk-config for 
               CFLAGS and LIBS.
Version 0.74 - Patch from John Elliott to support kernel 2.4.29.

Some even older Scanman32/256 stuff:
logiscan-0.0.5c.tar.gz Logo Copyright (C) 2006 by Frank Becker Logo