<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>i summon one kim &#187; Linux</title>
	<atom:link href="http://kimmo.suominen.com/archives/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://kimmo.suominen.com</link>
	<description>The website of Kimmo Suominen</description>
	<lastBuildDate>Sun, 08 Aug 2010 19:38:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
<cloud domain='kimmo.suominen.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Fixes to VMware Tools</title>
		<link>http://kimmo.suominen.com/archives/2010/06/fixes-to-vmware-tools/</link>
		<comments>http://kimmo.suominen.com/archives/2010/06/fixes-to-vmware-tools/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 01:34:26 +0000</pubDate>
		<dc:creator>Kimmo Suominen</dc:creator>
				<category><![CDATA[patches]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://kimmo.suominen.com/?p=316</guid>
		<description><![CDATA[I just patched a couple of ESXi hosts to 4.0.0 build 256968 and found that VMware Tools were no longer loading after upgrading them. After some digging everything is more or less back to normal. Turns out that insserv(8) isn&#8217;t happy on Ubuntu 9.10 or 10.04, so now vmware-config-tools.pl falls back to using update-rc.d(8). However, [...]]]></description>
			<content:encoded><![CDATA[<p>I just patched a couple of ESXi hosts to 4.0.0 build 256968 and found that VMware Tools were no longer loading after upgrading them. After some digging everything is more or less back to normal.<span id="more-316"></span></p>

<p>Turns out that <code>insserv(8)</code> isn&#8217;t happy on Ubuntu 9.10 or 10.04, so now <code>vmware-config-tools.pl</code> falls back to using <code>update-rc.d(8)</code>. However, since old rc.d links have been left behind, <code>update-rc.d</code> won&#8217;t do anything at all. On top of that <code>vmware-config-tools.pl</code> calls it incorrectly.</p>

<p>Before running <code>vmware-config-tools.pl</code> or <code>vmware-tools-upgrader</code> first remove all the rc.d links:</p>

<pre><code>cd /etc
rm -f rc?.d/*vmware-tools
</code></pre>

<p>On one of my systems I had multiple links at each run level, with different priorities, left behind from earlier VMware Tools installations. I guess regular manual inspection of the state of the links is warranted.</p>

<p>You may also want to apply this patch to <code>vmware-config-tools.pl</code> before running it:</p>

<pre><code>--- vmware-config-tools.pl.orig 2010-06-06 19:45:49.176241344 -0400
+++ vmware-config-tools.pl      2010-06-06 20:25:56.000000000 -0400
@@ -1495,7 +1495,7 @@
    if ($gHelper{'update-rc.d'} ne '') {
      if (0 == system(shell_string($gHelper{'update-rc.d'}) . " " . $service
                     . " start " . $S_level . " S ."
-                     . " start " . $K_level . " 0 6 .")) {
+                     . " stop " . $K_level . " 0 6 .")) {
        return;
      }
    }
</code></pre>

<p>If your Linux kernel is 2.6.32 or later, the <code>vmci</code> module probably isn&#8217;t compiling for you either. Unpack the sources:</p>

<pre><code>cd /tmp
tar -xvf /usr/lib/vmware-tools/modules/source/vmci.tar
</code></pre>

<p>Then apply this patch:</p>

<pre><code>--- vmci-only.old/vmciKernelIf.c        2010-05-07 00:11:18.000000000 -0400
+++ vmci-only/vmciKernelIf.c    2010-06-06 20:39:40.693377830 -0400
@@ -44,6 +44,7 @@
 #include "compat_page.h"
 #include "compat_mm.h"
 #include "compat_highmem.h"
+#include "compat_sched.h"
 #include "vm_basic_types.h"
 #include "pgtbl.h"
 #include &lt;linux/vmalloc.h&gt;
</code></pre>

<p>Then replace the source tar with the patched files:</p>

<pre><code>cd /tmp
tar -cvf /usr/lib/vmware-tools/modules/source/vmci.tar vmci-only
</code></pre>

<p>Now run <code>vmware-config-tools.pl</code> and everything should compile fine and you should have good start and stop links in your rc.d directories. Note that a start link is only installed in run level <em>S</em>: that&#8217;s okay, as according to the documentation that level is always run on boot. Seems to hold true, as the tools are now loaded fine on my systems.</p>]]></content:encoded>
			<wfw:commentRss>http://kimmo.suominen.com/archives/2010/06/fixes-to-vmware-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu doesn&#8217;t like AMD?</title>
		<link>http://kimmo.suominen.com/archives/2009/06/ubuntu-doesnt-like-amd/</link>
		<comments>http://kimmo.suominen.com/archives/2009/06/ubuntu-doesnt-like-amd/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 08:55:26 +0000</pubDate>
		<dc:creator>Kimmo Suominen</dc:creator>
				<category><![CDATA[computers]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://kimmo.suominen.com/?p=300</guid>
		<description><![CDATA[I&#8217;ve been observing a really strange problem on Ubuntu Server 8.04: processes are sitting in limbo not doing anything. I first observed this as phones losing their SIP registrations periodically (but at random intervals). When debugging the issue, I saw that a ping running on the system would often just sit there, not sending more [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been observing a really strange problem on <a href="http://www.ubuntu.com/products/WhatIsUbuntu/serveredition">Ubuntu Server</a> 8.04: processes are sitting in limbo not doing anything. I first observed this as phones losing their SIP registrations periodically (but at random intervals).</p>

<p>When debugging the issue, I saw that a <code>ping</code> running on the system would often just sit there, not sending more packets, sometimes for seconds on end (I didn&#8217;t always wait to see if it would ever continue). Since hitting a key on the keyboard would immediately be echoed back, it wasn&#8217;t a problem with the terminal or ssh connection. Pinging the system from another would work without problems. Interrupting <code>ping</code> would report no packet loss (which was true &#8212; you can&#8217;t lose replies to packets you didn&#8217;t send).</p>

<p>My best guess is that the alternative scheduler chosen by the Ubuntu developers for the <a href="http://www.ubuntu.com/products/whatisubuntu/serveredition/features/kernel">server kernels</a> doesn&#8217;t work as intended on <a href="http://www.amd.com/">AMD</a> CPUs (or just the Athlon XP, or some other part of the hardware I&#8217;m using).</p>

<p>My &#8220;fix&#8221; was to switch to <a href="http://www.debian.org/">Debian</a> 5.0 (lenny), which doesn&#8217;t exhibit this problem at all.</p>

<p>I could have tried with the desktop edition of Ubuntu, but can&#8217;t really spare the time right now. Especially since I now have something that works reliably again.</p>

<p>I did try with different network hardware, though. I was originally using an SMC card based on <code>ns83820</code> (but for some reason not reporting anything at all with <code>ethtool</code> &#8212; works fine with the <code>gsip</code> driver on <a href="http://www.netbsd.org/">NetBSD</a>). I then switched to a Netwjork &#8220;brand&#8221; card based on <code>r8169</code> (well liked by <code>ethtool</code>). No difference, but stayed with the latter (working <code>ethtool</code> is always nice).</p>]]></content:encoded>
			<wfw:commentRss>http://kimmo.suominen.com/archives/2009/06/ubuntu-doesnt-like-amd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spotify on my Ubuntu laptop</title>
		<link>http://kimmo.suominen.com/archives/2009/05/spotify-on-my-ubuntu-laptop/</link>
		<comments>http://kimmo.suominen.com/archives/2009/05/spotify-on-my-ubuntu-laptop/#comments</comments>
		<pubDate>Mon, 25 May 2009 06:45:46 +0000</pubDate>
		<dc:creator>Kimmo Suominen</dc:creator>
				<category><![CDATA[music]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Spotify]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Wine]]></category>

		<guid isPermaLink="false">http://kimmo.suominen.com/?p=292</guid>
		<description><![CDATA[Being on the road is a challenge to my music listening habits: no Squeezebox and no Spotify. I&#8217;ve managed ok with my iPods and Last.fm streaming. However, there&#8217;s been no good reason to miss Spotify, though, even when running Ubuntu on the laptop. Just follow the instructions to install and run Spotify under Wine.]]></description>
			<content:encoded><![CDATA[<p>Being on the road is a challenge to my music listening habits: no <a href="http://en.wikipedia.org/wiki/Squeezebox_(network_music_player)">Squeezebox</a> and no <a href="http://www.spotify.com/">Spotify</a>. I&#8217;ve managed ok with my <a href="http://en.wikipedia.org/wiki/IPod">iPods</a> and <a href="http://www.last.fm/">Last.fm</a> streaming. However, there&#8217;s been no good reason to miss Spotify, though, even when running <a href="http://www.ubuntu.com/">Ubuntu</a> on the laptop. Just follow the <a href="http://www.spotify.com/en/help/faq/wine/">instructions to install and run Spotify under Wine</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://kimmo.suominen.com/archives/2009/05/spotify-on-my-ubuntu-laptop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>High CPU load from Firefox</title>
		<link>http://kimmo.suominen.com/archives/2009/05/high-cpu-load-from-firefox/</link>
		<comments>http://kimmo.suominen.com/archives/2009/05/high-cpu-load-from-firefox/#comments</comments>
		<pubDate>Sun, 24 May 2009 14:58:32 +0000</pubDate>
		<dc:creator>Kimmo Suominen</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://kimmo.suominen.com/?p=287</guid>
		<description><![CDATA[&#8220;Suddenly&#8221; Firefox had begun to pin the CPU at 100% even when not doing anything. I started to uninstall related recently added software. Looks like the culprit was swfdec-mozilla, which I had added hoping to get Cooliris working (no such luck &#8212; didn&#8217;t work with flashplugin-installer either). No flash now, but also no load when [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Suddenly&#8221; <a href="http://www.mozilla.com/firefox/">Firefox</a> had begun to pin the <acronym title="Central Processing Unit">CPU</acronym> at 100% even when not doing anything. I started to uninstall related recently added software. Looks like the culprit was <code>swfdec-mozilla</code>, which I had added hoping to get <a href="http://www.cooliris.com/">Cooliris</a> working (no such luck &#8212; didn&#8217;t work with <code>flashplugin-installer</code> either). No flash now, but also no load when browsing the web. (And no burning sensation from the laptop.)</p>]]></content:encoded>
			<wfw:commentRss>http://kimmo.suominen.com/archives/2009/05/high-cpu-load-from-firefox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Asterisk installation</title>
		<link>http://kimmo.suominen.com/archives/2009/05/asterisk-installation/</link>
		<comments>http://kimmo.suominen.com/archives/2009/05/asterisk-installation/#comments</comments>
		<pubDate>Sun, 24 May 2009 14:28:42 +0000</pubDate>
		<dc:creator>Kimmo Suominen</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://kimmo.suominen.com/?p=278</guid>
		<description><![CDATA[Just a short note on getting a minimal Asterisk environment installed on current versions of Debian and Ubuntu: aptitude install asterisk m-a a-i zaptel modprobe ztdummy Also add ztdummy to /etc/modules so it gets loaded when the system starts. If the m-a command is not found, install the module-assistant package.]]></description>
			<content:encoded><![CDATA[<p>Just a short note on getting a minimal Asterisk environment installed on current versions of Debian and Ubuntu:</p>

<blockquote>
  <p><code>aptitude install asterisk</code><br />
  <code>m-a a-i zaptel</code><br />
  <code>modprobe ztdummy</code></p>
</blockquote>

<p>Also add <code>ztdummy</code> to <code>/etc/modules</code> so it gets loaded when the system starts.</p>

<p>If the <code>m-a</code> command is not found, install the <code>module-assistant</code> package.</p>]]></content:encoded>
			<wfw:commentRss>http://kimmo.suominen.com/archives/2009/05/asterisk-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New syslog on lenny</title>
		<link>http://kimmo.suominen.com/archives/2009/05/new-syslog-on-lenny/</link>
		<comments>http://kimmo.suominen.com/archives/2009/05/new-syslog-on-lenny/#comments</comments>
		<pubDate>Sun, 24 May 2009 14:03:16 +0000</pubDate>
		<dc:creator>Kimmo Suominen</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[lenny]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://kimmo.suominen.com/?p=274</guid>
		<description><![CDATA[New installations of Debian have rsyslog as the system logging daemon. Upgraders, however, will be left with sysklogd &#8212; and no instructions on how to switch. I&#8217;m hoping purging the old one and adding the new one will work ok, as I&#8217;ve made no local mods to the logging configuration&#8230;]]></description>
			<content:encoded><![CDATA[<p>New installations of <a href="http://www.debian.org/">Debian</a> have <a href="http://www.rsyslog.com/">rsyslog</a> as the system logging daemon. Upgraders, however, will be left with sysklogd &#8212; and no instructions on how to switch. I&#8217;m hoping purging the old one and adding the new one will work ok, as I&#8217;ve made no local mods to the logging configuration&#8230;</p>]]></content:encoded>
			<wfw:commentRss>http://kimmo.suominen.com/archives/2009/05/new-syslog-on-lenny/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrading to lenny</title>
		<link>http://kimmo.suominen.com/archives/2009/05/upgrading-to-lenny/</link>
		<comments>http://kimmo.suominen.com/archives/2009/05/upgrading-to-lenny/#comments</comments>
		<pubDate>Sat, 23 May 2009 07:41:59 +0000</pubDate>
		<dc:creator>Kimmo Suominen</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[lenny]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[RAID]]></category>

		<guid isPermaLink="false">http://kimmo.suominen.com/?p=268</guid>
		<description><![CDATA[I&#8217;ve been always a fan of the robust upgrade procedure documented in the Debian release notes, which has worked without problems even over ssh to remote machines. This has made upgrading very painless (at least since sarge &#8212; I haven&#8217;t used Debian actively longer than that). Yesterday I ran into a problem, though, which was [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been always a fan of the robust upgrade procedure documented in the <a href="http://www.debian.org/releases/lenny/releasenotes">Debian release notes</a>, which has worked without problems even over ssh to remote machines. This has made upgrading very painless (at least since <a href="http://en.wikipedia.org/wiki/Debian#Releases">sarge</a> &#8212; I haven&#8217;t used <a href="http://www.debian.org/">Debian</a> actively longer than that).</p>

<p>Yesterday I ran into a problem, though, which was only saved by having remote console access. I have a system with a slightly more complicated disk setup: it has two <acronym title="Small Computer Systems Interface">SCSI</acronym> disks running as a <acronym title="Redundant Array of Independent Disks">RAID</acronym> 1 array using <a href="http://tldp.org/HOWTO/Software-RAID-HOWTO.html">md</a> and <a href="http://tldp.org/HOWTO/LVM-HOWTO/">lvm</a>. Upon rebooting after the upgrade, the system didn&#8217;t reappear on the network. What I found on the console was the initramfs panic shell: the root file system had not been found. Rebooting the old <a href="http://en.wikipedia.org/wiki/Debian#Releases">etch</a> kernel worked fine.</p>

<p>The workaround proved to be very simple, once I distilled it from the search engine results. Just add <code>rootdelay=10</code> to the kernel options in the bootloader. I&#8217;m using <a href="http://www.gnu.org/software/grub/">GRUB</a> so this translates to editing the <code>kopt</code> line in <code>/boot/grub/menu.lst</code> and running <code>update-grub</code>.</p>

<p>I had also added <code>raid1</code> to <code>modules</code> in <code>/etc/initramfs-tools</code> and regenerated the initrd, but that (alone) didn&#8217;t help. I&#8217;m not even sure it is needed at all &#8212; it might already be included anyway when using <code>MODULES=most</code> in <code>initramfs.conf</code>.</p>]]></content:encoded>
			<wfw:commentRss>http://kimmo.suominen.com/archives/2009/05/upgrading-to-lenny/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The bridge kludge</title>
		<link>http://kimmo.suominen.com/archives/2007/09/the-bridge-kludge/</link>
		<comments>http://kimmo.suominen.com/archives/2007/09/the-bridge-kludge/#comments</comments>
		<pubDate>Tue, 04 Sep 2007 14:55:43 +0000</pubDate>
		<dc:creator>Kimmo Suominen</dc:creator>
				<category><![CDATA[network]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://kimmo.suominen.com/archives/2007/09/the-bridge-kludge/</guid>
		<description><![CDATA[I ran into a model symptom of lacking multicast support with IPv6: a system wouldn&#8217;t answer to IPv6 traffic it didn&#8217;t initiate. But unless you&#8217;ve run into the problem before and managed to diagnose it successfully, you might not realize it&#8217;s about multicast. It was my second Debian Linux system with IPv6 connectivity that gave [...]]]></description>
			<content:encoded><![CDATA[<p>I ran into a model symptom of lacking multicast support with IPv6: a system wouldn&#8217;t answer to IPv6 traffic it didn&#8217;t initiate.  But unless you&#8217;ve run into the problem before and managed to diagnose it successfully, you might not realize it&#8217;s about multicast.</p>

<p>It was my second <a href="http://www.debian.org/">Debian Linux</a> system with IPv6 connectivity that gave me a start.  I built one more system and got the same results.  I could have sworn the first one had worked fine without any tricks.  I considered it, but decided I&#8217;d rather not abandon IPv6 on Linux.  After all, I had it running on all the other platforms (NetBSD, Mac OS X, Windows). <span id="more-231"></span></p>

<p>I used <a href="http://netbsd.gw.com/cgi-bin/man-cgi/man?tcpdump+8+NetBSD-current"><code>tcpdump</code></a> to inspect the traffic closer.  I ran this command in one window on a system that works without problems:</p>

<pre><code>    tcpdump ip6
</code></pre>

<p>I simultaneously used <a href="http://netbsd.gw.com/cgi-bin/man-cgi/man?ping6+8+NetBSD-current"><code>ping6</code></a> in another window on the same system to initiate traffic to other systems.  This revealed that the problematic Linux systems never answer to neighbor solicitation messages.</p>

<p>At this point I realized that both of the problem systems were using the same network card (<a href="http://netbsd.gw.com/cgi-bin/man-cgi/man?gsip+4+NetBSD-current"><code>gsip</code></a> aka <a href="http://www.google.com/search?q=linux+ns83820"><code>ns83820</code></a>).  I swapped in one of my older favorites, 3Com 3C905C-TXM (<a href="http://netbsd.gw.com/cgi-bin/man-cgi/man?ex+4+NetBSD-current"><code>ex</code></a> aka <a href="http://www.google.com/search?q=linux+3c59x"><code>3c59x</code></a>).  Indeed, now the system works fine, although at a lower speed due to the different hardware.</p>

<p>Searching for <a href="http://www.google.com/search?q=linux+ns83820"><code>ns83820</code></a> took me to a message about <a href="http://lkml.org/lkml/2007/7/18/520">net driver updates</a> that has patches to fix multicast handling for a number of Linux network drivers.  The problem was now clear: the network card wouldn&#8217;t be programmed to receive the multicast traffic even if multicast addresses were configured on the interface.  And we know IPv6 relies on multicast, for example for neighbor solicitation.</p>

<p>I figured I could &#8220;fix&#8221; this if I just get the card programmed into promiscuous mode.  The easiest way to do that is to make the interface part of a bridge!  Just edit <code>/etc/network/interfaces</code> and replace all instances of <code>eth0</code> with <code>br0</code>.  Then add a statement to configure the ports of the new bridge interface.  The result could look like this:</p>

<pre><code>    auto br0
    iface br0 inet dhcp
        bridge_ports all
</code></pre>

<p>It&#8217;s a kludge, but it works well.  Since this system is going to be running <a href="http://xen.xensource.com/">Xen</a>, it will need a bridge anyway.</p>

<p>I quickly looked at <a href="http://www.google.com/search?q=ethtool"><code>ethtool</code></a> as well, but didn&#8217;t see an option to frob the promiscuous mode setting.  It might be impossible to support such an option, given that the drivers make decisions about the setting based on the interface configuration.</p>]]></content:encoded>
			<wfw:commentRss>http://kimmo.suominen.com/archives/2007/09/the-bridge-kludge/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
