Showing posts with label linux. Show all posts
Showing posts with label linux. Show all posts

Sunday, May 24, 2009

Linux

How the heck can it be so easy?

[Kudos to the Desktop Linux architects and programmers!]

Friday, November 28, 2008

Why Debian is my favorite distro #17

I was struggling to get the PID of an SSH invocation that backgrounds itself (-f). It's being setup as a TCP forwarder in a script and I need to tear that down when the script finishes. Unfortunately, I couldn't find a clean way -- I ended up using a hackish "ps", but isn't there a better way? Can't ssh print its pid, like for example wget -b does?

Like that search shows, I'm not alone. This issue was reported as Debian bug #446932 in 2007. OpenSSH has it as the bug #1473 about six months later. Note that I tried the exec solution, but it did not work because ssh forks -- I hadn't read that bug report when I tried it -- but the "control socket" method seems workable.

Monday, October 27, 2008

oldstable (sarge) files going away ...

And just when I was creating my first ever Debian mirror (which has been crawling at 6GB/day). Oh well, at least this will test whether files get deleted.

Frustrated by the slow speed, I wrote a script ("kanadi") that improves upon one of my older scripts, by merging in files on DVDs into a Debian repository. I merged in amd64 and i386 of etch (the soon-to-be oldstable), but have been resisting doing so for Lenny.

Wednesday, July 02, 2008

Some thoughts on Windows HPC

Also known as Windows Compute Cluster Server 2003, or Windows Server 2003 R2 + Compute Cluster Pack (which we used).

I'm hugely grateful to the following communities:
  • The Linux Kernel Team: for a kernel that detects all the exotic hardware that we pushed at it and works with all of them out of the box. Without requiring BIOS upgrades. Without hanging forever, with no indication of what went wrong.
  • The Linux Kernel driver authors: for giving us 100% hardware performance out-of-the-box without any tuning whatsoever. Seems silly to praise this, but yes, thank you! And without "Quality Labs" certification too!
  • The Debian GNU/Linux Project: for building one of the finest customizable distributions out there. And one that requires no license keys. And that downloads updates using standard mechanisms that allow me to accelerate update delivery.
  • The FAI authors: For a system that installs an entire OS with applications and configures it in 4 minutes flat across all nodes (dependent only on Internet speed and network and disk transfer rates). And without borking on "incorrect" license keys despite us doing everything correctly.
  • The OpenSSH authors: for a secure, remote shell that integrates very well with the system, allowing us to save loads of time, and doesn't have silly restrictions on the number of concurrent users.
Windows 2003: "The most productive platform ever". Yeah right.

And before I forget: to the people who implemented "Last Known Good Configuration", thank you!

Monday, January 14, 2008

How to save any Flash Video to disk from Firefox in Linux

I've used youtube-dl to download videos from YouTube, but it can't handle, say, about.com videos. Or any of the other random video sites popping up all around the net. Turns out there is a very simple way to save any FLV file to disk in Firefox (as a friend showed me):

  1. Type about:cache in the Location bar.
  2. Click "Disk Cache Device", loading this page might take some time.
  3. Search for the FLV file (Ctrl+F). You may have to look around a bit.
  4. Once found, click the link, which will open up a "Cache entry information" page.
  5. On that page, the "file on disk" parameter shows you where Firefox has stored that FLV file in its cache on disk. Now just cp that file to wherever you want it:

    cp /path/from/file/on/disk /path/to/where/I/want/FLV/file.flv

Incredibly simple and easy! (Tested on Ubuntu Feisty)

Monday, November 12, 2007

Supporting Linux

Many of my friends have recently switched to Ubuntu, making me the tech-support guy again. Not that I like to play that role, but if there's something new to learn, then I'm game!

Unfortunately, the support has largely been anti-climatic. When the wireless wasn't working on a friend's laptop, he lugged it to my lab, only to find out that the "wireless enable" switch was off. Turning it on got it working immediately.

