Copyright 2009-2012 by djg. All Rights Reserved.

Wonky Gibbon Ramblings


Archive for the ‘Hardware’


Migrating Windows 7 on an ASUS N56VM Laptop to an SSD 1

Posted on October 13, 2013 by danny

That’s it! I can’t stand it any longer! My beautiful ASUS N56VM laptop – a mere year old, has slowed to the pace of an arthritic snail. Despite having 8GB of RAM and a 2.something GHz i7, it’s as wheezy as hell.

It’s time to move from spin disk to SSD, a 500GB Samsung 840 SD. Not least as I’d discovered that the existing disk was spinning at 5700rpm. I mean what is the point of selling a system with an i7 and 8GB of RAM and then equipping it with an ageing gerbil on a wheel to spin the disk. No wonder it had slowed to a heap of crap.

SO – how to copy the system from the existing spin disk to the SSD? Well first, I bought a disk big enough to take all my data. I can’t be doing with deleting stuff or moving onto external disk drives. Boring, boring, boring! I placed it temporarily into an external enclosure and used the free “EaseUS Partition Master” software to clone the disk from the internal spin disk to the external ssd.

There are two main advantages to cloning the existing spin disk. The first is that you don’t have to re-install all your software and setup all those little machine tweaks you like, second, if like this ASUS the windows installation software is all on a hidden recovery partition, it’s the only way to continue using the Windows 7 OEM licence that came with the machine.

So with the disk cloned – I took the ssd out of the external enclosure and swapped out the spin disk, turn on the machine and kapow lightening fast boot speeds, straight into windows – easy peasy.

Errr… No.

What I actually got was a boot failure and this error message screen:
– Status: 0xc0000225
– Info: The boot selection failed because a required device is inaccessible.

Hmmm…

A bit of investigation revealed that the original disk and the clone were both using GPT rather that the older MBR partition table of yesteryear. GPT is a newer type of partition table that uses 64bit addresses rather than 32bit allowing for greater disk capacities and other good things. It forms part of the UEFI standard and indeed the ASUS uses UEFI for basic system configuration rather than the older BIOS system. UEFI was expecting an ID relating to the old spin disk and instead was getting one relating to the new SSD. So it stalled.

Pressing ESC when the ASUS symbol appears at boot brings up the boot selector, but even selecting the ssd there doesn’t help. A Windows Repair Disk is needed to fix the startup process. Type “Repair” in the start menu search area, will bring up “Create a System Repair Disk”. Unfortunately doing this on an OEM Windows 7 (as installed on the ASUS) creates a less useful repair disk that only allows you to re-install the operating system. You need a proper repair disk as would be created by a vanilla Windows 7 installation. Hope you’ve got one of those to hand!

With a vanilla Windows 7 Repair Disk in the DVD drive, reboot the machine and let it boot the DVD. Once booted, it will ask you to select a language and will then display a list of all the Windows 7 installations it has detected. There may well be none in the list as happened with me. Click “Next” in any case and let it attempt to repair the system. This will end up with a reboot.

Let it boot the repair disk again. It will probably find your Windows 7 installation this time. You will probably have to do this cycle of repair and reboot a few times.

Eventually – you will need to help it fix the boot record. Select the command prompt from the repair menu:
– work out which drive letter your DVD drive is mounted to (select each drive in turn, type DIR, repeat etc…) – let’s say it’s G: then type the following:

G:
cd boot
bootrec /fixboot

This command can be used to recrete a Windows 7 boot loader too:

bootsect /nt60 SYS all

This fixes the boot record.

Then run the repair system again, just kind of… because.

At the very least you will now be able to boot your system from the ESC boot menu – if you’re lucky it may even boot without ESC key intervention at all!

Thanks to the following sites and References:
http://forums.macrumors.com/showthread.php?t=696523&page=4
http://www.howtogeek.com/howto/32523/how-to-manually-repair-windows-7-boot-loader-problems/
http://support.microsoft.com/kb/927392/en-gb
http://www.sevenforums.com/general-discussion/252790-error-0xc0000225-windows-boot.html
http://www.sevenforums.com/tutorials/20864-mbr-restore-windows-7-master-boot-record.html

Raspberry Pi Wireless Radio – Part 2 0

Posted on March 25, 2013 by danny

To control the Raspberry Pi radio, you’re going to need to connect a bunch of switches to the GPIO header block. How many switches and the functions they perform is up to you. For example you could use them as presets, or channel up/down. And don’t forget you’ll need something to control volume.

