Sunday, 11 February 2018 20:55

My secondhand Canon 7D suddenly developed a "Cannot Communicate with Battery" warning recently. I didn't think much of it at the time as the camera still worked perfectly. The only minor annoyance was that the battery power indicator no longer appeared on the top LCD window or in the battery details screen in the main options panel. However, the problem became far greater when a week later I grabbed my camera to head to a small school event only to realise that the previously fully charged battery was now empty despite next to no usage.

Wednesday, 25 February 2015 11:23

Until recently, Eircom's fixed-line ADSL service was just about adequate for my broadband needs. But at over 4km from the exchange the average speeds of around 1.5Mbps download and 0.4Mbps upload have become primitive in comparison to what's available from the newer fibre and mobile broadband services starting to roll out across the country. Things took a turn for the worse a few weeks ago when, despite repeated calls to Eircom support, the best stable speeds I could get dropped to about 0.54Mbps. I even took a screenshot. Something to show the grandchildren in years to come:

Eircom ADSL Speeds

The main contender as an alternative to Eircom fixed line is Vodafone Mobile Broadband. We've been lucky to have a really good Vodafone 3G signal in the area where I live (the village of Dualla) the past few years. Fortune shone again about 6 months ago when a 4G signal became available - despite it still being unattainable in more built-up areas close to us, like Thurles, for example.

Other providers such as 3 and O2 offer plans with more data but their signal is non-existent in our area. And while there are other wireless alternatives available in the area, such as Premier Broadband for instance, their packages are currently not much ahead of Eircom in terms of bandwidth (around 2MB up/down) and there's also no guarantee their service will work due to line-of-sight issues.

So I decided to experiment with two possible solutions: Vodafone and Meteor. Both plans have cooling off periods meaning I could try them both for 7 days (14 days in the case of Vodafone) with the option of a "no quibble" return and refund if they proved unsuitable.


Vodafone have easily the best quality signal and the Huawei R215 device that came with the package detected a 4G connection almost anywhere in the house.

Huawei R215

The best location however was the attic where I could get speeds of around 18Mbps and ping times of 30 - 45ms.

Vodafone 4G Speeds

So what's the problem? The main impediment so far with moving to a 3G or 4G service has been the lack of a plan with unlimited data. Because I do a lot of work from home I could easily go through 40-60GB of data a month. But the best Vodafone can offer at the moment is a plan with a data usage limit of 20GB. This is paltry; especially in terms of 4G bandwidth. Another annoying factor is that Vodafone require a minimum 12 month contract at about €30 per month -- I don't want to be tied into something for this long.

The real deal breaker however is that I want to hook the modem into a TP-LINK MR3220 3G/4G router I have so I can distribute the signal around the house. Try as I might I could not get it to detect the R215 device no matter what settings I used.

So, while a great performer in terms of speed, the Vodafone solution had just too many niggly issues to make it a runner.


The Meteor router came in the form of a Huawei E5377. The package is branded as XXL and costs 24 euro per month including VAT and the data usage limit is 30GB.

Huawei E5377

When I initially turned it in I could only get a 2G signal. I had feared this as my understanding was that Meteor shared the O2 network which has a very poor reception around here. To my surprise, however, when I took the router into the attic I was able to get a strong 3G signal. Here's a sample speedtest:

Meteor 3G Speeds

So while Meteor's 3G speeds were around half the speed and double the ping times of the Vodafone router's 4G signal, it was still more than adequate for my requirements. And at 6 euro cheaper per month and only a 6 month contract it was starting to look like a runner. The best was yet to come. The TP-LINK 4G router detected it within moments of plugging the E5377 into its USB port.

The only concern was that even at 30GB a month, it may not be enough before incurring excess charges. So I tried it for a few days and found that I was averaging around 1GB a day. This included a few Webex sessions with work and almost constant VPN connectivity to the office. So with some care it would certainly be possible to keep things within the 30GB limit if I avoided streaming video and the like. And if I did need more data Meteor offer an add-on of 20GB for 20 euro which would bring my limit up to 50GB; all for €44 a month.

So I returned the Vodafone router and opted for the Meteor package.

The Setup

As mentioned already, the wifi signal on a small mobile broadband router like the Huawei E5377 or R215 is never going to be strong enough to broadcast around the entire house. You can get around this by using a dedicated 4G router that will greatly extend your wifi capacity and provide ethernet ports for additional devices such as file servers, printers etc.

I already had a TP-LINK MR3220 3G/4G router I picked up some time ago and until now was lying unused.

TP-LINK  MR3220 3G/4G

This router has a USB port on its side that will take the connection from the Huawei E5377 and automatically relay its internet connection.