Another friend recently installed Ubuntu, and he has a TV tuner. It worked out of the box, except that there was no sound. We finally tracked it down to a mute AUX mixer control. Raising the volume there got that working again.

The second could be attributed to bad defaults -- the AUX control isn't shown by default, and is muted too, but frankly there are no sane defaults in this case.

Thankfully both of these friends do read manuals and explore, so helping them is not quite the pain it usually is.

There have been more "complex" problems that I've handled, installing the Flash and Java plugins on a 64-bit machine. Neither are officially supported (Java's 64-bit JRE ships without the browser plugin!), so problems are to be expected. For Flash, nspluginwrapper worked like a charm, but for Java, the only recourse was a custom 32-bit install of Firefox.

Tech support is boring, especially when you've done it again and again. And these days, if the problem is something that Google can solve, I refuse to solve it. Sometimes rudely.

Tuesday, September 04, 2007

The IA64 Experience

The machine in the Supercomputing Bay is old. Older than most people in the lab. Yet it has impressive specs. Four Itanium processors. 8GB RAM. Two 80GB SCSI HDDs. And Red Hat 7.2.

This Itanium "server" was condemned to that slow death that is inevitable when you install a distribution that doesn't support in-place upgrades. It grows so old, software-wise, that nobody wants to use the perfectly good hardware anymore. So, last week, when a friend wanted the latest kernel on this machine, I decided to install Debian Etch onto it.

The first thing, of course, is that Itanium machines don't have a BIOS bootloader. Like the Intel Macs, they have EFI. Think of it as a inbuilt Grub, but with lots of additional features. For example, it can boot over the network using PXE directly. There is a command prompt with commands faintly reminscient of DOS commands. It even features a full screen text editor that you can use to edit files on a FAT partition. And yes, it takes a glorious 100MB partition for itself. No more 512-byte boot sectors for EFI.

Unfortunately, this EFI bootloader couldn't boot from the ATAPI slave CD-ROM, without a master.

So it was upto network installation to save the day. Debian installed onto the IA64 over the Internet nicely (yay for Mbps internet speeds!), and booted up just fine. Like all Linux distributions, it uses elilo to boot on the IA64 -- Grub is not supported. However, elilo seems much nicer than its cousin which has been supplanted by Grub on
the x86.

Here are somethings I learnt:

  • The Pause key is useful for paging through output at the EFI console.
  • If the "EFI Shell [Built-in]" option does not drop you at a shell, but starts up elilo instead, the file startup.nsh might exist. You can press CTRL+C quickly after selecting EFI Shell to get to a prompt. This will cancel elilo and allow you to delete/edit the startup.nsh file.

Sunday, July 15, 2007

Suspend works again!

Decided to spend a peaceful Sunday pursuing Feisty's inability to suspend my laptop.

After a dozen reboots and no solution in sight, I decided to install the latest 2.6.22-8 kernel from Gutsy. I'd tested suspend with 2.6.22-6, but that hadn't worked. But with 2.6.22-8, it worked! Kinda. The nv driver doesn't bring up the backlight, so I had to go back to the nvidia driver. But now it works!

Regressions: bcm43xx doesn't really work with my card, and ndiswrapper is not included in 2.6.22-8. Dunno why. The changelog has this cryptic comment "No longer provide ndiswrapper or ivtv modules (l-u-m does)". Unfortunately, I've no idea what l-u-m is!
Attempting to recompile ndiswrapper results in some dependency problems which I'm in no mood to fix (requires linux-headers, but linux-headers requires libc6 2.6, etc.).

Ah well. It's still a couple of months away.

Update: l-u-m is linux-ubuntu-modules, which I found out by following the dependency chain from linux-generic.

Saturday, May 26, 2007

Does Windows have that?

Sometimes I wonder, on seeing some wonderful new feature in Linux, whether Windows possesses the same feature. The feature this time, was dynamic ticks, that headline grabbing, gut-wrenching (atleast for 2.6.21) patch that allows Linux to save a lot more power than your Windows laptops. Or does it? I mean, if Windows has that feature, then Linux has just "caught up", and I can't claim advantage.

