Wolfmans Howlings

A programmers Blog about Ruby, Rails and a few other issues

Upgrading Ubuntu Gutsy to Hardy

Posted by Jim Morris Sun, 13 Jul 2008 11:32:03 GMT

I did my duty and upgraded from Gutsy to Hardy, after letting Hardy settle for a while. For the most part it was painless (unlike the last upgrade to Gutsy!).

Unfortunately the sound was now broken I have a HDA-Intel AD198x Analog chip set.

Then I discovered (just when I needed it of course) that my Samsung ML-2010 USB printer didn't print anymore.

I would get this weird error...

Unable to open device hal:///org/freedesktop/Hal/devices/...

After Googling I found this, he was half right, I don't know why but it works, except that I needed to do...

sudo chmod 700 /usr/lib/cups/backend/usb
sudo chmod 700 /usr/lib/cups/backend/hal
sudo killall -HUP cupsd
sudo /etc/init.d/cupsys restart

ie both usb and hal.

That fixed it... Amazing!

Now why won't my audio work???

Ok now it does work, go figure. The only things I changed were added this to /etc/modprobe.d/alsa-base

options snd-hda-intel model=3stack-dig

and made sure that Front was checked in the mixer and turned up.

Not sure which of those fixed it though.

Posted in  | Tags , ,  | 3 comments | no trackbacks

Upgrading a Ubuntu 6.06 Dapper Drake system to a Core Duo MoBo

Posted by Jim Morris Sun, 17 Dec 2006 10:57:15 GMT

My current development system is Ubuntu 6.06 using an Athlon 2500+ Barton processor and an Asus A7V8X-X motherboard and 1GB of DRAM. It has been pretty stable, and relatively fast, but it is about 3 years old, and I like to upgrade when I can at least double my perceived performance. (ie I have to notice the difference, not just going on specs).

So I decided the latest hot system seems to be based on the Intel Core 2 Duo 6600, and I like a quiet system so I decided to build one spec'd out by Silent PC Review. The one in particular was SPCR Model One: Modern General Purpose PC.

This is a build based on an Asus P5B-E board, in an Antec Solo case, with the silencer foam etc. I wanted 2 GB memory this time around as I like to use VMware workstation to run winxp.

So I ordered the CPU, Mobo and Memory from NewEgg, and I ordered the Antec Solo case with pre-installed silencer foam from EndPCNoise.com, they have a pre-built version but by buying the components myself I could save about $500, and I enjoy building systems.

The specs are:

  • Intel Core Duo E6600
  • Corsair TWIN2X2048-6400C4 memory
  • Asus P5B-E Motherboard
  • Antec Solo case
  • Scythe Ninja Plus Rev. B CPU Cooler

I already have Seagate Barracuda drives (but had to get a SATA drive see later). I had an Antec 380 Watt PSU, which is not really quiet but I will switch that with a 430 Watt Seasonic S12 later.

I had to get a new Video card, as the newer Motherboards no longer have AGP slots, so I wanted to get as close to what I already have and setup for dual monitor, which meant sticking with ATI Radeon, not the fastest but I don't play games so don't need the fastest out there, but it does need to support dual monitor, Fry's had a special on Diamond Stealth x300e ATI based PCI express cards, so I got one of those. (And as it turns out I may as well have gotten anything, as even though it is a Radeon like my current card, it couldn't use the same driver).

I had already read the horror stories of people trying to get Ubuntu to work on these new C2D Mobos, but it seemed most of the problems related to trying to run off of ATA/IDE disks, and the newer mobos all have SATA. So I got an SIIG UltraATA 133 PCI card, just in case. This was because the on-board JMicron based IDE controller does not work with the version of the Kernel Ubuntu 6.06 comes with and the plan was to try to continue using Dapper Drake and not have to upgrade to Edgy Edge or worse Fiesty. I thought I could just stick my existing drive in the new system and be off and running. (Boy was I wrong!)

I built the system pretty quickly, everything fitted in nicely although the Ninja heatsink is huge, and made it hard to plug in some connectors after I installed it, probably should have plugged them in first. Also replacing the power supply later on is going to be tough without removing the heatsink first.

The first thing I tried was to boot off of my existing IDE drive using the SIIG IDE PCI board, and I was surprised that it booted OK. The first thing I always do is run memtest over night, and as that comes with Ubuntu it was easy to do. I needed to tweak the memory settings in the BIOS first though. I don't overclock as I want stability, but the defaults the BIOS picked up were wrong, so I just changed the latencies to the Corsair specified ones (4,4,4,12). Memtest ran all night with no problems, and the CPU temp was around 50 deg C, which isn't too bad. I really like Corsair RAM it always seems to work for me. So the first step seemed to go ok.

