Monthly Archives: July 2007

First compile and build the latest alsa-driver, alsa-lib and alsa-utils (ver 1.0.14). After they are installed:

 sudo modprobe -r snd_hda_intel

sudo modprobe snd_hda_intel model=3stack

Well that took a while to figure out!!

‘Tis only every few days that I get the urge to show off my uber geek cred.

For almost a year (since I got my XPS 1210 with nVidia 7400.. beat that Apple fanboyz..) I have been wanting to switch to Ubuntu and get rid of my WinXP installation. However Ubuntu is notoriously finicky with WPA2 wireless security – which I use to keep my neighbors from surfing pronz on my connection.

So after multiple kernel compiles, I got the perfect way to have that kernel that runs everything.

In addition, I wanted to test out the Completely Fair Scheduler which is due to be merged onto the mainline 2.6.23 kernel (odd numbered .. so use at own risk). The CFS scheduler has been at the forefront of a bitter fight between Ingo Molnar (2.6 kernel scheduler maintainer and author of CFS) and Con Kolivas (author of Staircase Deadline scheduler). Ingo had been for a very long time, a strict opponent of the fair-scheduling approach taken by Kolivas and his -ck kernel patchset. Then Ingo came up with a scheduler that more or less was based on the approach that Kolivas took (also not original, but he pioneered it in the kernel). This was accepted by He-Who-Shall-Not-Be-Named and taken up for merge in the kernel. It is only quite recently that he defended his decision to do so.

Anyway, I wanted to test out the new scheduler, because it gave a better performance on 3D games – especially World Of Warcraft

Pre-requisites – make sure you have all compilers and build tools handy. On Ubuntu this means build-essentials, ncurses5-dev, modutils, debhelper, kernel-package, fakeroot

  • Download  linux-2.6.22.1
  • Download sched-cfs-v2.6.22.1-v19.1.patch
  • Inside linux-2.6.22.1 directory, run “patch -p1 < $DIR/sched-cfs-v2.6.22.1-v19.1.patch
  • Download IWLWifi-0.1.x   , mac80211-9.x.x  , Intel3945 firmware
  • untar mac80211:
    • set $KSRC env variable to the linux-2.6.22.1 directory
    • make;make patch_kernel
  • go into your linux-2.6.22.1 directory and make menuconfig.
    • whatever else you do, please do select your processor architecture correctly. The first time around, I got a lot of build errors due to incorrect processor
  • make-kpkg –initrd kernel_image kernel_headers (standard kernel building, this can be googled
  • install ur new kernel (using dpkg -i). reboot
  • when ur in the new kernel, copy the intel firmware to /lib/firmware/<kernel-version>/ directory
  • go into iwlwifi directory: make
  • first load up mac80211 drivers: modprobe -a mac80211
  • then try loading up the newly built iwlwifi drivers : insmod compatible/iwl3945.ko
  • type iwconfig and see if ur wireless card is being recognised
  • At this point use ur regular configuration tool – I am a big fan of WICD

I know only this – I have wireless and World of Warcraft responds much nicer now!!

Working in a software firm with its baseline support at Redhat 7.2 certainly is hard – you have to make do with several apps that are old or forgo them altogether.

For all its opensource cred, Firefox 2.0 doesnt have an out-of-the-box build that works on Glibc 2.1 . However, Opera 9 does (praise their souls). And once you opera.. you never go back… well I think I have harped on Opera far too many times.

But there is one app that I  have to use and yet has no Glibc 2.1 version – Thunderbird. So the problem arose – how shall the twain come to meet?

Compile your own glibc 2.3 - hmm.. but I dont have root permissions, how do I use it and still use 2.1 for my company work.

aha… but therein lies the trick.

Actually the thunderbird executable that we run, is in fact a script  - so we need to insert the appropriate ld.so in between. But lets not get ahead of ourselves.

To compile Glibc-2.3 for Redhat 7.2 - we will pick the Glibc 2.3.2 revision (glibc-2.3.2.tar.bz2).  After this revision, compiler idiosyncracies dont allow Glibc to be built on Redhat 7.2. In addition, we must also pick the corresponding glibc-linuxthreads revision – glibc-linuxthreads-2.3.2.tar.bz2

unzip the glibc package. unzip the linuxthreads package inside the glibc directory and build

 ./configure –prefix=/home/sss –enable-add-ons=linuxthreads,linuxthreads_db

make

make install

Now, you end up with $INSTALLPATH/lib/ld-2.3.2.so.

voila

./run-mozilla.sh  release//lib/ld-2.3.2.so –library-path release/lib:.:/usr/lib:/usr/X11R6/lib:/usr/local/lib ./thunderbird-bin 

Incidentally, Thunderbird has been relegated to the bin by the Mozilla foundation . I suppose with Google putting millions of dollars into Mozilla, they did not really want to spend money on Thunderbird – what with Gmail and all (*wink..wink*)

One of these days, as I was reading on the Ford-Firestone feud, I got to thinking on how the tyre industry is similar (and different) from the EDA industry.

As this page of JSTOR(as part of the Journal of Marketing) illustrates,  :

  •  The history of the tire industry has been of exit, rather than entry – so has been the case with the EDA industry, though unlike the tire industry, you have to account for startup behavior. Surprisingly, an EDA company is unable to sustain itself over the long term by itself. It has to either die out or merge itself into the big three. Very unlike small software product houses, which go on for many many years, doing good for its founders (Joel Spolsky anyone?)
  • The rubber tire does not face competition in any functional sense – is this similar or dissimilar? One can argue that the myriad perl scripts that used to help one do iterative synthesis, etc. are a competition to placement-aware synthesis tool suites, but I can argue that it does not face competition from an equally ambitious project (e.g. MS Word and Google Word)
  • Most importantly, tire production and distribution require a plant in which fixed costs are moderately heavy, to necessitate volume selling – I know that one. Cost of labor in the EDA industry is so high (them Ph.D’s dont come cheap), that it necessitates volume selling.

I think for a small EDA company to continue existing, it must work on a profit-sharing mechanism and actually focus on a market niche which is small (can be handled by <10 developers) , but profitable enough to pay the bills.

del.icio.us Tags: