Archive for July, 2004

JohnCompanies collocated server hosting

Friday, July 30th, 2004

In early May I signed up for a collocated virtual server at John Companies. I had a bunch of web sites which had become homeless at short notice and I needed something cheap, functional and easy to approach for a Linux/Debian person like me.

In less than two hours after my first mail to them I could log into my server as root and start to customise it. In a couple of days I had mysql, apache, mod_perl, HTML::Mason and other ancillaries setup and migrated my sites over. It couldn’t have been easier.

The real server appears to be a four-way Xeon based machine with 4Gb of memory, but I cannot see all that much of the physical server.

My setup includes 4Gb of disk quota (later increased to 8Gb), 40Gb of monthly transfer and technical support. All this for $45/month which is not bad at all. I seriously doubt I could find many others that can match that offer.

The $45 offer is given to Open Source contributors. The normal price is $75. That kind of offer is another good reason to use JohnCompanies.

The Debian installation I was given initially, was a Debian stable setup, and not quite up to date. I had to install a few security updates immediately. I also installed some packages from testing, since my sites depended on functionality found only in newer versions of the packages.

That is the beauty of a VPS, or Virtual Private Server. I’m root on my own system and can install and configure anything I like. The only thing I cannot do, is to reboot it or install custom kernels or kernel modules. Also, the firewall is out of reach, but I can send my firewall rules to JohnCompanies and they’ll install them.

I have absolutely no problems with their technical support. They are very knowledgeable and helpful. My mails are normally answered in minutes, not in hours. I take more time to answer their mails πŸ™‚

In short, I’m very content with my JohnCompanies Virtual Server.

My HP LaserJet IIIP died suddenly

Tuesday, July 27th, 2004

I had an old β€” very old β€” HP LaserJet IIIP which has served me quite well, but yesterday it wouldn’t turn on. No lights, no fan, nothing. As dead as a norwegian parrot!

It might have blown a fuse or lost the power supply, I don’t know.

Technical manuals for this kind of printer is hard to find, and in any case they’re not online. I’d have to buy it, and I’m not really in the mood to throw money after such an old beast.

I guess it is time to look for something newer. A native PostScript colour laser printer would be nice, preferrably silent and cost effective. Something like the HP Color LaserJet 2500 would be very nice indeed.

Atheros 802.11g PCMCIA card

Sunday, July 25th, 2004

I have a couple of no-name 802.11g PCMCIA/Cardbus cards, which I use in two different laptops, both running Debian Linux (testing). They are marked “WLB2054PCM” on the front, and “Model GL245401-1A1” and “FCC ID: 07J-GL245401-1A1” on the back.

The card is identified by cardctl as:

product info: "Atheros Communications, Inc.", "AR5001-0000-0000", "Wireless LAN Reference Card", "00"
  manfid: 0x0271, 0x0012
  function: 6 (network)

and by lspci as:

0000:02:00.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)

The Atheros chip-set is supported by the madwifi driver, which is not a part of the standard Linux kernel, but it can be downloaded from http://sourceforge.net/projects/madwifi/. For me it compiled and installed without a hitch.

When the driver is loaded, it gives this output:

PCI: Enabling device 02:00.0 (0000 -> 0002)
ath_pci: cache line size not set; forcing 32
ath0: mac 5.9 phy 4.3 5ghz radio 4.6
ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
ath0: 802.11 address: 00:03:2f:1e:33:72
ath0: Atheros 5212: mem=0x20000000, irq=3

As is evident, the card comes up as ath0, not as ethN.

The card is not known to the pcmcia-cs tools, so I had to add it manually to /etc/pcmcia/config-2.4 by adding these two stanzas:

device "atheros"
  class "network" module "ath_pci"

card "Atheros WiFi card"
  manfid: 0x0271, 0x0012
  bind "atheros"

This causes the driver to load automatically when the card is inserted into the laptop.

I had added a stanza for ath0 to /etc/network/interfaces, but the card was still not configured automatically when inserted, even if the driver was loaded. I had hotplug installed on one of the laptops but not on the other, but neither hotplug would ifup the card without some manual intervention. After some research I discovered that if I added the following to /etc/network/interfaces, hotplug would configure it automatically when it was inserted:

mapping hotplug
        script grep
        map ath0

With all this in place, the card works perfectly. I have still, after well over a month of using it continuously, to experience a problem, a dropped association or a lock-up.

UPDATE 2004-08-06:
I just updated to the latest driver, with no problem whatsoever. The output was:

