Linux

This article explains how to set up networking so as to connect an Arduino with Ethernet shield via a laptop running Linux to a wireless network. The traffic from and to the Arduino is forwarded from the laptop's network port (eth0) to the wireless port (wlan0) and then to the internet.

Note that this is a generic way of setting up network bridging under Linux and that it is not related to the kind of device that is being connected. I use it here to hook up an Arduino but the exact same method will work for Raspberry Pis, other Linux/Windows computers, network-capable televisions, etcetera.

This method is tested on an Arduino Duemilanove (ATmega 328, the 168 is really too small for all the ethernet code) and openSUSE 12.3 (kernel 3.7.10).

I use good old YaST and a little command line editting, for both you will need to have root permissions. It is assumed that you have your wireless internet connectivity working already. If this is not the case then you have a bigger problem ;)

So a couple of months ago I bought a ReadyNAS Duo for my online personal backups and to host the Logitech Squeezecenter software that I use for streaming audio in my home. It serves its purpose very well and I'm very happy with it (although the Squeezecenter software itself is a little sluggish, but then, what do you expect from a 186 BogoMips Sparc CPU).

My computer is a laptop (running openSUSE), and when I make backups or access my music collection on the NAS, I mount its file systems (wirelessly) over NFS. Here are the fstab entries for that (the NAS is called 'betelgeuse', by the way):

The only problem I had with this setup is when I suspended my laptop with NFS file systems mounted and then later powered it up again at a moment when the NAS was not available. In that case the system would be confused and whenever I tried to access a file system, lock up completely. Only a reboot would get me out of that situation.

This is an attempt to share my knowledge about the installation of SUSE Linux 9.1 on a Jewel Topaz 9500 laptop.

Although not unfamiliar with Linux I still was a little apprehensive when I had to shop for a new laptop (my previous one, a Sony Vaio, having been stolen). The Vaio (which ran SuSE 8.2) still had some problems that were difficult, or impossible, to solve and I didn't want to spent a lot of time getting some Linux-unfriendly laptop up and running. But a friend of mine just bought a laptop himself after weeks of research, and installed 9.1 on it without problems. Trusting him, and taking the easy way out, I bought myself a Jewel Topaz 9500 too.

After upgrading to 11.1 (from 11.0) I was no longer able to use my USB scanner as a non-root user. The scanner software (I use vuescan) would say "No scanner was found attached to your computer."

It turned out that the permissions on the USB device were incorrect.

When a USB device is plugged in, the udev dynamic device management system creates a file /dev/bus/usb/<bus>/<device> through which the device can be accessed. This file, by default, is owned by user root,group root, and it gets the permissions 0660. This means that a 'normal' user can't access it.

I don't know much about udev, but I found out that it runs custom scripts at the moment that a device is plugged in. These scripts are located in /etc/udev/rules.d (at least, on openSUSE, other distros may have it located somewhere else). Poking around, I found a script called 55-libsane.rules, which contains rules for a lot of USB scanner devices. And as luck would have it, my device was mentioned in there, it was just commented out.

This means that, when udev detects a device type '400e' from vendor '0686', it'll change the devices permissions to 0664 and place it in the group lp (I don't know what the libsane_matched environment variable does, but I don't think it matters here). You can find out the vendor/devices IDs for your scanner by plugging it in and then examining the last lines in /var/log/messages.

To run this udev rule, all I had to do (as root) was:

edit /etc/udev/rules.d/55-libsane.rules, uncomment the line for my scanner (i.e. remove the '#' at the beginning of the line)

In December 2007 I bought an Asus Z53SC-AP132C to replace my ageing Jewel Topaz 9500 notebook. The Jewel's CD/DVD drive electronics had burnt out and the wireless was never very user friendly.

The Z53SC is Mycom's model name for what Asus calls an 'F3Sc'. It comes with a lot of goodies which are quite well supported by current versions of GNU/Linux kernel, drivers and 'userland' software. I took particular care to select a notebook with a supported graphics card and wireless network card, since I did not want to spent a lot of time hunting for workarounds or hacks. Been there ;)

I booted the system only once with Gutsy Gibbon and that worked pretty well, but since I have been using SuSE for years and years, it's a logical choice to install the latest (10.3) version of openSUSE.