Thanks to Kernel Comparison: Linux vs Windows -- whose motto is "Everything you wanted to know about your kernel, (but were afraid to ask)" -- I now know that Windows does not support dynamic ticks.

Useful reference that.

Friday, May 18, 2007

Why FOSS is Better, Yet another Case Study

Recently developers at Intel released a tool called PowerTOP. For users familiar with top on Unix systems, this tool is similar, except it displays information on programs that are "waking" up the CPU often. What does this mean? To cut a long story short, it means you can now identify which programs are interrupting a CPU's sleep, and determine if that interruption could have been handled in a better way, letting the CPU sleep longer. That way, battery power could be saved.

Why is this tool a good example of Free Software at work? Not only did the developers create this tool, they also identified many free/open source software programs where things could be done better. Because the source was available, they were even able to make patches -- or modifications -- available so that battery life was extended by "an hour or more!" This is amazing. Imagine doing this on your insert-favorite-proprietary-operating-system here. It'd take years for the OS vendor to get it, then the programmers to get it, and then for them to get together and do it.

Why is this on my blog? I use liferea, a feed reader that manages my RSS feeds, and the latest release has this cryptic changelog: "This release decreases CPU power consumption for laptop users". My life is already better, thanks to PowerTOP.

Oh yeah, bonszai says, "Thank you, Intel!"

Monday, May 07, 2007

Summer Surprise




This is a PicoPeta Simputer...you are assimilated!


blob version 2.0.5-pre2 for PicoPeta Simputer

Copyright (C) 1999 2000 2001 Jan-Derk Bakker and Erik Mouw

Simputer platform Copyright (C) 2002 Vivek K S, PicoPeta Simputers Pvt. Ltd.

blob comes with ABSOLUTELY NO WARRANTY; read the GNU GPL for details.

This is free software, and you are welcome to redistribute it

under certain conditions; read the GNU GPL for details.

Memory map:

0x01000000 @ 0xc0000000 (16 MB)

0x01000000 @ 0xc8000000 (16 MB)

Loading blob from flash . done

Loading kernel from flash ... done

Autoboot in progress, press any key to stop ..

Starting kernel ...


Uncompressing Linux............................................ done, booting the kernel.


Simputer login: root
[root@Simputer /dev]$cat /proc/cpuinfo /proc/meminfo
Processor : Intel StrongARM-1110 rev 8 (v4l)
BogoMIPS : 127.38

Features : swp half 26bit fastmult

Hardware : Picopeta-Simputer
Revision : 0000
Serial : 0000000000000000
total: used: free: shared: buffers: cached:
Mem: 31494144 19243008 12251136 0 1429504 9195520
Swap: 0 0 0
MemTotal: 30756 kB
MemFree: 11964 kB
MemShared: 0 kB
Buffers: 1396 kB
Cached: 8980 kB
SwapCached: 0 kB

Active: 3452 kB
Inactive: 11716 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 30756 kB
LowFree: 11964 kB
SwapTotal: 0 kB
SwapFree: 0 kB

[root@Simputer /dev]$


Saturday, May 12.

Monday, April 30, 2007

The Feisty Fawn Upgrade

I finally did it last Thursday, upgrading from Edgy to Feisty. I thought it would be fun to relax by installing Feisty after a rather tough academic session. Oh boy, was I wrong! Regressions, a root file system corruption, and the eventual re-installation kinda disappointed me. But I'm running Feisty now! Here's how it went off.

After burning the DVD, I noticed the cdromupgrade script on the DVD, and decided to run it, instead of the normal aptitude dist-upgrade. A couple of clicks and one hour later, my system was upgraded to Feisty Fawn. Such simplicity -- I thought -- it can't be this easy! Yet it was. In a way.

