Birds Like Wires

Pop search terms in here.

Feed the Birds

SqueezePlay OS for OpenFrame

Latest Release: 15th January 2015 – CHANGELOG

Download SqueezePlay OS v3.03 for External Storage – (220MB) MD5

Download SqueezePlay OS v3.03 for OpenFrame 1 Internal Memory – (219MB) MD5

Download SqueezePlay OS v3.03 for OpenFrame 2 Internal Memory – (220MB) MD5

  • Which version should I download?
  • - If you want to run this from a USB storage device, download the External Storage image.
  • - If you want to run this from internal memory and have an O2 Joggler (or similar) download OpenFrame 1 Internal Memory
  • - If you want to run this from internal memory and have an OpenFrame 2 (front facing speakers) download OpenFrame 2 Internal Memory
  • For either internal storage version, you will need the Reflash System to install it.

Continue Reading →

Command Line Wireless Options in OS X

Managing OS X wireless options was a terrible mystery until I discovered the magical hidden ‘airport’ command. If you do any Mac sysadmin work, I recommend:

sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport /usr/sbin/airport

This gives you lovely, straightforward access to the airport command, from which you can turn wifi on and off, configure administrative settings; basically everything you need. However, watch out; there’s been a change in the version currently shipping in Mavericks. My fave command was:

sudo airport en1 prefs RequireAdmin=YES

But this will no longer work. Instead you receive this response:

'Unrecognized prefs option 'RequireAdmin=YES'.

It’s not a problem, because Apple have actually unpacked the RequireAdmin option into it’s three constituent parts; RequireAdminIBSS, RequireAdminNetworkChange and RequireAdminPowerToggle. You can now control each of them individually.

So my favourite command has now become:

sudo airport en1 prefs RequireAdminIBSS=YES RequireAdminNetworkChange=YES RequireAdminPowerToggle=YES

Continue Reading →

Reflash System for OpenFrame

Latest Release: 19th September 2014

Download System v1.11 – (160MB) MD5


Originally written for the O2 Joggler, the latest version of the Reflash System can be used on both types of the commonly available OpenFrame units. These are great devices; useful, hackable, affordable and fun. However, if you find yourself with one that’s less than happy, with any luck this system should bring it back to life.

This is designed to be a reliable method of reflashing any OpenFrame device, even in the event that the internal flash memory has had it’s partitions destroyed. These units are robust and will continue to boot from external USB devices even when the internal memory has given up, so unless you have a hardware failure or EFI problem this should get things working again.

In addition, this system can also be used to write a completely different OS to the internal memory, such as SqueezePlay OS. Instructions are provided below, but the alternative OS should have been designed to run from the internal memory. You could potentially flash anything, but not everything will work.

Continue Reading →

The Dell 1320cn Printer and OS X

Do you have a Dell 1320c or 1320cn? And a Mac? Are you tired of not being able to print? Fret no more!

The drivers from Dell are stuck way back in the Tiger (v10.4) and Leopard (v10.5) days and I’ve had no end of trouble with them. But, as is so often the case, the hardware inside that Dell printer isn’t really Dell at all. What you actually have is a revamped version of the Fuji Xerox DocuPrint C525A.

Luckily, Fuji Xerox are rather more amenable to keeping their drivers driving and their printers printing than Mike’s company is.

Installation

You could install the drivers directly from Fuji Xerox, but why bother? Apple have already rolled the drivers into a snazzy package that will auto-update when new versions are released. Head over to the FujiXerox Printer Drivers page on Apple’s website, download and install the printer driver package. This works on the latest Mavericks version, all the way back to Snow Leopard.

Screenshot of the Fuji Xerox C525 A-AP v3.2 printer driver being installed for a Dell 1320cn printer.

Continue Reading →

Revisiting Arduino Bootloaders

A couple of years ago, I put together an Arduino / ATmega-based project that really needed to skimp on power. There wasn’t a huge amount of documentation around at the time, but after some digging I managed to get the ATmega running at 8MHz using it’s own internal oscillator. Taking it one step further, I then dropped that rate down to 1MHz by recompiling the bootloader. Tada! That project ran constantly for many months at a time on a couple of D-cell batteries.

When it came to my latest endeavour I dug out the old bootloaders. No beans. Times have moved on a little in the Arduino world and the Arduino 1.0.5 IDE wasn’t playing with my bootloaders any more. I thought I’d narrowed it to a simple tweak of the boards.txt file, but apparently not. I’d never been completely happy that I’d not gone the distance and used Optiboot anyway, so before I knew it the source code was downloading.

Building Optiboot

The Optiboot bootloader is actually included in the Arduino IDE these days, but compiled just at 16MHz for the veteran ATmega168 / 328 chips and not actually available for use without some tinkering. So, I decided to replicate my earlier setup and create 1, 8 and 16MHz versions.

Continue Reading →

No to HDIO_GET_IDENTITY failed!

This one has been annoying me for a while and nobody has explicitly waved a simple solution around for it; so now that I’ve found it, I’m going to do the waving. In building Ubuntu Precise 12.04 for the Joggler, this error was popping up on boot:

ata_id[1605]: HDIO_GET_IDENTITY failed for '/dev/sda': Invalid argument

It occurs because ata_id is being called upon by udev to provide some information about the ATA device. However, on the Joggler these devices are almost always connected via USB and in almost every case ata_id will fail to return anything useful. Tada – we have an error. It’s harmless, but annoying.

To fix it, you need to dive into /lib/udev/rules.d/ and edit 60-persistent-storage.rules. You will see the following from line 37:

# Run ata_id on non-removable USB Mass Storage (SATA/PATA disks in enclosures)
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", ATTR{removable}=="0", SUBSYSTEMS=="usb", IMPORT{program}="ata_id --export $tempnode"
# Otherwise fall back to using usb_id for USB devices
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id"

Ah-ha! There it is! It runs ata_id, which errors out, and then picks up the slack using usb_id. Stick a lovely great # on that ata_id line.

Continue Reading →