Observations 18-5-12

Ever heard a laptop scream to be turned off? Sound clip

That noise came from 2 of a batch of 7 laptops. The noise comes from the HDD’s and the bearings in them. They had a good run.

Observations 15-5-12

This would be the reason why a PC would have loud fans: (taken at work)

Processor is 20 Degree's above max temperature.

Windows 7 now comes with “diskless” option?  The following is the options I have on my laptop when I click on “Safely Remove hardware and Eject Media”. The reason is because my laptops’ HDD is in a caddy usually reserved for a DVD (Lenovo T410s). I haven’t tried to eject the C Drive yet. It makes sense, although it’s stupid.

Eject the C Drive? Sure why not...

 

HP T5500 series Squeezeslave V2

If you haven’t figured out by now, I’ve been keen on small network sound devices for a while, although this should be the last revision. As a carry on from this article, I’ve kept with OpenWRT but moved to a different architecture (arm -> x86) to support the thinclients I have and will be getting. In comparison the wireless router was easy to get the base image installed but Squeezeslave wasn’t. This time the base image was stupidly difficult, and Squeezeslave was a cut’n'paste job. The reason why I couldn’t use a pre-built image was because the x86 image doesn’t support booting from a USB device and it needed sound card support.

This article doesn’t cover making the image from scratch, just installing the image I created for the HP t5500 series. I did however leave 120MB of space in the boot partition, and the rootfs partition is 2GB, which leaves heaps of room to install packages and modules, etc. Although I haven’t tested the image on any other x86 compatible PC, it will most likely work to some degree if you use a common sound card and USB chipset.

The main reason for making this image and not using the DSL based one anymore was because it’s very versitile and quick to deploy. You only have to make a few changes from a web interface, and not expand, extract, change, compact, etc.

Hardware Used: HP t5510 or t5500 thinclient, USB flash drive/s (2GB, 4GB and 8GB were tested), USB keyboard, USB to serial converter (optional to console in to the client).

Software Used: USB Image Tool, my OpenWRT x86 Image.

Hardware Setup
Unscrew the stand and side panel of the t5500 series device to remove the side panel. Remove the on-board IDE flash board, you may need pliers for the plastic retaining clip. Replace the side and stand. This is optional although recommended because you can change the GRUB option to boot from /dev/sdb2 instead of /dev/sda2.

Use USB Image Tool to restore the pre-made HDD image to a 2GB+ USB flash drive. The image itself is setup as 2 partitions, 120MB for boot and the remainder 2GB is for the rootfs.

Once the image has been successfully written, plug it into a t5500 series thinclient. Turn on the thinclient and press F10 to enter the BIOS and change the boot order to USB only, reboot and check for errors.

When the boot process is finished you can press enter on the keyboard and you’ll see the standard Openwrt console screen. If you have no free supported USB keyboards you can also use a serial cable to get to the console and make changes(from memory 9600,8,n,1)

Basic Image Setup
Login: root
Pass: password
IP address: DHCP (get from your DHCP server/router)
Default hostname: T5500-1

Change squeezeslave MAC address and squeezeslave server IP address:
Login to the web interface: http://<ip address>
System -> Startup -> Local Startup -> “/usr/bin/squeezeslave-static -R 192.168.80.1 -m00:00:00:00:00:05 &”
The default IP is 192.168.80.1 and the MAC address is 00:00:00:00:00:05.

Change the volume labels to suit your sound card (if your not using a HP t5500 or t5510).

Use Putty or any other SSH program to login to the device and type alsamixer, the labels along the bottom of the volume slide bars are the names you want to add to the start-up script, eg;

/usr/bin/amixer -q set Master 80% unmute
/usr/bin/amixer -q set Master Mono 80% unmute
/usr/bin/amixer -q set Headphone 80% unmute
/usr/bin/amixer -q set PCM 80% unmute

Confirmed this image works with the HP t5500 and t5510 thinclients.

Possible future work will involve installing airplay so you can also stream Ipod/Ipad or Itunes music to them. Because the versions of Squeezeslave I have been using take full control over the sound card, this might not be possible.

Cheers.

Turn a WRT350Nv2 into a Squeezeslave (networked audio)

Brought a WRT350N v2 from the flea markets last week ($20), installed OpenWRT 10.03.1 using the WinXP firmware upgrade utility. After that installed I then installed some additional packages (full list).

So at this point I was able to insert a cheap USB sound card in the rear and it would detect it. I was able to change the volume using alsamixer for testing.

Now for the frustrating part, cross compiling squeezeslave to execute it on the WRT350Nv2. I tried a few precompiled binaries, but they were no good. The basic steps I took were:

  • Download OpenWRT SDK.
  • Make sure you’ve gotten the required packages installed in your host machine, check here as a reference.
  • Download additional packages for the router using opkg or the web-interface, this will allow the use of the USB port and install alsa for sound control.
  • Download and extract squeezeslave source into the SDK packages directory (I chose packages because I was going to compile it as a IPKG package).
  • Use this Makefile.txt (the PATHs and others need editing if you want to use it).