Unfortunately the reboot failed. It would come to the boot screen and simply hang. Turns out, I had installed a custom kernel in Edgy, which was also set to be the default. This was simple to solve. Just select the Feisty kernel in the grub boot menu, and later reconfigure the previous kernel, dpkg-reconfigure linux-image-old, and it booted fine. I guess upstart's not really working well with the old kernel's initrd. Boot time is now 45s, down from 55s for Edgy.

The nv driver, as I mentioned in an earlier post, works perfectly. The coolest feature about X.org 7.2, is its ability to run without a xorg.conf file. Just remove the xorg.conf file, and see it run perfectly! It did, for me, atleast. I did have problems with the scrolling on the touchpad, but that was easy to fix, just add options psmouse proto=exps to /etc/modprobe.d/options.

Unfortunately, there were two regressions. The most evident, and a show-stopper for my laptop was support for the headphone jack. Unlike Edgy, where it wasn't even recognized, and I had to install the latest ALSA, in Feisty, both speakers and headphones work, but have a single volume control. Unfortunately the speakers aren't muted when I plug in my headphones. Incredibly annoying, as my labmates will testify, as I blasted Jonny Quest's theme song again and again. Feisty ships with ALSA 1.0.14rc1, and I had to compile and install 1.0.14rc3 from Debian, which was, thanks to make-kpkg, a breeze. Now, plugging in my headphones automatically mutes my speaker, and vice-versa. It's not perfect yet, I've to trigger the detection by muting/unmuting, but this is how it should be. The speakers also seem to sound much louder. FYI, the sound card/codec is a NVIDIA/Conexant CX20549 (Venice).

The second regression was Suspend/Hibernate. I use Suspend rarely, and it used to work beautifully in Edgy. Unfortunately it's broken in Feisty. I first thought it was a problem with nv, but the nvidia driver has the same problems. Also it turned out that my forced shutdowns ended up in me corrupting the root filesystem. Ouch.

Recover or re-install? Well, I always wanted to re-install Feisty (just for kicks), and here was the opportunity. So I wiped the root partition, and re-installed Feisty. Took about another hour, and I'm still re-installing apps -- but thanks to aptitude that's not much of a pain. All of my settings and data were not affected -- thanks to the good fortune of having a separate /home partition. What is a painful is that main in Feisty does not fit on the DVD, and you'll need the web repositories too. Irritating.

Oh yes, beryl 0.2.1 doesn't work either. The window decorator (emerald) doesn't work.

After all of this, what's Feisty worth to you? If you're using Edgy on a laptop and it's working, I recommend you continue. However, Feisty's GNOME feels much faster and lighter (and is too!), and having the latest and greatest applications always feels good. As I said, fun, but not relaxing. It works, but keep your fingers crossed!

What's really different about this install is the amount of software I had to add to make it all work. For Feisty, only ALSA. For Edgy, I had to do ALSA, ndiswrapper, network-manager, and some other stuff I've forgotten. So, this is progress. Two steps forward and one step backward, but progess nevertheless. Now to wait for the Gutsy Gibbon.

Update: May 7, 2007 Monty is my hero! Here are the options to add to the screen section in xorg.conf to get beryl working:

Options "AddARGBGLXVisuals" "True"
Options "DisableGLXRootClipping" "True"

Thursday, April 26, 2007

Flash 9.0 on 64-bit Ubuntu with Firefox 2.0

I'm watching the Mac vs. PC ads on Youtube, in the 64-bit Firefox 2.0 browser. This shouldn't be working, Adobe does not have an official 64-bit Flash player for any operating system, let alone Linux. You ask how? Here's the trick:

  1. Get nspluginwrapper sources from the Debian website.
  2. Compile and install.
  3. Get the Flash 9.0 player from Adobe.
  4. Untar, and copy libflashplayer.so and flashplayer.xpt to ~/.mozilla/plugins/
  5. Run nspluginwrapper -i ~/.mozilla/plugins/libflashplayer.so
  6. Enjoy!