I then discovered I was not able to get the system to boot from an IDE CDROM drive connected to the SIIG controller, whatever I tried.

I also noticed that the HD performance of the ata100 IDE disk drive was not what it should be on the SIIG controller, I'm not sure why, but it was about half the speed I expected, so I popped down to Fry's again (I practically live there ;) as they had a Seagate 300GB SATA drive for just under $100, and hooked that up, and it was nice and fast, at least 3 times as fast as the IDE drive, I suspect the SIIG PCI/IDE adapter was using a slower mode than necessary, but there was no way of fixing it, and given I can't boot from CDROMs either I returned the card (luckily Fry's has a great return policy).

I found I could boot off of a USB CDROM drive though, which I had lying around so I ran Spinrite 6 on the SATA drive, as I like to test all my drives as I've had a few bad ones in the past, this comes on a bootable CD and I left that running for about 14 hours! The disk checked out OK.

Given all these problems, plus the fact that the sound card wasn't recognized and the Ethernet card wasn't either I figured I'd see what happened if I tried to boot off of the Edgy (Ubuntu 6.10) Live CD using the built-in JMicron based IDE, I thought after all the bug reports I read they have fixed it by now.

I stuck it into the IDE CDROM drive plugged into the JMicron slot, and watched it boot, it came up and saw all the drives on the IDE, and the sound worked too. Only the Ethernet was still invisible. So it seems Edgy has fixed most of the compatibility problems, so this was enough incentive for me to upgrade from Dapper to Edgy, which turned out to not be too much of a hassle, and most of the problems I ran into other people have already run into and can be easily fixed with some Googling. (For instance the acpid didn't want to update, it was just a matter of killing off hald).

I plugged my existing Dapper IDE drive into the JMicron slot, booted into the Edgy Live CD, and copied the Dapper system onto the new SATA drive, basically just cp -ax /mnt/old /mnt/new. This meant I could keep that Dapper disk as a backup in case something went terribly wrong down the road. I did some Grub incantations to get the SATA drive to boot, this is best done in the grub boot prompt rather than using grub on a running system...

grub> root (hd0, 0)
grub> setup (hd0)

Figuring out it's hd0 or hd1 takes some effort, but if its the only drive it will be hd0, if you do this from a running system (ie the Live cd)...

> grub
grub> device (hd0) /dev/sda
grub> root (hd0, 0)
grub> setup (hd0)

I then booted off the SATA drive into single user mode of Dapper. (Dapper boots fine from a SATA drive on this MoBo).

I followed the KUbuntu instructions to upgrade from Dapper to Edgy, basically edit the /etc/apt/sources.list and replace all occurrences of dapper to edgy, then...

> apt-get update
> apt-get dist-upgrade
> apt-get install kubuntu-desktop python-qt3 python-kde3 ubuntu-minimal

Then keep doing it until everything downloads ok, that's when I found the hald problem mentioned above which was blocking the upgrade finishing.

I had to do a few apt-get upgrades afterwards, and manually upgrade the list of things that got held back for some reason.

At the end of that I had my existing workstation image upgraded to Edgy on the SATA drive, able to see the IDE drives on the JMicron controller, and the sound worked fine. I had to plug in an old PCI Ethernet card I had lying around as the Gig Ethernet controller is not recognized even in Edgy.

In the process of all this I discovered that even though the JMicron IDE works under Edgy, it thinks all the HDs are UDMA33, ie SLOW, I haven't played around much with that, but I'm not sure why as it says it handles UDMA133. This is ok for my CDROM, but I want my second IDE drive to be a bit faster, even though my primary will now be a genuine SATA. Fry's didn't have anymore SATA to IDE dongles to try (the one from Syba I tried didn't work at all), so I ordered the newer SYBA one from NewEgg, along with the 430 Seasonic S12 PSU. Hopefully this will work and make my second IDE drive fast again. In the meantime I'll live with the slow second drive.

Now I needed to find all the things that broke from my upgrade from Dapper to Edgy (Something I was hoping I would have to avoid).

The first thing was to get dual monitors working again, and as fglrx didn't seem to work anymore (not sure if it was Edgy or the different video card), I had to do some research again and found that the Radeon Xorg driver should work the same way withthe same setup I had before.

I took my existing xorg.conf that I had finally got to work with dual screen a while back using fglrx and changed the driver to radeon, and everything worked OK, except for some problem with the second screen having a huge rectangle instead of a cursor, again Googling discovered others had solved that problem, and I think adding "composite" "false" to my xorg.conf fixed it. (Or rebooting, who knows).

Most everything else seemed to work except...

  • Had to uninstall and reinstall Mysql to get the server to run

  • I had to remove Beagle as it was using 2GB of memory! and no backport in sight of the latest version, which apparently fixes that.

  • lm-sensors no longer worked, and it appears the device drivers needed for my motherboard have not been ported over yet, and probably won't make it into Edgys kernel anyway, so no more CPU temp sitting in GKrellM.

  • Minor mods needed to smarttools (smartd) setup (add -d ata for the SATA drive)

Oh yea, it is really fast, well worth the effort and expense of the upgrade, a very noticeable speed improvement over the Athlon XP 2500+ Barton system. I won't have to upgrade again for years, until there are native quad core chips at 5GHz, at least ;)

This version is quieter than my old system, but not silent yet, I'm hoping replacing the case fan with my Nexus fan, and the PSU with the Seasonic S12, and removing the fan from the heat sink, will make it almost silent.

update I got the new PSU it is a lot quieter. It is still not 100% silent as I can just hear the nexus case fan, but the pc is right next to my right ear, so you could say it is a good as it gets.

The syba silicon image based sata to ide dongle works well, the ide drive now runs about 2-3 times faster, make sure you get the silicon image based one and not the jmicron one. The one I have is in a clear plastic case, available from egghead for about $12.

Posted in  | Tags , , ,  | no comments | no trackbacks

Switching to KUbuntu from Redhat 9

Posted by Jim Morris Mon, 03 Jul 2006 20:07:00 GMT

OK it was time I upgraded my main development workstation from a highly modified Redhat 9 to something more up to date that actually gets security updates and has a good package manager.

I have been using Ubuntu for my servers for some time, and like the package management, but I am used to KDE now and don't really want to switch to Gnome on my workstation. So I decided to try to upgrade to KUbuntu.

Upgrading the actual Redhat 9 seemed a bad move, so I bought a new 400GB drive (the Seagate ST3400633A, as its quiet and Fry's had it in sale for $118). The plan was to do a fresh install of KUbuntu onto that then copy over the stuff I need. After about 2 years of installing stuff and upgrading the kernel manually on the Redhat 9, this was going to be quite a task.

First up Dual monitors.

Unlike Windows and Mac OSX this doesn't "just work". On my RH9 system, I had the proprietary ATI driver fglrx, running an old XFree86 Version 4.3.0 server, and was only able to get two KDE desktops side by side but completely separate, this was OK, but part of the upgrade I wanted to be able to drag windows across monitors just like on Windows and OSX. My Video card was an ATI with a DVI and VGA connector which can both be ised at the same time.

After Googling it turned out some people found this easy and some hard, I finally got it to work, by installing the fglrx using aptitude install, getting the aticonfig to set up dual monitors, then telling KDE I had dual monitors. Seems you need to do both, oh and you need to actually power cycle between the changes to xorg.conf. Initially if I did not do the KDE setup step I got two screens but the cursor and windows were stuck on the first screen and KDE would not let the cursor or windows into the second screen. What seems to have happened is the latter step added the option "Xinerama", even though everything I read said the fglrx drivers didn't need that option. (BTW it seemed to work on the standard Gnome version of Ubuntu without telling Gnome anything).

So following:

> sudo aticonfig --initial --dtop=horizontal

I ran the System/Setup selected the monitor panel and set it to dual screen. then rebooted.

Ending up with this xorg.conf...

Section "ServerLayout"
  Identifier "Default Layout"
  screen 0 "Primary Screen" 0 0
  screen 1 "screen1" rightof "Primary Screen"
  InputDevice "Mouse0" "CorePointer"
  InputDevice "Keyboard0" "CoreKeyboard"
  InputDevice "DevInputMice" "AlwaysCore"
EndSection

Section "Files"

  # path to defoma fonts
  FontPath "/usr/share/X11/fonts/misc"
  FontPath "/usr/share/X11/fonts/cyrillic"
  FontPath "/usr/share/X11/fonts/100dpi/:unscaled"
  FontPath "/usr/share/X11/fonts/75dpi/:unscaled"
  FontPath "/usr/share/X11/fonts/Type1"
  FontPath "/usr/share/X11/fonts/100dpi"
  FontPath "/usr/share/X11/fonts/75dpi"
  FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
  Load "i2c"
  Load "bitmap"
  Load "ddc"
  Load "extmod"
  Load "freetype"
  Load "int10"
  Load "type1"
  Load "vbe"
  load "glx"
  load "dbe"
  load "v4l"
EndSection

Section "InputDevice"
  Identifier "Keyboard0"
  Driver "kbd"
  option "XkbModel" "pc105"
  option "XkbLayout" "us"
  option "XkbRules" "xorg"
EndSection

Section "InputDevice"
  Identifier "Mouse0"
  Driver "mouse"
  option "Device" "/dev/input/mice"
  option "Protocol" "IMPS/2"
  option "Emulate3Buttons" "no"
  option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
  Identifier "DevInputMice"
  Driver "mouse"
  option "Protocol" "IMPS/2"
  option "Device" "/dev/input/mice"
  option "ZAxisMapping" "4 5"
  option "Emulate3Buttons" "no"
EndSection

Section "Monitor"
  identifier "primarymonitor"
  vendorname "NEC"
  modelname "NEC MultiSync LCD1860NX (Analog)"
  HorizSync 31.0-82.0
  VertRefresh 55.0-85.0
  modeline  "1280x1024@60" 108.0 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync
  gamma 1.0
EndSection

Section "Device"
  identifier "Ati Radeon 9800 Pro 0"
  boardname "ati"
  busid "PCI:1:0:0"
  driver "fglrx"
  screen 0
EndSection

Section "Screen"
  Identifier "Primary Screen"
  Device "Ati Radeon 9800 Pro 0"
  Monitor "primarymonitor"
  DefaultDepth 24
  SubSection "Display"
    depth 24
    modes "1280x1024@60"
  EndSubSection
EndSection

Section "DRI"
  Mode 0666
EndSection

Section "device" #
  identifier "device1"
  boardname "ati"
  busid "PCI:1:0:0"
  driver "fglrx"
  screen 1
EndSection

Section "screen" #
  identifier "screen1"
  device "device1"
  defaultdepth 24
  monitor "monitor1"
  SubSection "Display"
    depth 24
    modes "1280x1024@60"
  EndSubSection
EndSection

Section "monitor" #
  identifier "monitor1"
  vendorname "Plug 'n' Play"
  modelname "Plug 'n' Play"
  modeline  "1280x1024@60" 108.0 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync
  gamma 1.0
EndSection

Section "ServerFlags"
  option "Xinerama" "true"
EndSection

I had to hand edit the file to delete the duplicate monitor and screen definitions that were in there.

Installing Ruby, Gems and fxruby

I installed Ruby using the package manager, its just a matter of making sure you select everything you need. The biggest problem I had was getting fxruby working (1.4.6 version). I installed fox1.4 from the package manager then loaded the fxruby gem using gem install. However none of my ruby progs using fox14 would work, they reported they couldn't load fox14. After much installing and uninstalling, the result was I found a bug in the fxruby gem install, the Makefile calls make clean after building the fox14.so, and happily deletes it after building it.. Duh!! I need to report that to the fxruby maintainer, it burnt about 2 hours of my time. What I did to fix it was simply...

> cd /usr/lib/ruby/gems/1.8/gems/fxruby-1.4.6/ext/fox14
> make

Update, according to the maintainer this is a bug in the latest release of gems 0.9.0

(BTW I wish Debian/Ubuntu put ruby in /usr/local where it belongs!)

Thunderbird setup

I simply copied the .thunderbird directory over to my new home, and everything seemed to work ok, except clicking on links in my email no longer worked. I had to edit my ~/.thunderbird/XXXXXXXXXXXX.default/prefs.js file and add the following...

user_pref("network.protocol-handler.app.ftp", "/opt/firefox/firefox");
user_pref("network.protocol-handler.app.http", "/opt/firefox/firefox");

Where XXXXXXXXX will be different on your machine, and also the path to firefox.

Also I copied my ~/.mozilla folder and firefox got al my bookmarks etc from before.

Firefox setup

Clicking on mailto links didn't work, this was fixed by adding this line

user_pref("network.protocol-handler.app.mailto","/opt/bin//thunderbird");

to the user.js file (create a new one if it doesn't exist) that is found in ~/.mozilla/firefox/default.xxx

Of course the .xxx will be different on your system as will the path of thunderbird.

Keyboard Mapping

I like to map my caps lock key to the Win key, so I can use it to switch windows and desktops etc, I use a Unicomp Linux keboard, as it has a nice feel, with loud clicky keys, and the control key is where it is supposed to be, next to the A key, so it doesn't have a Win key, but the caps lock key is generally useless, so I use that.

It turns out that the Dapper version of KDE does not use the ~/.Xmodmap file as it is supposed to, so you need to manually run

> xmodmap ~/.Xmodmap

One way that has been suggested to automate this is to put that command in the ~/.kde/Autostart, so that is what I did, I called the file mapwinkey, set chmod +x, put xmodmap $HOME/.Xmodmap in it, and put the shell script in the Autostart directory.

More to come as I do it...

Migrating KDE settings

CPU/HW monitoring

Migrating applications

Posted in  | Tags , , , , ,  | no comments | no trackbacks