wlan: 0.8.3.0 (EXPERIMENTAL)
ath_hal: 0.9.11.6
ath_pci: 0.9.3.1 (EXPERIMENTAL)
ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
ath0: mac 5.9 phy 4.3 5ghz radio 4.6
ath0: 802.11 address: 00:03:2f:1e:33:72
ath0: Use hw queue 0 for WME_AC_BE traffic
ath0: Use hw queue 1 for WME_AC_BK traffic
ath0: Use hw queue 2 for WME_AC_VI traffic
ath0: Use hw queue 3 for WME_AC_VO traffic
ath0: Atheros 5212: mem=0x20000000, irq=3

Setting up Nucleus blogs

Saturday, July 24th, 2004

This site is run by Nucleus CMS, and this is just to recapitulate how it was set up. It wasn’t all that hard, but it might be useful to remember.

First step was to create the blog in Nucleus which is straightforward.

Second step was to clone the grey skin and two templates, and edit them to my liking. I didn’t change all that much, just enough to make it mine. The blog-settings obviously have to be changed to use the new skin, and the skin to use the new templates.

Now for the more interesting parts. I want my blogs to have separate domain names and I want URIs without the query string, the part after the question mark.

My Nucleus setup has a directory layout like this:

TOP/nucleus
TOP/nucleus/conf
TOP/nucleus/nucleus
TOP/nucleus/media
TOP/nucleus/linux
TOP/nucleus/othersite

TOP is the directory where I keep web-site’s files. The nucleus/conf directory contains the apache configuration files, nucleus/nucleus the installation of Nucleus, nucleus/media is the media uploads and nuclues/linux is the document root for this site. Other sites have their directories too.

Setting a blog up with a separat domain name requires a separate Apache setup, as a virtual host. I have the configuration file in nucleus/conf/linux.conf which is included from the main Apache configuration file. The most important thing is the DocumentRoot, which points to nuclues/linux.

DocumentRoot TOP/nucleus/linux

Here the index.php files looks like this:

<?php
$CONF['Self'] = 'http://linux.seindal.dk/index.php';
include('../nucleus/config.php');
selectBlog('linux');
selector();
?>

which is fairly straightforward, except for the absolute address of the index.php file. This is necessary since posting a comment would otherwise cause a change to my main Nucleus site.

With this setup the site can be used from the address http://linux.seindal.dk/.

The last part is to get Nucleus to work with URLs without a query string. Using long query strings are suboptimal in relation to some search engines, and it is suboptimal from an aesthetic point of view: an URL should be short and clear.

Since I have my own server, I can use the mod_rewrite approach, as explained in the Nucleus online docs. I have augmented the rules a bit to be more complete, and hardwired the blog specific parts:

RewriteEngine On
RewriteRule ^item([0-9]+).html				index.php?itemid=$1
RewriteRule ^archive([0-9]+-[0-9]+).html		index.php?archive=$1&blogid=2
RewriteRule ^archive.html				index.php?archivelist=linux
RewriteRule ^category([0-9]+).html			index.php?catid=$1&blogid=2
RewriteRule ^member([0-9]+).html			index.php?memberid=$1

As it is evident, the blogid of my site is 2, and the short name of the blog is ‘linux’. It eludes me completely why the arguments are used so inconsistently. What would be the problem with using either blogid or the short name every time? Of course, clarity and consistency would rise uncontrollably, but besides that?

With these rules in place, all that remains is to work through all the parts of the skin and the related templates to use links of the above kind.

The only other change I have made to my Nucleus installation is that I have installed the SmartParagraphs plugin. It makes writing a lot easier. I have extended the plugin a bit and fixed few bugs, as described on the Nucleus CMS forum. A gzipped copy of my updated SmartParagraphs plugins can be downloaded here: NP_SmartParagraphs.php.gz

Old stuff moving over here

Friday, July 23rd, 2004

I’m moving most of my old Linux related material over here, to have it all in a single location. Since the material is old, I backdate the pages so they won’t appear on the front page.

Currently migrated are:
Linux on Asus L8400 laptops
Linux on Olivetti Echos laptops

VMware and Wireless Networks

Thursday, July 22nd, 2004

I have just installed the 30 days trial version of VMware on my laptop.

It has a double purpose in my case: home banking and cross browser testing of websites. Currently both require access to MSIE. I know there are banks with home banking systems that work with Linux/Mozilla, and I also use one such bank, but I have good pecuniary reasons to stay with one Danish bank that doesn’t. Website testing requires access to several versions of MSIE to be sure.

VMware doesn’t support Debian systems as the host OS, but it works quite well, nonetheless. It is a funny feeling watch Windows boot in a window πŸ™‚ but also reassuring to know it happens in a sandbox.

