Wednesday, December 19, 2012

South Sea Islands Christmas Pudding



I saw this years ago when Anthony Worrall Thompson used to present Saturday Kitchen on BBC.

I am not a fan of traditional Christmas pudding. This is a much lighter pudding with a more of a citrus flavour. I used to use the recipe on bbc.co.uk but they have taken it off for some reason. It's not like it takes up much space.

It has become a tradition in the house. I even got queries, if we are havit this year. The answer is yes.

Ingredients

  • 225g/8oz can pineapple rings
  • 110g/4oz soft butter
  • 1110g/4oz caster sugar
  • 30g/1oz angelica, chopped
  • 1 orange, rind only
  • 2 eggs, beaten
  • 85g/3oz self-raising flour
  • 2 tbsp of golden syrup
  • 55g/2oz fresh breadcrumbs
  • 55g/2oz stoned raisins
  • 55g/2oz glace cherries, quartered
  • 55g/2oz candied peel

Method

  1. Drain pineapple, reserving juice. Cut three rings in half and put to one side. Chop the remainder coarsely.
  2. Cream butter and sugar, add orange rind and beat in eggs. Fold in flour and breadcrumbs.
  3. Add chopped pineapple, raisins, cherries, candied peel and angelica and mix well.
  4. Butter a 1½ pint pudding basin, put syrup in the bottom and arrange pineapple in a circle. Spoon sponge mixture on top and level it. Cover with buttered paper and foil.
  5. Place basin in a saucepan of boiling water with water 2/3 way up the sides of the basins. Boil for 1¾ hours.
  6. To serve immediately - turn out and serve hot.
  7. To freeze leave pudding to become cold. Wrap basin in foil and use within three months.
  8. From frozen thaw overnight or for 2-3 hours. Remove wrappings. Replace buttered paper and foil and steam for one hour.
  9. Turn out and serve hot.

Wednesday, November 21, 2012

Scrumdiddley a.k.a Cheaters Chicken Pasta Bake


This is a recipe that was inspired by something my grand aunt Abby gave me one night.

She spent many years in the US, so I am sure that she picked up some tips there.

Time to prepare: 20 mins

Time to finish: 60 mins




Ingredients:

1 x Cooked Chicken.

(You can buy a cooked chicken or cook one yourself.
I often boil a chicken which also gives a great stock that can be used.)

2 x tins of Campbell's Cream of Chicken Soup (you can substitute this for something less calorific)

500g Pasta of you choice. (I prefer penne or quills myself.)

Pasta/Parmesan cheese. (I often use one of those packets of pasta cheese, as they are easy.)

2-4 packets of mozzarella.

Method.

Turn on the oven to about 200 degrees centigrade.

Fill the kettle and put it on to boil.

Empty the 2 cans of chicken soup into a large oven proof dish/saucepan with a cover. (I have a large La Creuset pan which is just the job.)

Heat slowly with a can full of water or stock.

When the kettle boils put it into another pan and get the pasta cooking.
I put a good spoonful of salt in the water.

Make sure that the water is boiling vigorously before putting the pasta in.
Boil vigorously until the pasta is 'al dente', having a slight bite.
If it is soft, then you are shagged.

In the meantime, remove all the chicken meat from the cooked chicken.
You can also boil the remains to make a nice stock.

At this stage, we have hot soupy sauce, chicken meat removed and pasta almost cooked.

Cool.... Have a quick drink of beer.

Put the chicken into the sauce.

Add the pasta/Parmesan cheese and mix.

Add some stock or water so that it is thick and creamy.

Add the pasta and mix again.

Take the mozzarella cheese and tear it and place it over the top reasonably evenly.

Ready ??? not quite.

Adjust Seasoning





Have a taste of the gloop and adjust for salt and/or pepper. Quite important. The cheese is salty, which should be enough. Check, because it is easy, to see if it is to your taste. I would suggest using white pepper, as black pepper leaves black bits, which some patrons may not appreciate.


Next

Bung in the oven for 30 mins. Check after 20 mins, in case things are too hot. My last check, was that after 20 mins it was 76C.

After that remove the cover and crank up the heat to the max.


After about 10 mins, it should be nicely browned.
If it is not browned, you can leave it for a few minutes until you are happy.

Done.

I prefer to leave it for about 30 minutes before serving it.
It is boiling hot when you remove it, about 200 + degrees, so unless you want a burnt mouth, wait.

Enjoy. Its nice with a fresh salad.
Gherkins are nice. Crusty bread. Garlic bread.


Top Tips

I have tried garlic, which is nice, but it is not for everyone.
Chili would also be good.

It is best eaten freshly cooked.

It is also great eaten the next day for lunch at work or whatever.

I make it for my family and it is usually eaten this way.

I usually eat for lunch the next day.

I like it best at room temperature or warmed.


Saturday, November 17, 2012

How to get the best burger in Mc Donalds

To get the best burger, it must be freshly made.

Order one minus one of the ingredients. That have to cook it specially.

My favourite is the Double Cheese Burger. Costs €2. I order it without ketchup. I haven't liked ketchup since I was a kid. I think it was around the time I began to like mayonnaise. It has some pickles in it. Nice

Anyway, the have to cook it then and there. It takes a few minutes but but it's a great product. Much better then the normal stuff, which could be five minutes old.

