The power of open source

I own an Barnes & Nobles Nook Color e-reader. It is a fantastic device that can be rooted easily and used as a tablet pc.

Besides using with Android I wanted to install Linux on it, but there isn’t a fully functional Linux kernel for the Nook. So I contacted Oleg Drokin (a.k.a verygreen) and William Marone (a.k.a wmarone) that were working in porting Nook Color’s Android drivers to Linux.

I pick the task to work on the Cypress TrueTouch ™ touchscreen driver for upstream inclusion. I knew that Kevin McNeely from Cypress submitted a patch-set for a newer and better designed driver for the TrueTouch family. I contacted Kevin asking if I could take that patch-set as a starting point for the driver and what modifications were needed for the driver to be accepted.

Kevin kindly told me that a requirement was to modify the driver to use a different multi-touch protocol type from the one the driver had. So I modified the driver to use the newer multi-touch protocol type B. Kevin also gave me guidance, advice and code when I didn’t understand the driver internals.

I posted a patch-set which was reviewed and a few issues were found. Again Kevin point me out what modifications are necessaries to fix these issues.

So that is what I’m working on in my free time. I’ll keep modifying the driver and resubmitting the code until the patch is merged or Kevin and the folks from linux-input get tired of me.

This post is now longer than I would like, but I wanted to tell the full story to show the power of open source. I own a hardware that doesn’t meet all my needs, I’m able to hack the device, modify it at my will and find help both from hobbyists and companies like Cypress and its engineers.

I think this is the best moment in history to be an engineer, 20 years ago one could only dream of having a modern operating system such as Linux or Android with its complete source code to read, understand and modify.

I know I want to be a FOSS hacker all my life. I don’t think there could be a better way to build high quality software such as Linux.

Advertisements
This entry was posted in Uncategorized. Bookmark the permalink.

6 Responses to The power of open source

  1. Javier, Any idea if the Nook Tablet uses the same microcontroller as the Nook Color?

  2. Hello Michael,I don't know for sure since I didn't have access to a Nook Tablet, but looking at the released source code by Barnes & Nobles, it seems that is using at least the same driver. Probably is another microcontroller from the same family: Cypress TrueTouch (r) generation 3.One that supports more contacts than the one found in the Nook Color (2 fingers).You can take a look to this board file: https://github.com/diamondlover/Nook-Tablet/blob/master/distro/kernel/android-2.6.35/arch/arm/mach-omap2/board-acclaim-peripherals.cI think this is the board file for the Nook tablet and is using the cyttsp driver.Hope it helps

  3. Thanks Javier, much appreciated.I have access to a rooted NT, and though I can get around at the command line I'm no pro – is there a command I could enter that would report the microcontroller information in a terminal emulator? I'm guessing something like lshw with some arguments (I'd need to get lshw on to the NT, but that shouldn't be an issue)

  4. Or perhaps dmesg via busybox… I can't seem to find a apk with the GNU core utilities.

  5. Hello Michael,Can you show me the output of these commands?:$ cat /sys/bus/i2c/devices/*/name$ cat /sys/bus/i2c/devices/*/modaliasAlso, my email is javier@dowhile0.org I should answer you more quickly if you just send me an email.

  6. Pingback: Hardware enablement | Blog | Javier Martinez Canillas

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s