I've done this before, with an older version of nspluginwrapper, but could never get sound working. Maybe the fact that I used RPMs (converted by alien) messed things up. Even now, however, nspluginwrapper segfaults. Thankfully it works for nspluginwrapper -i, which is all I that's required.

As an aside, swfdec is a free software Flash viewer that plays Flash videos, and so is gnash.

Furthermore, youtube-dl allows you to download the flash videos to your hard disk, where mplayer or ffplay (better) can play them.

Freedom in Sight?

I justed booted into Feisty Fawn today, using the live CD. Some pleasant surprises were in store.

Video worked perfectly. With the nv driver. Yes, the free nv driver. And from what I can tell by reading the X log, it seemed to have detected the external video outputs as well. If this really works, drivers from nvidia get thrown out.
Not only did the nvidia driver give me fewer resolutions, it also messed up my console. I used it only because it gave me VGA-out support, which is needed for presentations using bonszai. If nv can do that, well, nv it is then!

And bcm43xx, the free driver for Broadcom-based chipsets? It works too. Not only can the latest bcm43xx-cutter (006) use the drivers provided by Compaq, it also warns me that support is not in mainline yet for those drivers. So I must use the older drivers. Which is fine with me. So far web-browsing works. Web downloading does not, with speeds of 4--5 KByte/s (which is worse than dial-up)But to be fair, I really haven't tried wireless from my new location, so maybe I better check out my older version. Ubuntu now has network manager, which is really a painless way to configure networks, across operating systems I must add.

Given that video and wireless were the only two components of bonszai that used non-free drivers, I'm looking forward to running a fully-free bonszai!

Monday, February 12, 2007

G'bye Windows Support

With Windows Vista, it's now two windows versions that I've never seriously used. I stopped using Windows when XP was released about 5 years ago, and have never looked back. I moved to Red Hat Linux, then to Ubuntu, using Debian along the way. This has meant that I'm really out of touch with the "mainstream" computing world.

That is not so bad. Imagine the tons of support requests I'd get, which I now decline with "Sorry I don't use Windows". And I'm not lying either.

Thursday, February 08, 2007

Wirefree!

I received a Jabra BT135 Bluetooth Headset, courtesy HP, a couple of days ago. Funny thing is that they import it to a place that's ten minutes from the Institute, but I had to wait for two months for it!

My primary purpose for this new toy was to use it with Bonszai, rather than with a mobile phone. Yes, it's mono and not stereo, but going wireless with audio would be fun! Turns out Linux does support these headsets out of the box, with the snd-bt-sco driver. Essentially, this driver supports bluetooth headsets by appearing as another sound card to all applications. This page has more details.

Unfortunately, nothing ever works out of the box for me. Turns out that because I'd re-compiled ALSA separately from the rest of the kernel, the snd-bt-sco driver refused to load, citing lots of missing (and version mismatched) symbols. Either I could recompile the entire kernel or go back to the older version of ALSA (and lose the normal headphone support!). I decided instead to upgrade to kernel 2.6.20 which I knew would have the latest ALSA. The only thing that would break would be the nvidia drivers.

So there I was, snd-bt-sco loaded, btsco running, and trying to get a song to play using aplay or mpg123. Except it just wouldn't play! The headset would pair up, authenticate, send messages to the computer whenever I pressed buttons, emit a ringtone when I commanded it from the computer, doing everything short of playing a song. All the music playing apps would just freeze. Others had encountered this situation too, but nobody seemed to have found a solution to it. Just bugreport after bugreport. I struggled for a long day, before giving up.

Today, I found this bluetooth-alsa page and this thread that documented a fix to exactly the same problem. The solution was simple: use the force_scofix argument to the hci_usb module (when you load it the first time), especially if you're running a Broadcom adapter.

Voila! It worked! Sound is not that great, but it is convenient to listen to music about 5 meters wire-free away!

I hate Broadcom. What's wrong with them? First wireless adapters, now Bluetooth adapters. Sigh.