Because these devices must reside in the attic in order to catch the best reception, I also need a way of bringing the signal downstairs to another router under my stairs where my file server resides and where I broadcast another wifi signal. To do this I got a set of TP-LINK 300Mbps AV200 Powerline Extenders.

TP-LINK 300Mbps AV200 Powerline Extenders

One plugs into an attic socket. It takes an ethernet cable from the MR3220 and sends the data down to the second plug downstairs. This second home plug broadcasts the data it gets from the attic over its own wifi. It also has two ethernet ports, one of which connects to a NAS server.

Below is a schematic of how it all hangs together. A bit convoluted, no doubt, but it works well. I'm hoping there's a way I use WPS to perhaps cut out the TP-LINK router from the chain but I've had no joy so far trying to get the powerline adapter play nice with the Huawei E5377.


Full Setup

Update #1

The setup has been in place a few months now and is generally working well and the 3G/4G speeds are a much needed improvement over the miniscule 1MB speeds were were living with. There's been no huge downsides apart from the odd day or two where the 3G signal in the area went AWOL. I'm also finding it virtually impossible to stay within the data 30GB limit. It's a lot closer to 50MB and sometimes even more. I've therefore had to purchase a monthly 20GB add-on giving me 50GB a month by default. Some months I've had to buy an extra 15GB on top of all that just to get me over the line. This brings the cost up to roughly €60.

One interesting thing to note was that the MR3220 had some trouble dealing with the Huawei E5377 switching between 3G and 4G signals depending on the network quality on a particular day. This caused the MR3220 to lose its connection entirely with the E5377 entirely and required a restart. This problem was resolved by configuring the E5377 to only use the 3G network so no switching occurred thereby stopping the MR3220 from getting confused.

In addition, the 4G signal in the area seems to have strengthened and I'm now getting on average 25Mb download speeds. Happy days.

Update #2

Andrew L got in touch to say that an external antenna he purchased for use with his E5377 made a huge difference to the signal reception. Prior to using the antenna he was barely getting a 3G signal indoors and could only get 4G when the dongle was held out an upstairs window. His speeds went from approximately 1Mb to almost 40Mb.

Also worth noting is that Andrew uses a Netgear N900 (WNCE4004) 4-Port Wi-Fi adapter to connect to his Meteor broadband router wirelessly instead of via USB. I think this is a better solution than the TP-LINK MR3220 as it bypasses any compatibility issues you might get connecting a mobile broadband dongle to a router via a USB cable.

Friday, 26 July 2013 14:22

Check out the new website for this year's Dualla Show:

Dualla Show

Sunday, 29 July 2012 20:14

A convenient way to browse files on a networked drive is to map its location to your operating system so that it automatically connects to the drive each time it starts up. Mapping networked drives on Mac or Windows is pretty straightforward using the Mac Finder and Window's explorer GUIs and both give you an option to automatically reconnect on startup. On Linux however, a little more work is involved to automatically map network locations, so this article will describe how to map network drives on a machine running the Ubuntu flavour of Linux.

Mapping network drives on Linux is called mounting. For example, if you have all your photos on a networked drive you'll need to mount this directory onto your Linux desktop in order to access it. In Ubuntu, network mounts are temporary by default. This means that the next time you restart Ubuntu it will not remember to remount the network drive from the last time you did it. This can be annoying when you want to permanently mount a network drive you will be using a lot. To mount a network drive permanently you will have to add a line to your file /etc/fstab. This file tells Linux what drives you want mounted on boot up. You need to add a line similar to the existing ones, depending on your exact setup.

In my case, I keep all my photos centrally on a ReadyNAS file server that sits and runs in a closet under my stairs. I also have a collection of Windows, Mac and Linux laptops/desktops in the house. When anyone wants to look at the photos they just need to connect to the server and navigate to the /photos directory. Since ReadyNAS servers come with built-in support for numerous file protocols all of these systems can access the photos on the ReadyNAS drive using the most suitable protocol.

So what file protocols exactly? Looking at the ReadyNAS configuration panel you'll see that it includes support for CIFS, NFS and AFP. CIFS stands for Common Internet File System and was largely developed by Microsoft for Windows operating systems (it's in fact based on a protocol called Server Message Block and therefore CIF is sometimes referred to as SMB). NFS is the Network File System for Unix and Linux operating systems. Finally, AFP is the Apple File Protocol and is used by machines running a Mac OS.

Linux machines have in fact two choices: connect to the ReadyNAS using CIFS or NFS. So what's the difference? It boils down to security. CIFS is generally the better choice when working within an open network. NFS can be less complicated but is only really suitable within a secure network due to its lack of security. I'm chosing to take the CIFS route so let's see how that's done.