I have often thought about the 'Secret McDonalds Menu'. Check it out.

Thursday, November 15, 2012

PogoPlug Cheap NAS


I wrote previously about http://blog.thegiblins.com/2012/07/pogoplug-cheap-deal-and-hack.html , a good deal from Pogoplug.

I was really intersted in that there was a Sata port on the inside and it had a Gigabit Ethernet port.

I explored the options available to connect and power a sata drive. I eventually found a "NEON SSD/HDD Stand-alone Duplicator and Docking Station (USB2.0 - eSATA)" on MemoryC.com. Just under €32 and free shipping. What could possibly go wrong? It turns out to be a fairly good product, with USB and eSata ports plus external power. Fits 2.5 and 3.5 inch drives.

OK, so crack open the PogoPlug, easy. 

Warning: The power board is on the right of the picture. It has exposed 220V and this can kill. Be afraid. Be very afraid, and careful.

I ordered a Sata to eSata cable from eBay. I am probably going to have to drill a hole in the side of the case to allow the cable to fit properly and exit the case.

I plugged in the Sata side of the cable into the PogoPlug Sata port.

 Connected the eSata side of the cable to the Docking Station. I had an old 80Gb drive that I used for testing. Power the Docking Station on and then the PogoPlug.
 The happy marrige, PogoPlug meets Docking Station.
When I first turned it all on, it wouldn't boot. Feck I thought. Dr Google was no help.

I thought about it for a while and I thought that perhaps the Sata drives were being initialised first, becoming /dev/sda1. The system was configured to boot from a USB stick as /dev/sda1.

Test 1: Set-up to boot from Hard Disk /dev/sda1

I plugged the USB stick and Docking Station into my trusty Linux Laptop, identified the devices, which were /dev/sdb = Docking Station and /dev/sdc which was the USB drive.

I ran:

[root@wideboy ~]# dd bs=1M if=/dev/sdc of=/dev/sdb
7498+1 records in
7498+1 records out
7862353920 bytes (7.9 GB) copied, 506.336 s, 15.5 MB/s


Cool so far. I plugged out the Docking Station and back in again.

I then ran 'fdisk -l' and got

[snip]
Disk /dev/sdb: 80.0 GB, 80026361856 bytes, 156301488 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd9bd8d6f

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              21     7827203     3913591+  83  Linux

So, I had an 80Gb disk with a tinchy partition. 

Time to crank up fdisk again.

[root@wideboy ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.22.1).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p

Disk /dev/sdb: 80.0 GB, 80026361856 bytes, 156301488 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd9bd8d6f

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              21     7827203     3913591+  83  Linux

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (1-4, default 2):
Using default value 2
First sector (7827204-156301487, default 7827456):
Using default value 7827456
Last sector, +sectors or +size{K,M,G} (7827456-156301487, default 156301487):
Using default value 156301487
Partition 2 of type Linux and of size 70.8 GiB is set

Command (m for help): p

Disk /dev/sdb: 80.0 GB, 80026361856 bytes, 156301488 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd9bd8d6f

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              21     7827203     3913591+  83  Linux
/dev/sdb2         7827456   156301487    74237016   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.


All good again.

Create the new file system:

 [root@wideboy ~]# mkfs.ext4 /dev/sdb2