I purchased some ribbon cable, veroboard, tactile switches, an IDC connector and a bunch of resistors to make my control board (see pic below) but you could go a breadboard route at least initially to get something working. This post is an excellent introduction to the wiring required: http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/robot/buttons_and_switches/

To interface with my external switch board (via the GPIO header block), I’m going to use Python.

Installing Python

Although installing python in itself was straightforward, finding information on how to install the gpio library was more challenging, most users having used it with raspbian or debian. In the case of archlinux it was clearly going to have to be compiled from scratch which given I haven’t compiled anything from scratch, was a bit daunting.

However, whilst standing on my own shoelaces and generally face planting, I stumbled across this post on the subject http://archlinuxarm.org/forum/viewtopic.php?f=31&t=4654 which outlines everything needed to install both python and the gpio library as well as a host of other development tools required along the way such as gcc and so forth.

First install the development tools you’re going to need (including things like gcc)

$ sudo pacman -Sy file base-devel abs git

Next download the gpio source code and unpack it

$ wget https://aur.archlinux.org/packages/ra/raspberry-gpio-python/raspberry-gpio-python.tar.gz
$ tar xf raspberry-gpio-python.tar.gz

Now run the make process that will create a package that can be imported by pacman, and import it

$ cd raspberry-gpio-python
$ makepkg -Acs --asroot
$ sudo pacman -U raspberry-gpio-python

By this point you now have Python 2 and 3 installed, plus a variety of other development tools and the gpio library.

NB: If at any point you see error message that look a bit like this:
error: failed retrieving file ‘libpulse-2.0-2-arm.pkg.tar.xz’ from mirror.archlinuxarm.org : The requested URL returned error: 404
the chances are that the package database in pacman is out of sync with what’s out on the internet. The following command will resync the database:

$ sudo pacman -Syy

If that doesn’t work try changing the download mirror

$ cd /etc/pacman.d
$ nano mirrorlist

Comment out the original mirror and remove a comment from one of the others, then save and update http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&t=12840

A Simple Python Radio Control Program

This simple program has three radio stations and two mp3s assigned to various input buttons, plus a volume up and a volume down.

#!/usr/bin/python
import RPi.GPIO as GPIO
import time
import os

def PlayRadio(station_url):
    os.system("mpc stop")
    os.system("mpc clear")
    os.system("mpc add " + station_url)
    os.system("mpc play")

def PlayMp3(mp3_file):
    os.system("mpc stop")
    os.system("mpc clear")
    os.system("mpc add " + mp3_file)
    os.system("mpc play")

def VolumeUp():
    os.system("mpc volume +2")

def VolumeDown():
    os.system("mpc volume -2")