Allowing a Linux system to access a Windows CIFS file system is done using Samba. Samba is a free software re-implementation of the CIFS networking protocol designed to enable Windows operating systems and non-Microsoft operating systems to connect. Samba is now standard on nearly all distributions of Linux. Connecting to a CIF file system from Linux is therefore simply a matter of using Samba's client application which is called smbclient (you only need to install the Samba server if you wish to allow Windows machines to access a Linux file system).

Start by installing the necessary Samba utilities:

  1. Install smbfs and smbclient(the Samba File System & Samba client) on your machine using the following command:
    sudo apt-get install smbfs smbclient
  2. Once installed you can check what directories are shared on your network drive using the the command smbclient -L [server] (replace [server] with the IP address or DNS name of your CIFS server). In this example the IP address of my ReadyNAS server is so the command is:
    smbclient -L
    This should display a list of all the currently shared directories on the file server. Here's an example:
    Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.34]
    Sharename       Type      Comment
    ---------       ----      -------
    IPC$            IPC       IPC Service (ReadyNAS)
    video           Disk      Videos
    shared          Disk      Public directory for everyone's use
    photos          Disk      Family photos
    music           Disk      Everyone's Music
    media           Disk      Media downloads
    Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.34]
    Server               Comment
    ---------            -------
    READYNAS             ReadyNAS
    Workgroup            Master
    ---------            -------
  3. To mount the photos directory on my machine I'll begin by first creating a local folder that will act as the mount point. Here's the command that will create a mount directory in /home/dermot/Desktop/photos:
    mkdir /home/dermot/Desktop/photos
  4. The next step is to test that the mount will actually work using the following command:
    sudo smbmount // /home/dermot/Desktop/photos -o
    If this works you should see a /photodirectory mounted on the Desktop. Unmount it again using the following command:
    sudo smbumount /home/dermot/photos 


Getting drives to mount automatically

So now that we've established that the mount works, we can move on to configure Linux to mount this drive automatically each time it starts. This is done by adding the above command to a file called /etc/fstab.

  1. Open the /etc/fstabfile for editing:
    sudo gedit /etc/fstab
  2. Add the following line to the end of the fstab file:
    // /home/dermot/photos smbfs auto,credentials= 
    /home/dermot/.smbpasswd,uid=1000,unmask=000,user 0 0
  3. Run the remount command:
    sudo mount -a
  4. Navigate to the /home/dohalloran/Desktop/photos mount directory.

    For more information mounting drives in Ubuntu see:


Handling password protected directories

If your network drive is password protected then you'll need to include your username and password details in the mount command. There's a way of doing this that's secure.

  1. When mounting a password protected directory the login details are specified as follows:
    sudo smbmount // /home/dermot/Desktop/photos -o
  2. However, because the fstab file is located in the /etc directory it means it's visible and accessible to everyone. This is not a good idea as your username and password will be visible to everyone. So a way around this is to store the username and password in a separate, secure file and simply reference it from the fstab file. So let's create that file first. Do it in the /rootdirectory as follows:
    sudo gedit /root/.credentials
  3. Add the username and password to the newly created file so they appear as follows:
  4. After exiting and saving the file, make it read-only so no one else can access it and see your credentials. This is done using the chmodcommand as follows:
    sudo chmod 600 /root/.credentials
  5. Next, open the /etc/fstabfile for editing:
    sudo gedit /etc/fstab
  6. Update the line in your fstab file as follows:
    // /home/dermot/photos smbfs auto,credentials= 
    /home/dermot/.smbpasswd,uid=1000,unmask=000,user 0 0
  7. Remount to test things by run the remount command:
    sudo mount -a


Tuesday, 20 March 2012 06:57

Code listings are often rendered badly in online articles and blogs making them difficult to read and understand. A nice utility to help format and display code within HTML is Alex Gorbatchev's widely used SyntaxHighlighter. It is developed in JavaScript so runs in any modern browser. Numerous Joomla implementations of SyntaxHighlighter exist in the form of plugins (have a look here: The one I used is called Joomler SyntaxHighlighter and was developed for Joomla 1.6 but works in Joomla 2.5 also. It enables you to display nice code listings like this:

function foo()
 if (counter & lt;= 10)
 // it works!

Simply install and enable the plugin in your Joomla installation and highlight any of your code snippets by including some properties within the <pre/> tag while in HTML editing mode. For example:

<pre class="brush: js; gutter: true;"}
 function foo()
  if (counter &amp; lt;= 10)
  // it works!

The SyntaxHighligher supports a whole bunch of brushes including JavaScript, PHP and even Bash. it also includes an auto brush facility which can automatically analyze the code listing to determine what brush to use if you don't specify one (it defaults to plain text).

Note that when using the preformatted style (i.e. the <pre/> tag) you will need to escape all right angle brackets must be HTML escaped (meaning all < must be replaced with &lt;).

Here's a bash example:

sudo ./

Some links: