I agree that this is important and I totally want to contribute but the truth is I don't have the knowledge to do this. Not yet at least. How does one learn how to do this?
I've written a small user space driver for some laptop USB stuff. I reverse engineered the manufacturer's proprietary applications and drivers and made a Linux program that talks to the hardware the same way. Is this the correct approach here?