UNIX

Linux, IRIX, Unices in general

Realtek r8168 driver for Linux 3.8 & 3.9

For a long time, the only way to get the full functionality out of NICs which use the in-kernel ‘r8169’ driver was actually to eschew using the driver all together! Realtek offered their own driver, somewhat confusingly named ‘r8168’. This is available from their own highly unreliable FTP server, or from Google Code. This meant that whenever a new kernel was released you then had to await an update from Realtek before being able to upgrade.

However, the most recent r8168 release, version 8.0035.00, was released towards the end of December 2012 – and, whilst it builds against Linux kernels up to and including 3.7, it doesn’t work with kernel 3.8 or kernel 3.9.

… so I took a look at the r8169 source, and it looked suspiciously as if:

  1. It has been updated;
  2. It supports to specific Realtek device I’m using;
  3. It has full 9k Jumbo-frames support.

Finally, after several years, there’s no longer any need to use a proprietary driver in order to have full-sized frames!

It would, of course, have been nice if Realtek had posted a simple message saying that they were no longer updating their driver as the in-tree driver has now caught up in terms of functionality.

The interesting thing will be to see whether the occasional (every 3-6 months or so?) kernel panic within the networking subsystem will now also have gone away…

Compiling a new Raspberry Pi kernel

The stock Raspberry Pi kernel, as supplied with the default Raspbian distribution, is pretty good – albeit not always especially streamlined. However, building a custom kernel with different options can be an unexpected minefield: many seemingly innocuous changes can cause the Pi to fail to boot – often with the VideoCore system failing to initialise or with USB networking problems.

There follows a list of patches and observations which should hope to make this process less trial-and-error…

More

github.com repo for Gentoo ebuilds!

https://github.com/srcshelton/gentoo-ebuilds

That is all.

Gentoo openrc-0.11.5.ebuild which doesn’t mandate migrating to /run

The general consensus amongst distributions is that requiring /var/run to be moved to /run is a good thing(tm) – or, at least, a battle not worth fighting.

I note that the “you have to pre-mount the partition from an initrd” which is now being applied to /usr doesn’t appear to apply to /var (and thank goodness no-one is arguing that /var also has to be conjoined with the root partition)…

One of the greatest strengths of Linux is the ability to do things the way you feel is right – and there’s an awful lot of legacy software with still relies upon the existence of /var/run, and I’m just not keen on having yet another mandatory root-directory entry.

More

Replacing udev with mdev in Gentoo

Recent changes to udev mean that it is now a requirement to have the partition containing the /usr filesystem mounted prior to system boot, requiring usr and root to be on the same partition (which is Red Hat’s preferred solution), or to mount /usr prior to booting from an initrd.

I’ve successfully run Linux systems for many years without needing this additional complication, and I don’t plan to start changing the core boot process in order to comply with Red Hat’s (non-FHS compatible) vision of what a Linux system should look like.

The best alternative right now seems to be Busyboxmdev – a very simple hotplug agent and /dev tree maintenance tool which provides identical core functionality to udev.

However, the default configuration files provided with mdev are somewhat outdated and there isn’t much information out there documenting how to make the transition.

More

Installing Gentoo Prefix on HP TouchPad

The ill-fated HP TouchPad has, ironically, proven itself to be a gem of a machine for those with a computing/hacking background – with a fast processor, plenty of memory, and the most open architecture of any tablet so far (in that webOS Doctor can be hacked to alter partition layout and contents on restore), there are few limits to what it could be used for. Android (hopefully within a webOS card) is coming, and already Ubuntu & Debian can be run from a chroot() environment. The ARM build of Gentoo can be run in the same way – but that’s relatively trivial and not especially interesting (in that it doesn’t integrate with the OS – you have to specifically enter the chroot() environment in order to make any use of the software).

I would now always choose to run Ubuntu in a desktop environment – Canonical have done a great job of generalising the historically painful job of getting hardware and software reliably working together (try getting Bluetooth HID devices and WPA Wifi working on Linux from first principals if you want a reminder of just how obtuse software can be…), but I’d still opt for Gentoo for a server/command-line environment. This is what we have with the TouchPad – a great visual OS, but a minimalist installed get of command-line tools. This – with it’s ability to build optimised, efficient, and light-weight packages with only the necessary optional features present – is where Gentoo shines.

More

Disable Mac OS Lion’s “Restore windows” setting on an individual per-application basis

The “General” PreferencePane in Lion’s ‘System Preferences’ windows contains a “Restore windows when quitting and re-opening apps” item. However, sometimes this behaviour does’t make sense – after a reboot I found, for example, that the OS X Installer had re-launched and was asking for a package to install!

More

AirPlay support for Logitech Squeezebox devices

On Friday 8th April, ShairPort was released. Containing the private key from a reverse-engineered Apple AirPort Express, this allows unlicensed/homebrew devices to act as AirPlay target speakers – e.g. allows iTunes, iPods, iPads, and iPhones to use them as an output device.

Immediately, the obvious thought is to add AirPlay support to Logitech/Slim Devices’ Squeezebox Server software so that the excellent Squeezebox devices can be used as remote speakers.

(As an aside, I’ve had my 3rd generation Squeezeboxsince they were introduced in 2005, and it is without the highest quality and most used gadget I have, still going strong and as useful as ever more than five years later!)

After a few false-starts trying to configure ALSA to record the digital output of the host’s soundcard, the latest release of ShairPort provides a perfect solution to lossless audio reproduction, without even needing a soundcard.

More

e-mail autoresponder using procmail

It may have taken way too many hours, and may have descended into a maze of twisty little passages, all alike, but after fighting various permissions issues and procmail‘s general intransigence (I still can’t work out what determines whether procmail will perform variable-interpolation on shell commands, or why it doesn’t like even multi-escaped square brackets in shell invocations…) here it is in all it’s glory: A procmail-based auto-reply system.

More

Working around the lack of an RTC battery on ALIX system boards…

The ALIX 2c3 system board the forms my traffic-shaper has one irksome weakness: it lacks an on-board CMOS/RTC battery to maintain the time when the system is shutdown.

This is a more significant problem than it sounds since, for starters, the fsck tools for the ext2 filesystem, by default, treat a timestamp in the future as a failure – and disk checks have to be performed almost immediately on system start, so there is no opportunity to raise networking and start an NTP dæmon.

More