def mainProg():
    # to use Raspberry Pi board pin numbers
    GPIO.setmode(GPIO.BCM)

    # set up unused GPIO as output channels and 0V
    # set up GPIO input with pull-down control
    #   (pull_up_down be PUD_OFF, PUD_UP or PUD_DOWN, default PUD_OFF)
    GPIO.setup(14, GPIO.OUT)
    GPIO.setup(15, GPIO.OUT)
    GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
    GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
    GPIO.setup(24, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
    GPIO.setup(25, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
    GPIO.setup(8, GPIO.OUT)
    GPIO.setup(7, GPIO.OUT)

    GPIO.setup(2, GPIO.OUT)
    GPIO.setup(3, GPIO.OUT)
    GPIO.setup(4, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
    GPIO.setup(17, GPIO.OUT)
    GPIO.setup(27, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
    GPIO.setup(22, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
    GPIO.setup(10, GPIO.OUT)
    GPIO.setup(9, GPIO.OUT)
    GPIO.setup(11, GPIO.OUT)

    # set RPi GPIO output pins low
    GPIO.output(14, GPIO.LOW)
    GPIO.output(15, GPIO.LOW)
    GPIO.output(8, GPIO.LOW)
    GPIO.output(7, GPIO.LOW)

    GPIO.output(2, GPIO.LOW)
    GPIO.output(3, GPIO.LOW)
    GPIO.output(17, GPIO.LOW)
    GPIO.output(10, GPIO.LOW)
    GPIO.output(9, GPIO.LOW)
    GPIO.output(11, GPIO.LOW)

    # look for inputs on RPi board pins
    prev_input = 0
    while True:
        #take readings
        this_cycle = 0
        input = GPIO.input(25)
        if ((prev_input == 0) and input):
            print ("Button 1 pressed")
            this_cycle = 25
            # ISA FM
            PlayRadio("http://80.13.146.243:8000/")
        input = GPIO.input(24)
        if ((prev_input == 0) and input):
            print ("Button 2 pressed")
            this_cycle = 24
            # LBC
            PlayRadio("http://ice-the.musicradio.com:80/LBC1152MP3Low")
        input = GPIO.input(23)
        if ((prev_input == 0) and input):
            print ("Button 3 pressed")
            this_cycle = 23
            # Fun Kids
            PlayRadio("http://icy-e-04.sharp-stream.com/funkids.mp3")
        input = GPIO.input(22)
        if ((prev_input == 0) and input):
            print ("Button 4 pressed")
            this_cycle = 22
            # Rock Lobster mp3 Test
            PlayMp3("LobsterTest.mp3")
        input = GPIO.input(27)
        if ((prev_input == 0) and input):
            print ("Button 5 pressed")
            # Beethoven mp3 Test
            PlayMp3("ClassicalTest.mp3")
            this_cycle = 27
        input = GPIO.input(18)
        if ((prev_input == 0) and input):
            print ("Button 6 pressed")
            VolumeUp()
            this_cycle = 18
        input = GPIO.input(4)
        if ((prev_input == 0) and input):
            print ("Buttpon 7 pressed")
            VolumeDown()
            this_cycle = 4

        prev_input = 0
        if (this_cycle > 0):
            prev_input = 1

        # software switch debounce
        time.sleep(0.05)
	
def main():
    mainProg()

if __name__ == "__main__":
    main()

From here you can really go to town. I followed this up with a web interface coded in Python and Django to allow button configuration and all sorts. Far to long to blog about here. But plenty of fun to be had!

References:
http://www.instructables.com/id/Pandoras-Box-An-Internet-Radio-player-made-with/step2/Setting-up-the-Pi/
http://www.instructables.com/id/Pandoras-Box-An-Internet-Radio-player-made-with/step7/Connecting-the-Pushbuttons/
http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/robot/buttons_and_switches/ describes wiring
http://lwk.mjhosting.co.uk/?p=343 describes GPIO
http://elinux.org/RPi_Low-level_peripherals describes GPIO
http://pypi.python.org/pypi/RPi.GPIO/0.3.1a describes python programming with GPIO
http://docs.python.org/2/tutorial/index.html python for newbies
http://www.xatworld.com/radio-search/ for finding IP URLs for radio stations
http://www.codedefied.co.uk/2011/12/24/playing-bbc-radio-streams-with-mpd/ how to unpack BBC tokenised streams

Raspberry Pi Wireless Radio – Part 1 0

Posted on December 27, 2012 by danny

As with many such posts, this one is primarily a reminder to myself, should I need to repeat my steps at a later date. However, I hope they are of use to someone also as it was a number of days work.

You will need one raspberry pi and a wireless USB adapter based on the Realtek RTL8188CUS chipset such as the Edimax EW-7811Un micro-usb adapter (cheap as chips and available from Amazon).

Basic Setup

Download the Arch Linux ARM install (because it is very lightweight and boots in under 10 seconds), burn to an SD card and plugin to the Pi as per the instructions on the download page here.

Boot it up. If you don’t have a screen and usb keyboard available just plug it into a wired network. ssh is enabled by default so you can connect using Putty immediately, instead.

Follow the update instructions here (http://elinux.org/ArchLinux_Install_Guide) to bring it up to the most recent distribution.
Early on it talks about rc.conf which doesn’t exist in this distribution, there’s probably an alternative but as I didn’t need to change timezones, I wasn’t concerned.
The command pacman-key –init, does take A LONG time (like 10 minutes with no onscreeen feedback).

Wireless Networking

Plug in the Edimax EW-7811Un micro wireless USB adapter and reboot. Support for the Realtek RTL8188CUS chipset this is based on is built into the current distributions of Arch Linux for the Pi.
Install the netcfg package so that wireless can be configured from the command line

 # pacman -S netcfg

Then follow these instructions to configure wireless: https://wiki.archlinux.org/index.php/Netcfg
Use the example wireless-wpa script as the starting point.
After issuing this instruction in that post: # netcfg mynetwork you will see this error nl80211: ‘nl80211’ generic netlink not found. This isn’t actually a problem, this post describes why https://bbs.archlinux.org/viewtopic.php?pid=940669
To ensure wireless is restarted after a reboot of the Pi, the following command in that post must be executed

# systemctl enable netcfg@myprofile

Reboot and check that you can putty to the Pi over wifi.

In the event, that the wireless hardware doesn’t initialise fast enough (can happen), you may get an error like ‘wlan0 does not exist’. See the entry in this post https://wiki.archlinux.org/index.php/Netcfg_Troubleshooting to resolve.

You may find that a few days after doing this, the IP lease for the Pi expires on the router causing it to assign a new IP address to it. This can cause the Pi to no longer be able to connect to the router because it’s own expectation of what the IP lease should be, aren’t being met. This post https://bbs.archlinux.org/viewtopic.php?id=120230 should troubleshoot this.

Install and Configure Media Player

Now install mpd & mpc:

# pacman -S mpd mpc alsa-utils

Sound itself needs enabling at boot up. To do this you need to create a script in the directory called /etc/modules-load.d called snd_bcm2835.conf which looks like this:

# Load snd_bcm2835 at boot
snd_bcm2835

You also need to install initscripts:

# pacman -S initscripts

A lot of the challenge is in getting mpd configured correctly, when stuff doesn’t work, it’s usually due to this file not being setup quite right. Also the errors reported to the command prompt are often less than helpful so don’t forget to check the mpd.log file, sometimes that actually provides useful help. In general it is recommended you don’t run it as root but rather as a user with less all-encompassing rights.

Here’s my /etc/mpd.conf file:

music_directory		"~/music"
playlist_directory "~/mpd/playlists"
db_file "~/mpd/mpd.db"
log_file "~/mpd/mpd.log"
pid_file "~/mpd/mpd.pid"
state_file "~/mpd/mpdstate"
user "wonkygibbon"
bind_to_address		"127.0.0.1"
port				"6600"
input {
        plugin "curl"
}
audio_output {
	type		"alsa"
	name		"My ALSA Device"
	device		"hw:0,0"	# optional
}

The default input plugin is called “curl” and can be used to pick up streaming audio over the web.

For this to work, I needed to create the various files and directories that these point at. Hence, login as your user (in my case wonkygibbon), then do the following:

$ mkdir music
$ mkdir mpd
$ cd mpd
$ mkdir playlists
$ touch mpd.log mpd.pid mpdstate

Finally, start mpd, connect to a radio stream, and play it:

$ mpd
$ mpc add http://80.13.146.243:8000/
$ mpc play

The IP address is that of one of my favourite french stations – replace with whatever you want to listen to.

If you wish to test using mp3 files – you can copy them to the Pi using WinSCP (provides an ftp type interface from windows to the Pi using ssh – meaning you don’t need the Pi to be running an ftp server).

They need to be placed in the “music” folder you created earlier. Then update mpd’s music database using:

$ mpc update

Thanks primarily to the following sites as well as others to numerous to mention:
http://miro.oorganica.com/raspberry-pi-mpd/
https://wiki.archlinux.org/index.php/Music_Player_Daemon#Starting_mpd_as_a_user
http://crunchbang.org/forums/viewtopic.php?pid=182574
https://wiki.archlinux.org/index.php/Netcfg_Troubleshooting
https://bbs.archlinux.org/viewtopic.php?id=120230
Part 2 if/when it follows will focus on how to to add external switches to select channels and the bits of scripting required to respond to them.

NVIDIA Graphics Driver Installer Fails: The system cannot write to the specified device. 2

Posted on July 03, 2012 by danny

Just in case anyone runs into this problem and starts losing the plot!!

I was trying to install an earlier version of the NVIDIA display drivers for my graphics card today on Windows 7. Ones that MediaCentre would play nicely with.

Boy did I have to jump through some hoops!

Had to delete the version that Windows Update had downloaded otherwise it kept reinstalling them after the reboot – which was really annoying. Not trivial – you have to remove them from here:

C:\Windows\System32\DriverStore\FileRepository\nvdsp something something something. To delete them, you first need to take ownership of them (google that) and then once you have ownership set the permissions to provide full control. THEN you can remove them.

Then when I ran the NVIDIA installer it failed whilst trying to install the graphics driver component. Grrrr!

Then I tried installing it from Device Manager using “Update Driver” – and got this error message: “The system cannot write to the specified device.” – which lead me to believe that it couldn’t write to the card, or something in the windows directory – probably due to more bloody file permissions or whatever. And then I realised … that it wasn’t NVIDIA’s fault at all. My “Temp” folder was on a partition that was practically full. The installer couldn’t unpack the files. I cleaned out the temp folder – and hey presto – the drivers updated very happily indeed.

Net result – my kids can now watch “Peppa Pig” when they get up in the morning and I can sleep in. Praise your deity du jour!

Samsung LED TV with HDMI stretches Windows Desktop 2

Posted on August 02, 2011 by danny

Following on from my last post – I replaced the VGA and stereo audio cables with a single HDMI cable from the Graphics Card to the Samsung LED TV.

I had to reboot the Media Center for it to allow me to reassign the default audio output to the HDMI output but once I had restarted it let me do so. It looks like it detects whether the audio is connected as the machine boots rather than as a “hot” plug n play sort of thing.

Now for the nasty bit … the Windows desktop was now stretched beyond the sides of the screen. A good long search through the graphics driver controls yielded nothing to change the size and position.

Fiddling with the Samsung TV I then did find a setting that helped. Under Menu->Screen Adjustment there’s a setting called “Screen Fit” – the result of using this was that the desktop properly fitted on the screen. Problem was – it still looked wrong compared to the crisp output I’d had using the VGA cable. As though the screen had been stretched, introducing artifacts and then squashed again – leaving them behind.

Googling was required to solve the problem and I’m glad I did as I don’t think I’d have ever found the answer – and I’m endebted to this post for the answer:
http://ubuntuforums.org/showthread.php?t=1666329
The very first post nails the problem (ignore the rest of the thread). It says “Go into the menu on the TV and select Source List, Edit Name, then chose the HDMI and change the name to be either PC, DVI or DVI-PC. Either of these three setting should correct the over sized display issue.” – and the author is right. Giving a “Name” to the HDMI connection, corrects the problem. In fact the word name is really misleading, it’s really a “Type” – particularly as you pick the one you want from a list rather than choosing your own from scratch.

Making this setting, resolves the problem and removes the artifacts. Very confusing bit of UI from Samsung.

End result – great looking display and a reduction in the number of cables. So musn’t grumble.

Upgrading Media Center to HD 1

Posted on August 01, 2011 by danny

I’ve slowly been adding the ability to handle HD content to my media center of late. As usual, the machine is well underpowered so it always stretches the components.

I started by adding a Black Gold BGT3620 Dual HD tuner. This supports both Freeview and Freeview HD (as well as analogue and cable). Setup as always was very easy and it works with Windows 7 Media Center seamlessly. This is an expensive high end card. As mentioned in other posts, the key difference between this and other tuner cards is that Black Gold do a lot more of the stream processing on card rather than relying on the CPU to do the processing. This allows the rest of the machine to be a rather lower spec and prevents the CPU becoming a bottlekneck.

I then added a Samsung UE40D5000 40″ LED TV (which is excellent incidentally – the blacks are … err … very black!). This has a Freeview tuner built in (but not Freeview HD). I also didn’t go for any of the built in internet / iplayer gizmo’s that some of the more expensive Samsungs go for – on the grounds that since it’s attached to a PC – the PC is doing all of that.

Once the TV was connected up and the output from the graphics card altered to the new resolution it became clear that the move up from 720×576 to 1900×1080 was clearly a step to far and at this resolution the media center really started to struggle. SD content was ok, but any rapid movement in the HD content it could not cope with becoming stuttery and blocky. The Graphics Card, a GeForce 6200LE for PCI-E clearly couldn’t cope. Given this was launched in 2004 perhaps this isn’t surprising but it’s worth mentioning because until 2011 it was still being sold as a budget card around the £25 mark. It had a fill rate of approx 700 megapixels / second.

Taking the card out and relying on the onboard graphics capabilities of the motherboard, a Gigabyte GA-946GMX-S2 i946GZ actually improved performance which was unexpected. But then a new budget card was dropped in, the GeForce G210 (£27 inc Vat), launched in 2008. With a fill rate of 4.1 gigapixels / second, clearly much quicker. The result? HD playback is now flawless. As always I buy fanless cards for the media center – I want to listen to the movie, not the machine.

Along the way I also answered the question “Do graphics cards with hdmi output sound?” – Answer: In 2011, yeah, probably. Going back four or five years this used not to be the case, a card with HDMI may well not have had audio, indeed may not even have provided a connector to grab the audio from the motherboard or soundcard – but these days this would appear no longer to be the case, if a budget card like the G210 has onboard digital audio output to the HDMI cable, it seems likely that most other graphics cards will do as well. In the world of PC based media centers and gaming on TV’s this was probably an inevitability. A card supporting HDMI and not supporting audio is just, well, a bit pointless really.

My one remaining problem? The plastic surround on the HDMI cable is too fat preventing the connector from fully inserting into the HDMI socket of the card (it catches on the PC case). I either need to cut the extra plastic off OR buy a flatter one. Grrrrr.

Next I installed a Samsung Bluray drive to replace the existing DVD drive. This came bundled with CyberLink’s Powerdvd software and supports that products “TrueTheater” upscaling technology to upscale SD content on DVD to something approaching HD. You can use this in a split screen before and after mode to look at the changes. I turned off it’s colour lightening setting whilst setting the sharpening to the middle setting and tested it on some scenes from “The Lord of the Rings : The Two Towers” and the improvent is remarkable – definately no need to buy the Bluray version of the movie. The only slight niggle here, is that whilst the standalone version of Powerdvd works flawlessly, the embedded version that sits within MCE doesn’t quite display full screen leaving a black border.

So the system currently stands like this:
Gigabyte GA-946GMX-S2 i946GZ Socket 775 onboard VGA 8 channel channel mATX
Intel E2160 Socket 775 Pentium Dual Core 2×1.8Ghz 800FSB Retail Boxed Processor
Asus GeForce G210 SILENT 512MB DDR2 DVI VGA HDMI Out DirectX 10.1 Low Profile PCI-E Graphics Card
4GB Kingston DDR2 RAM

Next time out – I’ll be getting surround sound sorted out.

Orbitsound – T4 Review 0

Posted on May 31, 2011 by danny

The marketing bumph for this is mostly keen to tell you about the incredible sound technology built in to the T4, how it’s spacial technology provides a stereo sweet spot wider than an outsize sombrero and all in a package the size of a pint of milk.

Well I’m here to tell you that the sound isn’t that great. It’s okay, sure. But it’s not great. The bass lacks punch and the mid is overbearing. Well what did you expect? As Scotty will say (come the 23rd century) “you cannae defy the laws of physics” and I put it to you that for this listener this remains true. It is very hard to get decent bass out of small speakers – the mid will tend to dominate.

Which begs the question? “Why do I love the Orbitsound – T4?” becaue I have to tell you, I do – I really do. In fact, I think it’s a fabulous piece of kit.

The size of a couple of pints of milk – you get all this:
– DAB and DAB+ radio
– FM Radio
– Internet Radio (inlcuding Podcasts such as from the BBC)
– Support for UPnP Media Playing
– iPod suport
– Aux in
– EQ
all for about 70 english pounds.

But it gets better. For a device this size, the UI is REALLY good. This if for two reasons. First the display can manage 6 lines of about 25 characters so the developers had plenty of space to work with. Second, the UI is quite rich. A display this size, allows a nicely nested menu system. Selecting a podcast from the BBC is not the keyhole surgery of the two line display of the Revo Mondo say (that I’ve known and loved for the last few years) – it’s actually pleasurable. For someone who listens to a lot of talk radio / podcasts (Radio 4 darling!) it’s a boon.

The switch on / boot time is practically instantaneous and the time to find and connect WiFi to the router if using Internet Radio or UPnP is very quick compared to other devices.

The controls are arranged around the top surface and there’s no remote control which does make the T4 only really suitable for smaller spaces in the home such as a Kitchen or as a bedside radio. As you return to a function previously used it automatically retunes to the last station selected, or in the case of an iPod, unpauses it (when you move from the iPod to something else, it pauses it again – nice touch).

In fact given the size and style of the device, you could actually use it as a device to drive an external HiFi in a similar role to something like a Revo Mondo and it wouldn’t look at all out of place and the sound quality would be well, HiFi. And given that the thing you really want on a remote is a volume control, the lack of a remote then isn’t a big deal.

My only other gripe is that the floppy wire aerial is a bit position sensitive when listening to DAB – but that’s a small detail.

All in all – I’m impressed. The developer who coded up the firmware gave a damn and it shows. There are just lots of nice little touches as though the engineers had actually used their own product (heaven forbid!) This is a good piece of kit at a great price. Well done Orbitsound! Can’t say I understand your marketing though.

WMP12 and UPnP problems 0

Posted on May 11, 2011 by danny

So … I’m trying to use Windows Media Player 12 on Windows 7 (32 bit) as a UPnP server. I enable all the things I’m supposed to enable. My Revo Mondo can “see” the server, it can even browse the files. But as soon as it tried to play them … nada!
So I try with my laptop. Same result. It can’t play the files.
Just to complete the loop, I try with my Android phone – again – it can list the files but not play them.

I try setting permissions on the files “everyone can read them” etc… no change.

In desperation I try using TVersity instead – but it appears to have the same problem. And additionally seems unable to cope with the size of the mp3 library.

A lot of browsing leads to lots of links on the Microsoft site that seem to have been removed. Only slightly annoying.

Finally – I work it out.

Like many people – my media collection has built up over many years. Either on an external drive, or on a secondary internal drive that gets pulled out of the old machine and plonked in the new one every time I upgrade my PC. Of course, when you do this (either with an external drive or with an internal one), the permissions on the files all relate to the old machine. So in effect, the new Windows 7 installation thinks that the drive is actually remote and refuses to serve the media.

If you copy the media (or a small subset of it) to the local drive and make it part of the music library – you suddenly find you can play it on your UPnP clients. Which is a solution if your system drive has the space. But if it doesn’t you’re still stuffed.

Eventually, I found the answer here http://forums.techarena.in/media-player/1168138.htm. God bless “Vincent”, whoever you are.

The solution is as follows:
1. Click Start, click Run, type regedit, and then click OK.
2. In the registry tree (on the left), expand HKEY_LOCAL_MACHINE, SOFTWARE,
Microsoft, MediaPlayer, and then Preferences.
3. Right-click HME, point to New, and then click DWORD Value.
4. Type EnableRemoteContentSharing, and then press ENTER.
5. Right-click EnableRemoteContentSharing, and then click Modify.
6. In the Value data text box, type 1, and then click OK. If you later
decide to disable remote content sharing, you can repeat this procedure and
change the value to 0.

To repeat, even though this text is talking about RemoteContentSharing and technically your content is not remote (it’s either on an external drive attached to the machine, or an internal secondary drive) – Windows thinks it is because of the obsolete permissions on the files. Following the steps above, will make your world a better place, full of whatever sounds fill your mp3 collection.

Getting a SiliconImage Sil3114 SATA RAID card to work in Windows 7 12

Posted on October 29, 2010 by danny

I recently had the experience of moving a pair of RAID1 storage disks from one server to another. It was not without difficulty.
Both server’s had the OS on a third non RAIDed drive, so i didn’t have to worry about being able to boot from them (thank god!)

The server they came from, an old MSI AMD motherboard had a Promise RAID controller built in. The Gigabyte board I was moving to did not, so I had to add an additional RAID controller on a PCI card.
The board chosen used a chipset from SilconImage – the Sil3114. This is an inexpensive card offering RAID0,1,5,10 & JBOD.

The card as delivered plugged into an empty PCI slot easy enough. However the motherboard recognised this only some of the time. (This was subsequently either resolved by a BIOS update to the card – more on this later – or pushing down hard on the card to ensure it was fully in – not sure which).

The Sil3114 card can be used in one of two configurations. As a RAID controller for up to 4 SATA drives. This requires a SATA RAID bios to be installed on the card (the default) and some SATARAID5 manager software to be installed in Windows.
OR – it can be used as a straight disk controller for up to 4 SATA drives (no RAID) – this is called “SATA Link” and requires SATA Link software in Windows. You can also install a SATA Link “base” BIOS to the card as well, instead of the RAID one, but since the SATARAID BIOS has a pass thru mode which allows the use of drives in a non RAID configuration, it makes you wonder why you’d bother.

The job then was to plug the drives in, set them up as a RAID group without losing the data already on them and then get them visible and useable in Windows.

After plugging the drives in, I went into the Silicon Image SATA RAID BIOS utility. Here I was able to create a RAID1 group containing the two drives. I allowed it to re-mirror the data from one drive to the other as part of this. The mirroring process took several hours for my Samsung Spinpoint 500GB drives.

After booting into Windows, Windows 7 automatically downloaded a bunch of driver software which it seemed to think would work. It also added an item to the Windows Control Panel called “Silicon Logic SATA RAID”. Despite clicking on this item many times – it never did anything.
In addition to this you need to install the SATARAID5 manager software which allows you to configure the disks in windows. This can be downloaded from the SiliconImage website here:
http://www.siliconimage.com/support/searchresults.aspx?pid=28&cat=3
Make sure you have at least version 1.5.20.3 of this.

These downloads inexplicably include an old copy of the Java virtual machine runtime environment. Ironically this doesn’t actually work with the SATARAID5 manager software it comes with. Genius! Although it will allow you to view the status of your disks – it won’t allow you to actually do anything with them, all the menu items just do nothing (I subsequently managed to run the manager in a console mode and found that all the menu items were throwing exceptions – ie: broken).
However if you install the latest version of the Java runtime from Sun (available here) – the manager software does work properly.

So now I was able to examine my disks using the SATARAID5 manager. They were marked as a Legacy RAID Group and painted red. In the Windows “Disk Management” window (right click on “Computer” in Windows Explorer, select “Manage” and then clicking “Disk Storage”) they were not visible at all.

So – problem! My disks are there, presumably with data and I can’t read them. And what the hell is a legacy RAID group?

After much reading of the siliconimage website, I downloaded updated versions of the Sil3114 BIOS
Specifically BIOS version: 5.4.0.3 available from here.
The combination of BIOS 5.4.0.3 and SATARAID5 Manager 1.5.20.3 was the one I settled on that finally worked.

The BIOS can be updated by opening Windows “Device Manager”, finding the Sil3114 under “Storage Controlers”, right clicking and selecting “Properties”. One of the tabs has a button for updating the BIOS here – it’s straightforward.

One option offered by the SATARAID5 manager software was to “Convert the Legacy RAID group” to a “New RAID group” – I wasn’t quite sure what this would do but as far as I could tell a Legacy group can be read natively by the card, whereas the New group uses the manager software / drivers instead.
Hardware vs Software RAID then? Not sure. But I’m pretty certain that a New RAID group would be much tougher to setup as a boot drive. So legacy would seem better – if only it could be made to be seen in the Windows “Disk Management” window.

So – I took one of the two drives out and let the system boot. Still couldn’t see it.
Deleted the RAID group in the BIOS and let the system boot. Now we could see the drive. SATARAID5 recognised it as a normal non-RAID disk, went into PASSTHRU mode and allowed it’s use. (It is this PASSTHRU mode that makes the alternative SATA Link BIOS software pretty pointless in my view as it acheives the same result),
NB: Whilst deleting a RAID group only seems to delete the RAID metadata from the hard drives with the Sil3114, leaving the data intact, the same might not be the case with other RAID controllers. Beware!
I now reinstalled the other disk, delete the RAID group from that as well and let the system boot.
The system could now see both drives in PASSTHRU mode, the partitions were intact, but the “Disk Management” window informed me that it couldn’t mount the second drive as it had the same identifier as the first. Which of course it would – so that seemed reasonable.

SO – rebooted again – went back into the RAID BIOS and recreated the RAID group, I didn’t bother to make it copy the data again as it was clearly going to be the same, and then let the system boot.

This time success. The drives were still recognised as a Legacy RAID group, but this time were painted green in the SATARAID5 manager software and were visible and useable in Windows 7. A check in “Disk Management” showed that a single drive was being recognised (ie: the two disks are successfully operating as a RAID1 mirror pair).

I have no idea why they were painted red the first time and green the second, other than that maybe the RAID BIOS was very old when I created the first pair and the metadata was a bit rubbish.

Anyway – all well in the end.

So yes – it is possible to get the Sil3114 to drive a pair of RAID1 disks in Windows 7. (Phew!)

PC Freezes Randomly 0

Posted on March 08, 2010 by danny

An overlooked classic this one. Your PC crashes randomly. It just locks up. You can still see the screen but the mouse no move. The computer no worky.

Very commonly ,this is not caused by component failure as such but by a build up of dust and crud in the machine. A clue to this in systems that support varying fan speeds, would be the system fan running almost continuously in high speed mode.

There are a number of things you can do to help here:
– The first is to go into the BIOS and raise the temperature at which the motherboard shuts down the CPU. A low setting can lead to the BIOS being over cautios and shutting down the CPU at to low a temperature.
– The second, and most important, thing to do – is to get a can of compressed air and blast it through the fins of the CPU heatsink. Dust on the heatsink drastically reduces the airflow available and in doing so, horribly reduces the effectiveness of the heatsink. If great clouds of dust fly out the other side of the heatsink – you’ve probably done yourself a favor. If you don’t have any canned air to hand you can always try lung power – but it isn’t as effective and tends to lead to coughing fits after inhalnig the disturbed dust. Which isn’t great!
– Third as a long term preventative, if possible re-site the computer. In our house ther computer which suffers most from this, is the Media Center. This lives close to the ground (under the TV) about an inch or so above the carpet. A very dust prone environment. Moving it higher or enclosing it in some sort of glass fronted TV cabinaet, would relieve the problem greatly.



↑ Top