If you have a use for it you can download the final cross-compiled binary here: squeezeslave. As a general list of dependencies for the router I have included a list of all packages installed and their version: OpenWRT_Packages

Once it’s all setup you just need to add squeezeslave to the startup scripts:

  • In the OpenWRT web interface, goto SYSTEM -> STARTUP scroll down to local startup and paste your details there:

“/usr/bin/squeezeslave -o3 -R 192.168.80.1 -m00:00:00:00:00:07 -Msqueezeslave_WRT350N.log”

Listened to Comedy 104 channel for over 3hrs – very funny and it performed perfectly. The USB sound card I’m now using is a Topping TP30 which I has an inbuilt amp.

Issues while cross-compiling Squeezeslave:

  • Some of the support source files downloaded were different versions than the make file expected. Manually exctract the files to the directory that the script is looking for.
  • The Flac source files were painful, I forget the exact error I got, but it had to be compiled manually, and then I commented out the section in the Makefile. The attached Makefile still has this edit, remove it if your going to use it.

I know that cross-compiling can have issues, just read the error logs and persist :-) This whole experience has made me re-think my base OS for this project. I quite like openwrt as an embedded OS.

Cheers.

New Server Arrived

To summarize, we were away for 4 weeks and all computers (including server) were turned off, this in turn saved us about $70 off our power bill, so with that, and the average 380-400W of power the server uses I figured a smaller server would pay for itself in no time.

Firstly I looked at getting an ITX mobo, then buying RAM, CPU, CASE, etc.. Turned out to be cheaper to buy it as a complete system or buy them second hand. So I bought it as a package, and the one I ended up buying was HP ProLiant N40L from eBay, paid slightly more than the cheapest quote I found, Harris Technologies (Office Works in Perth).

It didn’t come with an optical drive, or OS (didn’t need either), I was looking forward to the added benefit of running 5 SATA HDD’s in it instead. It’s RAID support is limited to RAID0 or RAID1, which doesn’t effect me as I’m using Linux software RAID for my storage.

The screen that I’m using was a free-by from the markets last week, due to the vertical lines and ghosting on it. It’s good enough for the what I need it for and big enough as-well (24inch Samsung).

It’s currently doing a base install of LinuxMCE 10.04 on the provided 250GB HDD, which will be the system drive. The graphics card is surprisingly good, but time will tell when trying to run GUIv2 with alpha blending and HD content.

[UPDATE]

After considering all the modifications I’ve done and the time required to recreate them all, I decided to just mirror the original system drive and change the network card assignment (eth1=>eth0 via udev/rules.d, etc..). It’s looking pretty good, CPU usage is noticeably higher, but that’s expected when going from dual Xeon 3GHz w/HT to “AMD Turion(tm) II Neo N40L Dual-Core Processor” @ 1.5GHz.. Think of the power savings…. :-(

 

 

Been A While

Yeah it’s been a while since the last post, ALOT has been happening, I am hoping to have some good projects coming up, no details yet, still working out the budget $-)

I have updated my Linuxmce diagram for those who might be interested.

Network Audio from Thinclient

This is an extension to HP T5000 As a Network Stereo. Rather than use the thin client as a fully qualified MD where boot times are slow, and it has a lot of non-required process’s running on it, etc… I’ve decided to explore the possibility of making a DIY squeezebox. I figured the Logitechs’ squeezebox would have lower specifications as far as CPU, RAM and storage are concerned.

First Option: SqueezeOS

Followed this tutorial and it created the images for an arm processor… Failed many times while trying to create a qemux86 and BootCDx86 base. I had tried using many different toolchains although it got to about a days worth of time when the idea was scrapped.

Second Option: Andriod install with Squeeze Player App.

This was a short lived idea as Andriodx86 ports needed Andriod Market installed to get the squeeze player app installed. Yeah you could install from source, etc.. But I was looking for a quick solution.

Final Option: DSL Linux with Squeeze Slave.

I have used DSL Linux on the T20 and it worked well. Just need to compile Squeeze Slave for it. After doing some research, I found the someone already had (looking for original forum post). Now it was just a matter of testing it in VMWare using the bootable ISO image – Tested OK.

Remastered the KNOPPIX file to get it to auto load; Edit /etc/skel/.xinitrc:

if egrep -qv lowram /proc/cmdline 2>/dev/null; then
dillo /usr/share/doc/dsl/getting_started.html &>/dev/null &
torsmo 2>/dev/null &
/home/dsl/squeezeslave -r5 192.168.80.1 -m00:00:00:00:00:04 &

/home/dsl/squeezeslave -r5 192.168.80.1 -m00:00:00:00:00:04  -M/var/log/squeezeslave_kitchen.log  # (Stops running eventually without -M<log file>)
fi

EDIT: This worked in VMWare although failed when using USB install

You can see that it’s all hardcoded into the image; For example if you want to make multiple network audio devices, you need to create different ISO’s, there are ways to get around this, although this was the quickest way for testing. To make others just change the MAC address: -m00:00:00:00:00:## (01-99). I recommend you put a label on the devices with the MAC address assigned to the image running on it.