The only problem I had was getting the VM to communicate with the rest of the world through my wireless NIC. If I set up the normal eth0 interface as a bridged interface in the VM, everything was fine, but if I switched it to the wireless (an Atheros based card using the madwifi driver), there were no connection. After many tries I got the VM to communicate with the world outside using a NAT interface.

Only later I discovered here that it is not possible to use a wireless NIC as a bridged interface wth VMware. There is a short thread about this on VMwares support forum.

Yet another wonderful Gnome error message

Saturday, July 3rd, 2004
Error activating XKB configuration.
Probably internal X server problem.

X server version data:
The XFree86 Project, Inc
40300001
You are using XFree 4.3.0.
There are known problems with complex XKB configurations.
Try using simpler configuration or a newer version of the XFree software.
If you report this situation as a bug, please include:
- The result of xprop -root | grep XKB
- The result of gconftool-2 -R /desktop/gnome/peripherals/keyboard/xkb

So I’ve got a keyboard problem! No, I haven’t. Everything is great, every key sends exactly what it should.

Anyway, it’s an error message from the X server. Nope. It is apparently from an obscure program called gnome-settings-daemon which is started automatically by gnome-session. Only it doesn’t say so anywhere. Needless to say, there is no manual for the gnome-settings-daemon or even a –help option to help me gain some insight.

So I have a working keyboard, an annoying dialog with a misleading message at each login and a top panel that is misplaced due to this dialog taking up the top-left corner of the screen well before the window manager is even started. On top of that the login takes at least 30 seconds longer due to some problem starting this gnome-settings-daemon, which I’m inclined to believe is tried several times, since I get this message on the console at each login:

You can only run one xsettings manager at a time; exiting

I still haven’t found a way to get this dialog to disappear.

UPDATE: Well, I’m not the only one with this problem, as can be seen at http://www.gnomesupport.org/, especially

http://gnomesupport.org/forums/viewtopic.php?t=6179&highlight=xkb
http://gnomesupport.org/forums/viewtopic.php?t=6827&highlight=xkb

but there is no solution there either.

UPDATE 2004-07-17: The problem just went away today, and I’m not quite clear why. I did have a .Xmodmap file which I initially ran from my .xinitrc, that is before gnome-settings-daemon was started, and I moved that to a session startup program, so it’ll run after gnome-settings-deamon is started, but I’m not 100% sure that was the culprit. Might have been, though.

Nautilus 2.6 and mime types

Thursday, July 1st, 2004

Since I installed Gnome 2.6 in my Debian testing laptop, nautilus has refused to work with certain file types. They are classified as application/octet-stream and not application choices are offered.

Even if I go to Applications | Desktop Preferences | Advanced | File types and programs and set up the mime types, extensions and applications, nautilus couldn’t care less. These settings are almost ignored.

I’m not an expert on these matters, but it has something to do with the content-sniffing nautilus does to determine the file type.

It took a while to figure out, but I have found the way to add file types to the system. It is described at www.freedesktop.org.

First one has to create an XML file for the type or types to be added. The format is quite simple, and here is one for the Glabels application for printing address labels:

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
    <mime-type type="application/x-glabels">
        <comment xml:lang="en">Glabels document</comment>
        <glob pattern="*.glabels" />
  </mime-type>
</mime-info>

Notice the mime-type, the description and the glob-pattern. There’s also a way of specifying magic patterns for content sniffing.
It is possible to have several “mime-type” sections in the same file.

The XML file is placed in /usr/share/mime/packages/, in this case I called it glabels.xml.

When this file is in place, all that remains is to run the command

update-mime-database /usr/share/mime

which will populate /usr/share/mime with separate files for each mime type, including the new types.

All that remains is to restart nautilus by running nautilus --quit from a shell prompt, and the new mime-type should be recognised.

UPDATE 2004-07-17: It appears you can have your private mime-files in ~/.local/share/mime. Create, e.g., ~/.local/share/mime/packages/local.xml in the format described above, with one or more ‘mime-type’ entries, and run the command

update-mime-database ~/.local/share/mime/

as yourself. It will then populate ~/.local/share/mime/ with all the necessary files for nautilus to recognise your new mime-types, after a restart, that is.

Unknown CORBA exception id: ‘IDL:omg.org/CORBA/INV_OBJREF:1.0’

Thursday, July 1st, 2004

What a wonderful informative message.

It happened when I logged into Gnome 2.6, once for each applet in the panel. Given the clarity of the message I had no doubt the applets didn’t load. I could also see they were missing in the panel πŸ™‚

After some searching I finally discovered the solution: log out of Gnome, remove /tmp/orbit-XXX where XXX is your username, and log in again. Problem solved.

One vote from me for intelligible error messages.