There is a God in Heaven after all!

I originally thought of posting this on my general blog ( thelittlenook.blogspot.com )
but since I had created thistechnical blog with the express intent of posting technical
ideas, writings and my own progress along the Project Plan that I have formulated for
myself ( see previous post ) I imagined this to be the perfect place for this.

I had vented a lot of fire and brimstone in quite a few posts over a couple of weeks
regarding the absolutely pathetic service that Linux and nVidia had provided for sound and sound recording. I cannot blame the first party with a straight face. After all, it is completely free! nVidia, on the other hand, cannot escape the noose by any strecth of reasoning. They charge a lot of money for their hardware, flaunt a non-existing Linux-friendly service on their website and then provide some totally useless generic drivers which do not work on their own hardware! It had been a totally exasperating experience I tell you. The only good lessons learnt from this experience are :

1. I learnt to be more independent in terms of technology. The mantra is, “If it ain’t
there, make one yourself!”. Thus my Device Driver project.

2. Just because you pay for something does not mean that you will get good service. I have all the best feelings for nVidia’s hardware but unless they want to go the way of the mammoth, they had better start looking outside their tunnel vision to see what the customers really want in terms of service.

Anyway, just so that it could be helpful for thousands of other hapless budding programmers out there, exasperated to find out that the $1000 hardware they just bought won’t even run their favorite OS ( read Linux ) properly, here is a bit of background on my problem and the solution that I found out entirely by chance.

System configuration :

Compaq Presario V3149AU laptop with AMD 64 bit Turion X2 processor,
1 GB DDR2 RAM, nVidia GeForce Go 6150 card with upto 128 MB shared memory
and a 120 GB hard disk.

Problem :

The microphone ( both the external mic and the built-in ones ) were non-functional in Linux. I had tried Fedora Core 6, Slamd64 and Fedora Core 5 with some of the latest kernels ( 2.6.18-1.2768.fc6 on the Fedora Core 6 but similar versions for the others as well ). In short, the speakers work fine and I can hear audio but there is absolutely no mic input. So that means I cannot record my voice using the mic or even through the Line-In.

Attempted solutions:

I must have literally scoured the entire Web in search of a solution to this. I could figure out that the problem lay with the sound drivers. On FC6, the ALSA driver was 1.0.12 or some variants of it ( depending on the specific OS and kernel version ). I must say that a lot of work needs to be done on this driver to come anywhere close to even Windows standards. It was excruciatingly irritating when the forums would suggest installing version 1.0.13 and it would not even install because of some error in the driver code itself (!) or incompatibility with the kernel version and when I managed to install the next higher version, 1.0.14, it would just throw up some dummy switches which couldn’t capture a jet plane taking off at 10 feet. In short, ALSA sucks! Same problem with Slamd64 and Fedora Core 5. OpenSUSE did not even install on my system. Way to go Novell!

Solution:

Call it serendipity or an example of the practicality of the Chaos Theory, but I had almost given up hope of getting the mic to work at all in Linux till I had finished writing my own driver when I chanced upon this excellent new release of Ubuntu called “Feisty Fawn” ( Herd 1 if I am not mistaken ). I do not remember the original link where I had downloaded it from ( shows the confidence I had that it would work ) but when I took it home and used it as Live CD just for kicks, the sound worked perfectly! The microphone also worked perfectly and I could hear my own sweet voice as it streamed from my vocal cords to the external microphone and into the Line-In of the sound card and as it beautifully made its way in Ogg Vorbis to the Line-Out of the self-same card and from thence to the headphones on my head and into the auditory regions of my brain whence the Ogg Vorbis was translated by the myriad neurons into the most beautiful English words that I had heard in a long, long time!
In short, it works fine! And if you are one of those who has had a harrowing time over some something as banal as this, here is a link to the solution of all your problems… well, related to sound on Linux at least! You can get the Feisty Fawn CD here – Ubuntu Rocks!.

The Live CD takes some time to load so be patient ( that is a third good lesson learnt from this experience ) and when loaded, you can install it like a normal Linux distro – on your hard drive.
And yeah, the kernel is a new higher version… something like 2.6.20.X … it is Ubuntu 7.04 after all. The main Ubuntu site itself does not feature more than version 6.10. Anyway, enjoy recording and playing sound on Linux!

Advertisements
There is a God in Heaven after all!

Starting with a brief Project Plan

So at last I am embarking on a very important, in fact “the” most important phase of my life. So in accordance with my goals, I felt a nifty little project plan would be in order. Thanks to my Big Guy Vasu for this idea. He really inspired me with this cool project plan that he makes using Microsoft’s Project software. The vendor is immaterial here really. The actual planning of the whole project in terms of time allotted, resources and the concept of “base levels” is nothing short of an efficient wonder! Of course, the plan that I have here is very simple and very pithy :

My 20% projects ( a la Google ):

1. Write a Linux device driver for nVidia’s GeForce Go 6150 card from scratch. Accordingly, I have to learn the
art of writing device drivers in Linux. I have found some good “free” resources for the same.

2. Develop a Live Audio Streaming web application for Ogg Vorbis format using Lisp. Peter Seibel’s “Practical
Common Lisp” and Paul Graham’s “On Lisp” are two resources that I have earmarked for this purpose.

3. Develop an efficient semi-automated Code Review tool for JBuilder as a plugin. I need to get some actual
research done on this as it is not a free software.

My intention is to complete the above projects before the first of March, 2007. Starting of course, today – the twenty-first of January, 2007.

My Main Project for this year ( 2007 ):

Project Phreax.

This I intend to complete and deploy by the third of July, 2007.

This should be a very interesting journey for me indeed. What I am going to learn and how I am going to enhance myself as a person is going to be even more interesting. And the best part is, it will be here for all to share and learn from.

– Timmy Jose.

Starting with a brief Project Plan