Getting the ISO to boot from a USB was a failure, so I decided to install it to a USB memory stick and boot from that. So far it’s very responsive, and has an average memory usage of about 30-50MB.

Now the image has to be reduce to be installed into the thinclients flash memory so it can boot with just a power cord and network cable. USB wireless is also a possibility down the track.

If you want to try/edit the iso feel free to download the ISO HERE.

Cheers

 

Hax on Holidays

Dumb idea #1: Bring new touchscreen tablet (ZTE V9) on holiday.

Dumb idea#2: Fall asleep while watching movie on it and leaving it on the bed to fall to the floor.

End result: Tablet falls from bed to floor directly on USB charger cable snapping the internal micro USB connector off the mainboard… Not all that noticeable until you go to charge it again… Hmmm battery indicator isn’t changing and the cable is loose. DAMN!!

Currently not at home where tools are available to solder the connector back on, or solder a new one on. Whats available: knife, small (but not small enough) flat head screw driver, sticky tape, paperclip, and the USB and mains chargers. Macgyver would be proud!

First take off the plastic back, remove the battery and SD card. Use a pointy steak knife to remove the 6 screws. Use a small flat screw driver to unclip the second plastic backing. Now unstick the power and volume buttons, and remove the “Insert battery” instructional sticker. Underneath that sticker you’ll find a second black sticker for protecting the ribbon cable to the screen, remove it also.  Unclip the touchscreen cable and use the small screw driver blade to gently unstick the RGB LED indicator cable.You don’t have to completely remove it, just the long section.

By now you have enough leaverage to rotate the mainboard to servey the damage done to the underside of the mainboard.  Check to see if some of the tracks to the old USB connector are stripped. Good news for me, the 5v+ track seems to be managable.

Cut the small end off the USB charger/data cable, and strip back the red and black wires. Place them over the the appropriate tracks and lay some sticky tape over them. Now place some more sticky tape over one side of a paperclip (which will be protect the other side) and bend the clip to make sure it’s a tight fit, and slide it over the exposed cables and tracks to hold them in place. Place the battery back in and place the SD card between the end of the battery and mainboard to make sure it holds tight.

Gently insert the USB cable into a PC or powered USB hub. The RGB LED indicator should start flashing; Red if you battery is really low, or yellow if it has about 40% left. Wait. Depending on what you plugged the USB cable into will depend on how long it’s going to take, Mine took about 6 hours, although I had to keep checking it to make sure the wire’s hadn’t moved off the tracks, which they had at one stage. Once charged, your done, until you can properly fix the USB connector back to the mainboard.

Cheers.

**UPDATE** – 10/6/11

I was able to get a soldering iron to try and solder the micro USB socket back on, but the tracks for it where un-salvageable. Sigh!! So I went around the board trying to find the test points for the USB. The image below shows the points used for recharging.

You can see there is a group of 10 points near the red dot, I believe you should be able to hook the remainder of the USB leads up to it to get full USB again. As I don’t have the need for it at this time, I wont be pursuing it.

Whats Left: Finding a easy cable/socket set that will allow me to still use it and recharge it without have to always twist a couple of wires together, ideally scrapping a disused Nokia phone for the charger socket would be good, because I have a few of those recharges.

Cheers.

Cheap Pickup: WRT54G2 = $2

Yep, a working WRT54G2 (version 1.0) for $2, just required a 12v power cable, which I’ve a few spares. This is the third WRT54G I’ve owned:

  1. First one was purchased o modify the flash and use as a bridge. Unfortunatly it was version 7 so it had no known third party firmware available, (atleast at the time)  mainly due to an under sized flash chip and non-supported wireless chipset.
  2. Second was an American import and one of the originals flashed with DD-WRT.  Worked perfectly until the loose power cable came out during a reflash… Bricked.

As explained, this wireless router is a WRT54G2 v1.0. A quick google found this page. A few downloads and two firmware flashes later, the micro version of DD-WRT is installed, setup and working properly as a secondary WAP to provide better coverage around the house. Total cost $2.00

Cheers

Cisco 3500XL PSU Fix

This is just a proof of concept/quick hack; I’ve recently been given a dead Cisco 3500XL. Plug the power cable in and I got no action, no fans, no lights, etc.. Removed the lid and looked inside: The power cables appear to be the same colors as a molex connector, so just like the Dell 2600 Series Sata Mod I decided there’s nothing to lose by giving it a go. As normal, the yellow cable is 12V+, blacks are ground, and red is 5V. Short the ATX PSU’s Pin 14 to 15 (PS_ON and COM), then watch the magic happen.

Yes it booted fine the first time, but after “cleaning up” the wiring, one of the cables must have come loose, hence the fault pic below. After properly checking the cables again, it booted fine and the console output is attached below. Would it be safe/recommended to use the switch setup like this in the long term? Probably not, but it’s good for testing and now I have a cable that can be plugged into any other 3500XL to test it it’s just a PSU fault or motherboard problem.

3500XL Console Log

Cheers

Copyright © All Rights Reserved · Green Hope Theme by Sivan & schiy · Proudly powered by WordPress