mke2fs 1.42.5 (29-Jul-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
4644864 inodes, 18559254 blocks
927962 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
567 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
    4096000, 7962624, 11239424

Allocating group tables: done                          
Writing inode tables: done                          
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   


I then mounted the partitions to check that everything looked OK. It did.

I then connected the Docking Station to the PogoPlug and powered everything on.

Note: the PogoPlug does not have the USB drive attached.

Low and behold, everything booted. The PogoPlug was booting from the eSata attached hard disk. Woo Hoo! Better then I had originally expected.

Test 2: Crack open a cold brew and blow the froth of it

Kick back and watch you favourite movie. You earned it

Love Linux. Love Arch Linux. Love Arch Linux Arm.

Low power computing. Save the world.

What will I use it for? I am going to try OwnCloud and see if it can run in 128Mb of ram. At least I should be able to run Samba and NFS on it.

Sunday, October 14, 2012

Latest Chilli Harvest


This is the latest batch of chillies that I grew. There is a Euro Coin on the left, just for scale. Some of the chillies are fairly large.

I was going to make a Chilli Jam and a Salsa. My friend Lee suggested that I also make a Chilli Oil. So, that was the goal.

I had just under 200g of Chillies. They were a mixture of Dorset Naga (Ghost) and Super Chillies. The Naga is super hot and the Super ones are also fairly hot. I split them in three and used a third in each recipe.

WARNING: Brefore we go on, I must emphasise that these chillies are very hot and you need to use plastic/rubber gloves when handeling them and any utensils that have been in contact with the chillies. After I made everything, I got something on my hands and they started to burn. Easily washed off, though. Special warning to men. You know what I mean. WASH YOUR HANDS BEFORE YOU TOUCH ANYTHING.

Chilli Oil:

I dried the Chillies in the oven @ 100C for about 40 mins. I started watching them after 15 mins and just kep going until they were dried out.

I blitzed them and boiled them in malt vinegar. This has something to do with changing the ph of the chillies, so that the Botulism bacteria are killed. It is known to br found in chillies.

What was left was fairly dry, so I put it into some Vergin Olive Oil and brought up the temperature. Do not boil.

When it was hot, I put it into a scalded jar. When the mixture had cooled, I topped up the jar woth more Olive Oil.

The End.

Chilli Jam:

This was a first for me. I basically followed the recipe on
http://www.guardian.co.uk/lifeandstyle/2010/aug/03/chilli-jam-recipe

I did not use the tomatoes. I used a whole bulb of garlic, jam suger (it contains precin, so bit helps) and about 30 chillies.

Again pour the hot mixture into scaleded jars.


Chilli Salsa:

Choose the tropical fruit of your choice. I like pineapple.

This time I used a tub of SPC Natures Finest, which contains pineapple, pear and peach in juice. I use the whole tub.

So, dump your fruit into the blitz machine of your choice, add all the chillies, one bulb of garlic, some salt and a good glug of vinegar.

Blitz it until it is the consistancy you like.

Taste and adjust the seasoning, if required.

Plop in a saucepan and bring to the boil. Simmer for a few mins.

Once again, decant into steralised jars.

The End.

Here is a picture of the latest family members.

I have named them, from left to right: Mr Chilli Oil, Mrs Chilli Jam and Mad Cousin Chilli Salsa.



The Chilli Oil is a bit lighter then the picture. You can see the residue at the bottom of the jar.

I tasted it It didn't taste hot initially, but then the heat sort of crept up on me scarred me. It was like a panther creeping up on you. You know it is coming but don't know when it will strike or how much damage it will do. Nice. Love the Burn.

The Chilli Jam was very red. When I blitzed the red peppers the result was a sort of pink but when I put the chillies in, it turned very red.

The taste was quite sweet, which is not a surprise, as it is a jam and has 700g of suger. It is a nice sweet garlicy sauce that gives you a punch in the face. What more can you ask for? Love the Burn.

The Chilli Salsa is a different animal.

It is a little sweet, a little tart but hotter then a blow torch. I dipped a spoon into and tasted whatever clung to the spoon. 10 seconds in, it got hot and kept getting hotter for ablut a minute or two. Then it started to spread to my head. It felt like I put a rubber band around my head and let it compress and pull my hair as it headed towards the back of my head. I know you have done that.

What a rush when the endorphins kicked in. Burn burn burn. Great.

I did not distribute the Naga and Super Chillies equally between the three batches. I just grabbed a handful and measured 60+ grams.

Great result and practically free. The only thing I bought was the Jam Suger.




Arch Linux Kernel Upgrade Broke Modules

I ran a full upgrade using 'pacman -Syu' which included a kernel upgrade.

It started fine but then went into the toilet, as follows:

(1/1) upgrading linux                                                       [###########################################] 100%
>>> Updating module dependencies. Please wait ...
ERROR: could not open directory /lib/modules/3.5.6-1-ARCH: No such file or directory
FATAL: could not search modules: No such file or directory
>>> Generating initial ramdisk, using mkinitcpio.  Please wait...
==> Building image from preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 3.5.6-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [pata]
  -> Running build hook: [scsi]
  -> Running build hook: [sata]
  -> Running build hook: [filesystems]
  -> Running build hook: [usbinput]
==> ERROR: module not found: `hid_apple'
==> ERROR: module not found: `hid_logitech_dj'
==> ERROR: module not found: `hid_hyperv'
==> ERROR: module not found: `hid_saitek'
==> ERROR: module not found: `hid_generic'
==> ERROR: module not found: `hid_axff'
==> ERROR: module not found: `hid_dr'
==> ERROR: module not found: `hid_cypress'
.
.
.
.
.==> ERROR: module not found: `hid_gaff'
==> ERROR: module not found: `hid_picolcd'
==> ERROR: module not found: `hid_twinhan'
  -> Running build hook: [fsck]
==> WARNING: No modules were added to the image. This is probably not what you want.
==> Creating gzip initcpio image: /boot/initramfs-linux.img
==> WARNING: errors were encountered during the build. The image may not be complete.
==> Building image from preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 3.5.6-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [pata]
==> ERROR: module not found: `pata_cmd640'
==> ERROR: module not found: `pata_ns87410'
==> ERROR: module not found: `pata_via'
==> ERROR: module not found: `pata_cs5535'

Arseburger was shouted loudly.

Dr. Google did not help.

It seems that the kernel modules have moved to /usr/lib/modules from /lib/modules

I put a symlink in /lib to the new location. ln -s /usr/lib/modules /lib/modules

I then ran the install of the kernel again and all was good.

WooHoo! Simple really

Sunday, August 12, 2012

HP NC6120 Laptop Wiress Stopped Working

I have a HP NC6120 laptop for a few years. It is a bit long in the tooth but works perfectly well as a Web Browser Appliance. I have had a number of Linux distributions on it  and it is currently runing Arch Linux.

Anyway, someone, who shall remain nameless, spilled a glass of water on it. I removed the power and all the batteries and let it dry for a few days.

When I powered it up again, it started up perfectly, with no ill effects from it's recent accident.

The only thing was that the WiFi was no longer working.

There was a clue in the dmesg log. It said "radio frequency kill switch is on". What the feck did that mean?

I followed many bread crumb trails that led to dead ends.

I eventually came accross a reference to a program called 'rfkill'. I wired up the laptop and installed the rfkill package.

Running it, I got the following:

[root@daffy ~]# rfkill list
0: hp-wifi: Wireless LAN
    Soft blocked: no
    Hard blocked: yes
1: hp-bluetooth: Bluetooth
    Soft blocked: no
    Hard blocked: no
2: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
3: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no

I simply ran 'rfkill unblock 0'



Running rfkill again, I got the following:

[root@daffy ~]# rfkill list
0: hp-wifi: Wireless LAN
    Soft blocked: no
    Hard blocked: no

And the wireless worked again.

Woohoo! Time for a beer.

Friday, August 10, 2012

USB Temperature Sensor and Linux (Part 2)

I wrote on this a quite a while ago and it seems very popular, so I thought I would write an update

I decided to include some of the files, to make it easier to use.

The first file is temper-1.0.tgz. I got this from the good looking guys over at www.relavak.com.

Here it is here temper-1.0.tgz

I downloaded it, and extracted it with 'tar zxvf temper-1.0.tgz'

Then I downloaded temper.c, which is my modified code.

I copied the temper.c file into the temper-1.0 directory.

Then I ran 'make'.

It produced and executable called 'temper'

Here is the compiled 32 bit version temper_32bit

And the compiled 64 bit version temper

Have fun.

Tuesday, July 31, 2012

Raspberry PI Arduino Shield - Cheap Option

I have a project on the go which I call Project Doorman aka Carlton. It will involve a Raspberry PI, I2C connections controlling a 1-Wire controller which will be connected to a DS2408 switch. I will use an iButton ID keyfob and sensor i got from http://www.homechip.com a few years ago. So, keybob, open the door and Bob's your auntie.

I wanted to have as much of the electronics mounted on the RPI. I have a Slice of PI by ciseco.co.uk but the prototyping space is too small.

I was also looking at the Adafruit Prototyping Pi Plate Kit for Raspberry Pi but that would cost €20 landed. I was going use it, so all the fancy connectors etc., would end up not being used. Feck that, I said. I know the bits would be used on other projects. A penny saved is a penny to squander.

I read about a fella who was talking about using an Arduino Prototyping Shield on the RPI. That sparked an idea.

In my previous researching/playing with Arduinos, I got Budget Proto Shield (x3) from Oomlaut.com. I had one I hadn't used.

So I desoldered the headers, and soldered one on the other way.

Presto Chango, I had a Cheapo Raspberry PI Prototyping Shield/Plate


Here is the Protoshield attached.

it only uses a single line header, which provides access to the I2C pins (3 & 5). I also get 3.3V on pin 1. I will also need access to the 5V pin (2) and Ground pin (6). I probably will put a small header piece to accomodate this and solder some pieces of wire and connect it to the Shield. I don't care really, whatever works.

It is a nice size and definately has the real estate I need.

From the side. I used the space to have it fit on top of the other bits of hardware, in this case, the composite video connector. Everything has to be nice, after all.


Kist the header from different angles.



Here we have the major components that will be used for this project. The red guy is a Logic Level Converter I got from CoolComponents.co.uk. Very cheap and useful. It ensures that I only have 3.3V connecting to the RPI.

The next girl is the Dallas DS2482-800 the I2C 8 Channel 1-Wire Master Controller. I used the Tirna SMT SMD DIL adaptor SOIC 16 PIN NARROW  to mount the DS2482-800. Very Handy and fairly cheap.

The final good buddy is a Dallas  DS2408 a 8 Channel 1-Wire Adressable Switch. Very handy. Again I used the Tirna adapter.

That is about it. I will probably reorganise the layout to facilitate adding extra components. I might add a couple of light sensors, while I am at it.

So, what are the benefits? Cheap and Useful. I don't really need a prototyping board. It is going strainght into production.

Sunday, July 29, 2012

Arch Linux Raspberry PI Wirelss USB Edimax EW-7811Um

I got an Edimax EW-7811Um a few days ago on eBay from Peats, actually. Nice, really small. Just what I wanted for a wireless project I have for the Raspberry PI (RPI) running Arch Linux.

I had a wrestle with it for a few hours, trying to get it working.

I was able to get it working using a number of different sources.

Here all the sources are combined into one Recipe, that works.

I have two RPIs and used this method to configure the card on the second RPI, after the first one was working. so I know it works

I started with a fully upto date OS, e.g. pacman -Syu will do this.


The life saver link was Edimax EW-7811Un USB-Wifi adapter.

Here is what I did:

Download and compile the drivers
 
1. wget http://myplugbox.com/rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622.tar.gz

Get the driver

2. tar xzf rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622.tar.gz

Extract the doings

3. cd rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622

Change to the directory

4. nano Makefile

Change KVER to what the current version is. It's currently set to: KVER := 3.1.9-31-ARCH+

I changed mine to 3.1.9-33-ARCH+

If in doubt use 'uname -a' to get the current kernel version.

5. make

This compiles the driver and takes about 10+ minutes

6. cp 8192cu.ko /usr/lib/modules/extramodules-3.1.9--raspberrypi/

Copy the new driver to a place that will be used to load it.

7. depmod -a

This wil find the new modules and write them to a file called something. I don't care.

8. sync ; reboot

9. Log back in and run lsmod

You should see the '8192cu' listed

So far, so good.

Now to configure for automatic loading of the driver and settings.

10. nano /etc/rc.conf and modify the line

MODULES=(8192cu !rtl8192cu)

This stops the rtl8192cu module that does not work for the USB Device and loads the 8192cu

11. nano /etc/rc.local

This makes sure that the required  programs are run at boot time.

#!/bin/bash
#
# /etc/rc.local: Local multi-user startup script.
#
wpa_supplicant -B -c /etc/wpa_supplicant/wpa_supplicant_special.conf -i wlan0
ifconfig wlan0 192.168.22.132 255.255.255.0
route add default gw 192.168.22.1

12. nano /etc/wpa_supplicant/wpa_supplicant_special.conf

This is all that is needed for wpa_supplicant. The other default settings are OK, I think.

# WPA-Personal(PSK) with TKIP and enforcement for frequent PTK rekeying
network={
        ssid="ESSIDtoUse"
        proto=WPA
        key_mgmt=WPA-PSK
        pairwise=TKIP
        group=TKIP
        psk="secret agent password in clear text or Hex"
        wpa_ptk_rekey=600
}

So far so good again.

13. sync ; reboot

14. Log back in

It might take a few minutes longer to login, as there are two network connection and the RPI may be getting confused.

If you run 'ifconfig', you should see the wlan0 card listed.

15. nano /etc/rc.conf

Comment out the Ethernet settings, so that the wire connection is no longer used.

#interface=eth0
#address=192.168.22.130
#netmask=255.255.255.0
#broadcast=192.168.22.255
#gateway=192.168.22.1

16. sync ; reboot

17. Log back in using the new Wireless IP Address.

Job done. Time for a beer and a quiet smirk.

Wednesday, July 25, 2012

PogoPlug Cheap Deal and Hack

I recently signed up for a PogoPlug Family Backup Offer . It cost €24 in total.

The best thing is that you get a free PogoPlug Pro.

Being a big embedded Linux fan, I was eager to find out if this was one of the hackable devices. It was a cheap price to pay, to find out if it was useful.

It arrived on Friday. The first thing I dis was to crack it open. That was even before I powered it up. I am that sort of guy.





It turns out that it is Model: PogoPlug Pro FCC ID: VUIPOGOPLUG. The one with the Grey/White Symbol on the front. It turns out that it is a hackable device, see Link.

I wanted the smallest USB drive I could get. I went to Power City and got an 8GB drive by someone or other. Picture here:



So, I horsed over to http://archlinuxarm.org/platforms/armv6/pogoplug-provideov3 and followed the recipe to install Arch Linux on the device. It worked like a charm.

Another Arch Linux box joins the Empire.



It has some wireless card and a SATA port and of course a Gigibit Ethernet port. Ultra cool to build some sort of data/file server or anything really.

I think I will investigate the possibility of connecting an SATA drive to it and use for centralized MyDocuments and Photographs.

Only the Windows client can take advantage of independent storage on the PogoPlug cloud. I may incorporate that into a general offloading plan. We will see.

The best thing is 'Cheap PlugComputer' and benefits that could be used.

Win. Win. Win.

Thursday, July 5, 2012

Raspberry PI 1-Wire I2C OWFS

I wrote this a few weeks ago and forgot to post it.

I received a Raspberry PI recently. It looks great, nice and small.

I have been playing with PlugComputers, such as the SheevaPlug and the Seagate Goflex series for a few years. They form the basis of my low power computer systems that are on 24x7. The Raspberry PI is just like one of them but with a few extra facilities.

Getting up and running was a breeze. I simply downloaded the image, by bittorrent, if I remember correctly. It only took a few minutes.

I blew it onto an SD card and powered it up. Hey Presto! it worked. I was able to determine it's IP address and ssh in to have a look around. Perfect.

I didn't have a HDMI cable to hand, so I used a composite cable to connect it to the TV. It worked but the quality was not the best. Moved on.

I was wondering what to use the PI for. I still don't know.

I came across an article talking about using the PI with OWFS. http://raspberrypi.homelabs.org.uk/


OWFS stands for One Wire File System. 1-Wire is a technology developed by Dallas Semiconductor (Maxim-IC), that actually uses 2 wires to communicate with devices such as temperature sensors, switches, voltage detectors, a/d converters and so on. I use it extensively throughout the house to measure temperature and control things. One of the great things about the 1-Wire devices is that they are pretty cheap.

On the Raspberry PI, there are a number of input/output pins. The ones of interest in relation to 1-Wire stuff are the I2C pins. I2C is basically a serial protocol. It is the building blocks that USB and SATA are built on.

The good thing is that Maxim-IC make a number of I2C to 1-Wire controllers. These are the DS2482 and DS2483. There are probably others also.

So, the possibility to connect the chips directly to the PI was real.

I was able to acquire a couple of DS2482s from a friend of mine. I had to mount them on a 16 way SOIC to DIP converter.

The OWFS system was easily compiled from source on the Raspberry PI and installed.

I then began the search for the I2C drivers.

This was a hard one. I found many forums that resulted in a dead end. Many kernels were compiled and failed. I couldn't get/build a kernel that would work with the drivers installed.

I found a fella that had a pre-built kernel built for Debian. I use Arch, which is pretty different in it's config, even though it is Linux.Here is the link I used http://www.bootc.net/projects/raspberry-pi-kernel/ I also installed the latest firmware.

Anyhoo, I was able to install the new kernel and modules and boot a workable system. Cool.

All the quick checks were good.

I then wired up the chips, DS2482, and started  the main program owserver. Hey presto, it worked.

I wired a couple of DS18B20's and could see them and read temperatures. Success.

I love this embedded Linux crap.

Raspberry PI Stuff and Building a Case

My Raspberry PI arrived a few weeks ago.

I tried both the Debian and Arch Linux boot images.

I don't have a convenient HDMI TV to play with, so I settled on the Arch version.

It suites me better, as I really wanted to use it as another Plug Computer, to do something with.

What to do with it? I am not sure yet. There will probably be something Home Automation related.

I am a big fan of the 1-Wire technology, for temperature sensors and control, so I compiled the latest version of OWFS on it. It worked fine with the USB 1-Wire controller.

The RPi has an I2C interface, so I decided to get my hands on a couple of  DS2482-100s and DS2482-800s. These are I2C to 1-Wire controllers. After a bit of messing about, I was able to address the conrolllers using OWFS.

That will be a furure post, hopefully.

I was looking for a suitable plastic case fir the new toy. There are quite a few about and rather pricy for what they are. I liked the one on SKPANG. Including postage and VAT, it would come in at about €20.  As my friend Ber would say 'Balzac' to that.

I came accross a post by Pecker Dunne on raspberrypi.org http://www.raspberrypi.org/phpBB3/viewtopic.php?f=40&t=9165&e=0

I was able to get a small sheet of perspex. Using youtube, I was able to determine that the 'score and snap' method was the best and cleanest way to get the pieces I wanted.

I made a few attempts. Two sheets of perspex and some No4 screws and nuts. I got some plastic washers to hold the board. It was just the job.






Attempt 2. In the presious version, I had put the screws too close to the IO header.



I also decided to make a breadboard version of it, to add breadboards and a USB hub.

I found that 3 screws would hold the RPi quite tightly and was easier to position the top piece.




Add a 10 port powered USB Hub


Some Breadboards
 

A Nanode and Xino Basic Arduinos for completeness.


I plan to use the slim breadboard for connections from the RPi headers and the larger one for the various components.

I sized the main plate, based on a plastic box with cover I have. Everything fits in and can be safely stored between project activity.

The next investigation will involve the Ciseco Slice of PI and the XRF radio module.





Saturday, June 16, 2012

Wireless Doorbell Amplifier

The Mater's doorbell started to become unreliable. The wires were pastered in concrete, so troubleshooting was pretty much out of scope.

I got 3 Homeeasy wireless doorbells and programmed them to one button transmitter. I put the plug-in unit in three different rooms.

Everything worked fine. The major issue is that the sound produced when the button is pressed was not very loud.

A new project was born.

Being a cheapskate Northsider, I decided to go for the best value option.

This would include buying the least abount of stuff and repurpose some parts I already had. I had a fairly small speaker box from a now defunct Hi-Fi unit. A 5V power supply which was an old Nokia phone charger. Some wire.

I got an amplifier kit from BitzBox.co.uk for £4.99.
http://www.bitsbox.co.uk/kits/projectkits.html

So cheap, what could possibly go wrong. Everything is included, as can be seen from the photo.


The instructions are quite good. I put it together and it worked first time. Woo hoo!! I have to say, it is a great kit and excellent value.

I dismantled the plug-in unit and connected two wires to the speaker leads. These wires were connected to the input on the amplifier board.

Connected up the power supply to the board and the speaker cables to the output connectors.

Tested it, all OK. Woo Hoo again!

Lastly, I hot glued the board onto the back of the speaker. I tried to open the speaker box, but it was too dense, so no joy there. Anyway everything will be hidden away, so hot glue was a good choice.

Anyway, I installed it in the Mater's house. Everyone was happy.

Job done.


Wednesday, May 23, 2012

Best Cajun Spice Mix

 
Cajun Spice Mix A handy mix using fairly ordinary ingredients. I like grinding my own pepper, as results in a more aromatic product. I have a grinder, I use for spices and one for coffee. You really need two grinders, as hot hot coffee is not great.


This mix gives a reasonably hot result, the pepper also gives a fairly smokey flavour. Mmmmmm.... 

If you are using fine ground black pepper, you will need to reduce the amount by 1/3. Otherwise it is very hot.

 
70 Grams Course Ground Black Pepper

26 Grams Garlic Powder

50 Grams Paprika

25 Grams Salt

7 Grams Dried Origano

10 Grams Dried Parsley

Mix together

Great with Chicken, Pork, Potato Wedges or basically anything.

To use just place the food in a bowl and sprinkle sufficient powder.
I suppose you need enough to cover the food.

Then grill or barbacue. It can be fried but it burns easily and creates loads of smoke.

Monday, April 2, 2012

DIY Cold Smoker

A while ago, I got a present of a Cold Smoke Generator http://www.macsbbq.co.uk/CSG.html. I used a cardboard box as a smoker and started smoking.



Very easy process. There are instructions  at the above link.

I had a few smoking sessions which were very successful. I used bacon, cheese and salmon. Fantastic result. I also tried some if the Bratwurst from Lidls.

The Cold Smoke Generator is basically a metal tray, with a spiral, where you put wood dust in it. You light one end of the dust and it smoulders for about 8 hours. Very cool idea.

I decided to build a wooden smoker. I wanted one that I could dismantle and out together easily, i.e. store when not in use.

I wanted 4 racks, which is more then I had with the cardboard box fella.

I headed out to B&Q, because they have a greater range of stuff.

I got a couple of sheets of plywood, 3m x 60cm x 3mm or so.

I also got some of the following:

Some battons. I had some already, so I got what I needed.

4 x food racks (I think I got them in HomeStore&More in Blanch. Fairly pricey.)

Draft proofing tape. I got some about 5 years ago, for a different project. It was brown, but who cares.


I already had loads of screws. I like the brass Philips type. They are called chipboard screws. I use them for everything.

Some long set screws with normal nuts and extra wing nuts.

The dimensions I used were:

61cm High

Two sides were 55cm wide. These will have the rack battons on them. Lets call them sides.



Two sides were 35cm wide. Nothing here. Let's call them front and back.



1. Make the frames. I drilled holes first and screwed. Easy and had no wook splits. Use lots of screws. I wanted 10cm between between the racks on the side frames. Work it out.
2. Drill holes in the front and back frames for the long set screws
3. Drill some larger holes on the outside of the front and back frames to sort of countersink the normal nuts on the set screws.
4. Mark the top of the frames with a number to reflect how they will be put together.


5. Drill holes from the front and back frames through the side panels. See above.
6. Fit the set screws and get the countersunk nuts recessed.
7. Cut the plywood to the required size for the various frames.
8. Again use loads of screws to fix the panels to the frame. It needs to be fairly air tight, obviously.
9. You can now assemble it. Use the wing nuts also.
10. Make the lid.


11. Make a frame that fits the assembled structure. Loads of screws.
12. Cut a plywood panel that fits the frame. I had of a hangover to prevent any rain problem.
13. Disassemble. Add the Draft proofing tape on all the seals, including the lid.
14. Done.

Ready to SMOKE.

Here are some other photos:






Simply whack in the Cold Smoke Generator and off you go.

The most recent smoking involved some back bacon, mild cheddar and salmon.

The bacon and cheese turned out fantastic.

The salmon was an epic fail. I cured it for two days before smoking it. It turned out quite nice but way way too salty. I couldn't any more then a few thin slices. Better luck next time.

Top tip with the Cold Smoke Generator:

1 or 2 days before you are going to use it, take out the wood dust and let it dry properly. I have found that the wood dust really likes dampness, and unless it is perfectly dry, can be a pain to get smoking.




Arch Linux Stora Error - Fixed

I kept getting the following error repeated every gew seconds, filling up the log files like crazy.

unable to receive ctrl connection: Function not implemented

I found this after a bit of research

 ##in /etc/rc.local add
kill $(pidof udevd)
sleep3
udevd &



A reboot later and no problem.


It seems there was some problem between between different versions of udevd

Tuesday, March 6, 2012

Arch Linux on a Netgear Stora

I got one of these recently.

It is basically a Plug Computer, with the following specs:

My goal is to put Arch Linux on it. It seems that no one has done this yet.

What I am going to do, is set-up the system with Debian, which boots from the hard disk. There a number of recipes around to do this, particularly on the openstora.com site. I am following this one http://www.openstora.com/phpBB3/viewtopic.php?t=217

It did not contain all the information, so I thought about writing this walk through and fill in some blanks.

What you need to start is a USB serial cable. I got a Nokia phone data cable from eBay for a few Euros. Cut the end off the cable and solder some header thing on it. I used and old PC motherboard cable that I chopped up.

You also need some method to access the disk as a USB device. I used an old dismantled external drive controller board, which was handy.

To remove the back panel, you need to remove the two screws behind the Disk Release Latches. There are two of those nasty plastic clips about 5cm in from each side. There are two more of these nasty fellas about 9cm down from the top on the left and right side. Gently prise the panel with a small screw driver and it should pop off. Pop it off from the top as there are two clips on the bottom of the panel. These can be seen when looking at the bottom of the case.


You can see the serial port pins at the top of the board.

The pin-outs are from right to left:

Pin     Function     Notes
1     3.3Vdc     Pin is the farthest from the battery.
2     RXD     Recieve Data line from Stora.
3     TXD     Transmit Data line from Stora.
4     GND     Ground.

I will be using 2, 3 and 4, as I have cable made from an old Nokia USB data cable.


I installed  tftp-hpa on the laptop, as the tftp server.

Connect stora to real network

Set-up environment for flashing.

setenv mainlineLinux yes
setenv arcNumber 2743
setenv ipaddr XXX.XXX.XXX.XXX   #This is the IP of your Stora
setenv serverip XXX.XXX.XXX.XXX #This is the IP of your TFTP server
saveenv
reset

The install the files from your tftp server


tftpboot 0x200000 uImage.di
tftpboot 0x800000 uInitrd.di
setenv bootargs console=ttyS0,115200n8 base-installer/initramfs-tools/driver-policy=most
bootm 0x200000 0x800000


This will install Debian to the hard disk.

The disk partitioning takes a long time, 40 minutes or so, so go and have a cup of tea or a beer. I wouldn't recommend reboot at this time, cuz I don't know what state the Stora would be in. Perhaps and expensive brick.

Then, it begins installing the system..............

I then followed the remaining instructions on http://www.openstora.com/phpBB3/viewtopic.php?t=217

I got quite a few errors but kept going.

Presto chango! Debian!

aka FAIL

It wouldn't boot. Feck again.

I scrolled down further on that page and began to experiment a bit with the settings.


setenv bootcmd_ide 'ide reset; ext2load ide 0 0x200000 /boot/uImage; ext2load ide 0 0x800000 /boot/uInitrd'

setenv bootcmd 'setenv bootargs $(console) root=/dev/sda1; run bootcmd_ide; bootm 0x200000 0x800000'

saveenv

reset

Again FAIL. Again Feck.

I took out the drive and connected it via USB to my laptop.

I ended up with a single partition that had some GPT data in the partition table

# fdisk -l /dev/sdb

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk
doesn't support GPT. Use GNU Parted.

Feck again.

I used this link to remove it http://www.rodsbooks.com/gdisk/wipegpt.html

All cool.

Install Arch Linux

My next plan, was to prepare the disk and put an arm version of Arch Linux on it.

What you need is, the board ot whatever to connect your SATA drive to a USB cable. Connect it up.

Mine was /dev/sdb

Partition New Disk

I wanted to have the following disk layout:

/dev/sdb1 = 2Gb plenty of space. I don't want to have to worry that it will fill up and require maintenance at a later date.

/dev/sdb2 = swap of 1Gb

/dev/sdb3 = The rest of the disk


I have taken out some of the disk detail because it just clutters up the page.

> fdisk /dev/sdb

Delete whatever partitions are on the disk.


Command (m for help): p

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-3907029167, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-3907029167, default 3907029167): +20G

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (1-4, default 2):
Using default value 2
First sector (41945088-3907029167, default 41945088):
Using default value 41945088
Last sector, +sectors or +size{K,M,G} (41945088-3907029167, default 3907029167): +1G

Command (m for help): n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
Partition number (1-4, default 3):
Using default value 3
First sector (44042240-3907029167, default 44042240):
Using default value 44042240
Last sector, +sectors or +size{K,M,G} (44042240-3907029167, default 3907029167):
Using default value 3907029167

Command (m for help): p

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41945087    20971520   83  Linux
/dev/sdb2        41945088    44042239     1048576   83  Linux
/dev/sdb3        44042240  3907029167  1931493464   83  Linux

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap / Solaris)

Command (m for help): p

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41945087    20971520   83  Linux
/dev/sdb2        41945088    44042239     1048576   82  Linux swap / Solaris
/dev/sdb3        44042240  3907029167  1931493464   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Done

Set-up the file systems and install Arch and Kernel files


I wanted to have journeling so I setup /dev/sdb1 to ext3. It should be reognised as ext2 on boot.

mkfs.ext3 /dev/sdb1

mkfs.ext4 /dev/sdb3

Mount /dev/sdb1 and cd to the mount point

wget http://archlinuxarm.org/os/ArchLinuxARM-armv5te-latest.tar.gz

extract the Arch linux tarball to the root of /dev/sdb1

e.g.

tar zxvf /location/ArchLinuxARM-armv5te-latest.tar.gz


kernel image: http://dl.dropbox.com/u/1397036/stora_di/uImage
initrd image: http://dl.dropbox.com/u/1397036/stora_di/uInitrd

wget the images and copy them into the boot directory of /dev/sdb1

Almost complete.

Finally put the disk back in the stora in the left slot.

Boot into the uBoot prompt.

Here are the settings I found that worked.

setenv mainlineLinux yes
setenv arcNumber 2743
setenv bootcmd_ide 'ide reset; ext2load ide 0 0x200000 /boot/uImage; ext2load ide 0 0x800000 /boot/uInitrd'
setenv bootcmd 'setenv bootargs $(console) root=/dev/sda1; run bootcmd_ide; bootm 0x200000 0x800000'
saveenv
reset

Let it run and it should boot into Arch Linux.

Woo Hoo !!!


Restore Original Firmware

It seems that the original firmware is stilled in Nand. To restore this use the following:

setenv mainlineLinux=no
setenv arcNumber
setenv bootcmd_ide
setenv bootcmd 'nand read.e 0x800000 0x100000 0x300000; setenv bootargs $(console) $(bootargs_root); bootm 0x800000'
saveenv
reset

Back to Arch Linux

setenv mainlineLinux yes
setenv arcNumber 2743
setenv bootcmd_ide 'ide reset; ext2load ide 0 0x200000 /boot/uImage; ext2load ide 0 0x800000 /boot/uInitrd'
setenv bootcmd 'setenv bootargs $(console) root=/dev/sda1; run bootcmd_ide; bootm 0x200000 0x800000'
saveenv
reset 


The End

Now to put it back together, set it up with the services I want and put it into production as a house file server and some other sneaky things.


















Wednesday, February 15, 2012

Bloody Dovecot Error Solved

I added an email account to my email server recently. No problem.

My mail set-up is Arch Linux, Postfix and Dovecot. Thunderbird as a client using Imap.

The problem was, I was getting the following error:

Error: user newuser: Initialization failed: mail_location not set and autodetection failed: Mail storage autodetection failed with home=/home/newUser

Feck!!!

The google machine didn't help.

It took a while, but the solution was to edit the file /etc/dovecot/conf.d/10-mail.conf

Add the line:

mail_location = mbox:~/mail:INBOX=/var/mail/%u

and restart dovecot. Problem solved.