Archive for the ‘Hardware’ Category

Canon i-Sensys MF8280Cw on 64bit Debian

Friday, October 9th, 2015

I’ve gotten my hands on a Canon i-Sensys MF8280Cw multifunction colour laser printer, in part because I noticed that Canon has published CUPS drivers for Debian (that is Ubuntu), so it should work.

It also does work, but I had to jump a few hoops.

The driver is available from here (Italian site).

Running Debian testing on amd64, I downloaded the 64bit driver. Unpacking the file gives you two DEB files to install: ‘cndrvcups-common’ and ‘cndrvcups-ufr2-uk’ which installed without a hitch.

Opening the CUPS admin interface, the printers were installed in a second. I used the wifi link, and the printer was autodetected.

Printing a test page from within CUPS went fine. At least CUPS thought it went fine, as there were no error messages or anything. Document printed.

The printer didn’t agree, though. It just emitted a long beeeeep and printed nothing. There’s a work log in the printer, and it stated that each and every print job from CUPS gave an error #822. Printing over wifi from Android or iOS worked fine.

So printer works, wifi link works, and apparently the CUPS driver works, only nothing is printed.

So Google to the rescue, but also not. There was preciously little to find. In the end I ended up with some hints that there might be some 32bit (i386) parts of the driver, that wouldn’t work without the i386 libraries installed.

I ran a command like this on both installed packages:

dpkg -L cndrvcups-ufr2-uk | while read f; do ldd "$f" 2>/dev/null | grep -v 0x | grep -v "not a dynamic executable"; done

but it gave no errors.

I installed the i386 packages


And the still no prints.

I ran the command checking for unresolved linker dependencies again, and lo and behold, it said libxml2 was missing. I installed that from the i386 architecture, restarted CUPS, turned the printer off and on again, and it printed.

So it does work, but not easily.

To summarise I have done this:

dpkg --add-architecture i386
aptitude update
aptitude install libc6:i386  libc6-i686:i386 libstdc++6:i386 libxml2:i386
/etc/init.d/cups stop; /etc/init.d/cups start



iPod Classic finally working

Thursday, March 26th, 2009

A while ago I had the opportunity of swapping my 60Gb iPod (5G) for a 160Gb iPod Classic (6G), and naturally I accepted, only to be bitten by the “No music” bug.

The old iPod, and an iPod Nano I also use, can easily be updated with new music and playlists through number of Linux applications such as gtkpod and the banshee media player.

Whenever I did the same on the iPod Classic it would simply say “No music” whenever I turned it on, but when I plugged it into the computer all the music and audiobooks were there.

Apparently Apple found it amusing to add a checksum to the itunes database on the iPod, and make the iPod say “No music” whenever the checksum didn’t  match.

Even though gtkpod and banshee  claimed to support the iPod Classic through a workaround, I had no end of problems. Sometimes updates to the iPod would work, at other times it would just refuse to see the music.

In the end I’ve managed to get it to work reliably, at least over about 10 substantial updates.

First, I reset the iPod using iTunes for windows to get a clean iPod with a vfat file system.

Second, I plugged it into a Linux computer with the newest gtkpod and libgpod 0.7 from Debian experimental (now in unstable) and immediately ran the “ipod-read-sysinfo-extended” which finds and stores the firewire ID of the iPod for use in calculating the checksum.

From this point on the iPod Classic has updated correctly each time but I’m sticking to the newest version of  gtkpod availble in Debian.

I have little idea why I had so many problems before. There might have been an upgrade to libgpod inbetween, it might be because I moved from a HFS+ filesystem to a vfat filesystem or it might be because I tried with too many different applications earlier, some of them using the previous version of libgpod which didn’t support the iPod Classic.

Bluetooth Audio Headset

Wednesday, February 11th, 2009

I have a Philips SHB6100 bluetooth headset which I have only used with my mobile phone.  A long time ago I tried getting it to work with Debian, but it was too much work for too little.

Today I tried again, and things has changed quite a bit. I had it working in less than five minutes.

The explanations are here:

First I put the headset in pairing mode, which is done by pressing the “on” button continuously until the led blinks red/green alternately.

Then the command “hcitool scan” will reveal the BT address of the headset. It looks like a MAC address.

Add this to your ~/.asoundrc:

pcm.bluetooth {
   type bluetooth
   device 00:11:22:33:44:55

Replace the address with what “hcitool scan” showed for the headset.

This is it.

Play an song with

mplayer -ao alsa:device=bluetooth yoursong.mp3

and the Gnome bluetooth applet should prompt you for a pairing code for the headset, which is “0000” for the Philips headset.

I use Banshee for my music, and to get Banshee to use the headset, first close it down, then run this command:

gconftool -t string -s /system/gstreamer/0.10/default/musicaudiosink "alsasink device=bluetooth"

and restart Banshee. It will now play to your headset.

The only thing missing now is an easy GUI way for those who don’t want to edit configuration files. In my Gnome setup I have a “System | Preferences | Multimedia Systems Selector” but it doesn’t handle the music player setup or anything bluetooth at all.

Asus Eee Pc 1000H with Debian Lenny (testing)

Wednesday, February 11th, 2009

I have bought an Asus EeePc 1000H which is one of the new popular netbook – a very small and light weight notebook.

I chose the Asus EeePc 1000H for several reasons:

  • I travel a lot, often by motorcycle and kayak,  and need something compact and lightweight for mail, internet, blog updates and social networks;
  • initially I wanted the EeePc 901, but its being discontinued and it costs almost the same as the 1000H, which has a hard disk and a larger keyboard;
  • though delivered with Windows XP, the hardware is quite Linux friendly and almost identical with the 901 which were sold with Linux;
  • its small and cute (even my wife says so).

The specs are:

  • Intel Atom N270 dual core CPU,
  • Intel Mobile 945GME chipset,
  • 1 Gb DDR2 667MHz RAM upgradable to 2Gb,
  • 160 Gb SATA harddisk,
  • Six-cell LiOn battery 6580 mAh,
  • 10″ WVGA display at 1024×600,
  • ElanTech touchpad,
  • RaLing RT2860 wireless network adapter – IEEE 802.11bgn,
  • Attansic Technology L1 Gigabit network adapter,
  • Broadcom BT-253 internal USB bluetooth adapter,
  • Alcor Micro SD/MMC Card Reader,
  • Genesys Logic USB 2.0 webcam 1.3Mpixel.

It is a fairly small laptop, measuring 27×19×3cm and weighing 1.45kg which is a bit more that I had hoped (the 901 is less than 1kg) but it is OK, as I won’t have to bring an extra USB disk for additional storage.


I have installed Debian testing/lenny on it, through the Debian Eee Pc projects installer. It is a specialised installer which does a slightly different installation and configuration, but the resulting system is a normal Debian system.

Most parts of the netbook work immediately with little or no manual configuration after a base install, but there are a few parts that doesn’t or that are a bit unstable. Most of these seem to have a solution on the way.

An install through the Debian Eee Pc installer of Debian Testing (lenny) with a Linux 2.6.26 kernel leaves these parts non-functional:

  • Front microphone doesn’t work (should be fixed in the latest ALSA release, included ibn Linux 2.6.27);

and these only partly functional:

  • Wireless network driver only works with certain setups (for me, open network and WPA/PSK work, WEP doesn’t);
  • Touchpad is working with a generic driver which doesn’t support all the functions of the hardware;

and these require an extra effort to get fully functional:

  • Keyboard hotkeys (editing a configuration file)


The installation procedure was more or less as specified on the Debian Eee Pc Wiki.

The computer came with Windows XP preinstalled and with the disk partitioned in a particular way. Since I’ve paid for that Windows installation, I’d like to retain it in case I should need it later.

The harddisk was initially partitioned like this:

  1. Windows XP system 75 Gb (type 7 – HPFS/NTFS)
  2. User data 60 Gb (type 7 – HPFS/NTFS)
  3. Windows accelerated boot 8Gb (type 0x1c – Hidden W95 FAT32)
  4. EFI partition for the BIOS “Boot Booster” 40Mb (type 0xef)

The partitions 1 and 4 would be needed for Windows XP and the BIOS, and I wasn’t sure what partition 3 was for, so I decided to leave it untouched. I think it is for an accelerated boot of Windows XP where they make a hibernation type snapshot at boot time which can then be used at subsequent boots to speed up things.

For Linux I would need a root, a swap and a user data partition, so I decided on this partitioning scheme:

  1. Windows XP system 10 Gb (type 7 – HPFS/NTFS)
  2. Extended partition 125Gb (type 5 – Extended)
    1. Linux root 8Gb (type 83 – Linux)
    2. Linux swap 1Gb (type 82 – Linux swap)
    3. Linux home 116Gb (type 83 – Linux)
  3. Windows accelerated boot 8Gb (type 0x1c – Hidden W95 FAT32)
  4. EFI partition for the BIOS “Boot Booster” 40Mb (type 0xef)

Starting the Debian Eee PC installer was quite easy. I downloaded the image, copied it to an SD card, inserted it into the card reader and booted while pressing ESC so the BIOS asked which device to boot. The installer is the normal Debian lenny installer, only with a payload of special modules for the EeePc specific hardware,  which for now include both wired and wireless network adapters and ACPI functions.

Before starting it is a good idea to disable “Boot Booster” and “Quick Boot” in the BIOS. Otherwise it is quite likely the system will just launch you into Windows XP so fast you have little time to press ESC for the boot device menu or F2 to enter the BIOS.

I had to start the installer several times to shrink and resize the Windows XP partitions and setup my own partitioning scheme as shown above.

The first several boots into the Debian installer was to shrink and resize the Windows XP installation, and setup my partition scheme. I repeatedly took the installer up to the point where it wants you to partition the harddisk, then pressed Alt-F2 to get a shell. The first time I used ntfsresize to shrink the Windows XP NTFS filesystem from 75Gb to 10Gb. Second time was to resize the actual Windows XP partition using fdisk, followed by a boot to Windows XP to make sure the installation was still bootable. Then the third time to setup the Linux partitions, and only afterwards did I let the installer continue and do the actual installation.

The Debian installer is so easy these days its almost boring. I only had to answer a few questions, enter some passwords and select what I wanted of software on the computer. I let it install all of the Gnome desktop environment, which was probably a mistake, since I had a bit of work afterwards reducing it to only the parts I actually wanted.  I have no use for Windows terminal services or remote desktop systems, or all the CD/DVD ripping and mastering software I had installled automatically.

Hardware walk-through

CPU – Intel Atom N270 1.6GHz works out of the box with both cores available and CPU frequency scaling activated.

Disk – the SATA disk works as expected.

Sound – works except for the front microphone, which is supported in the next version of ALSA, included in Linux 2.6.27.

SD card reader – works.

USB – works out of the box.

Wired network – the Attansic Technology L1 Gigabit network adapter uses an “atl1e” driver which works without any problems noted.

Wireless network – works partially with the rt2860sta driver included in the Debian Eee Pc install. It works for me with a WPA/PSK access point, and with an open network, but not without some problems. The driver drops the association at high throughput and subsequently fails to re-associate to the access point without a manual intervention. With a WEP setup it associated with the access point,  but failed consistently to get an IP address from the DHCP server. There is no hardware kill switch.

Bluetooth – the internal USB adapter works out of the box. There is not hardware kill switch.

ACPI – this is governed by a special eeePc driver included in the Debian Eee Pc installer. It seems to support everything: power switch, lid, extra keys, battery, cpu, suspend states etc.

Video out – not yet tested

Video – Intel Mobile 945GME chipset, which works with It is automatically configured by the Debian Eee Pc install, so X windows works immediately, compositing included.

Touchpad – works partially. It is currently controlled by a generic driver, which doesn’t support all the functions of the hardware. The touchpad works as such, with tapping and the two buttons below it. The middle mouse button can be activated by a two finger tap, and a scroll wheel simulated by a two finger drag. A three finger tap works as a right button click, but it is almost impossible to get right on the small touchpad.

Extra keys – works with initialisation – see later “Hotkeys”

Suspend – both suspend and hibernate works through the Gnome Power Manager. I have uswsusp installed, but I don’t know if the Gnome Power Manager uses the kernel suspend functions or uswsusp. Sometimes bluetooth disappears after a resume, but I still haven’t figured out why. You need to belong to the “powerdev” group to get full Gnome Power Manager functionality.

Webcam – the necessary Video4Linux drivers are automatically installed, and the camera seems to work. I can get mplayer to show me live video from it.

Keyboard – while it has nothing to do with Linux, I do have a few grievances about the keyboard. It has at least two deficiencies. While is has a nice and usable size, the right shift key is placed in a very annoying position, to the right of the “up” arrow key, which I alway hit by mistake. Also, the shift lock key has no status indicator anywhere, so you cannot see if shift lock is on or off, except trying to type something.

X Windows

Basic configuration was automatic.

The server uses the “intel” driver for the Intel 945GME graphics chip set. It is by default set up with EXA acceleration, but the Debian Eee Pc wiki states that using XAA might be better, and my experience confirms it. It feels quite a bit snappier with XAA, especially when scrolling in Firefox.

DRI was configured automatically.

The touchpad it is an Elantech touchpad but it is not recognised as such by the kernel. It detected as a “ExplorerPS/2”, not as a proper touchpad. The funny thing is, however, that the touchpad still works to some degree. It reacts to movement and taps, there is a scroll wheel area on the right side of it, and a two finger tab becomes a middle click. A three-finger tap becomes a right click but it is very hard to reproduce reliably. There seems to be a driver for the touchpad in the working, but it’s currently only semi-functional. I haven’t delved deeper into this, as it does work.

Compiz was only an “aptitude install compiz” away. All the necessary prerequisites were taken care of by the Debian Eee Pc installer.


The keyboard has some special keys, which are handled by a special eeepc ACPI module.

I had to edit the /etc/default/eeepc-acpi-scripts file to get the sound volume keys to work properly.  I needed to set the variables


Apparently the default setup is for the latest Alsa release, but not the one used by the 2.6.26 kernel.

Major outstanding issues

  • Front side microphone is not working,
  • Touchpad not fully supported.


Verbatim SmartDisk NAS External Harddrive

Wednesday, January 16th, 2008

Verbatim SmartDisk NAS External HarddriveI was low on disk space for photos and music, so in a whim I bought a “Verbatim SmartDisk NAS External Harddrive” from where I usually buy blank media. It had a decent size, it wasn’t expensive and it supported NFS.

The first thing I did was to reformat the drive as ext3 in stead of the default vfat. I then enabled NFS and created two users and tried it from my Debian/Gnome laptop.

Then everything went wrong. The user specific folders didn’t show up for NFS, though they did for CIFS. If I tried to copy files over from my desktop via CIFS the NAS blocked immediately. It worked from a Mac though. Ownership and permissions were a mess between CIFS and NFS. In short, it didn’t work very well.

It took quite some time and effort to sort it out, and a bit of tweaking too.

I first wanted to use NFS because I have Linux and Mac OS X clients, but immediately ran into the usual problem of mismatched user ids and there was no way on the NAS to adjust that. It could have worked if I could use NFS exclusively, but I still need CIFS to work, also on shared directories.

Also, user specific mounts didn’t appear as NFS mounts, only as CIFS shares. I could work around that, however, by creating an NFS mount with the same name and location as the user share.

Then I tried to use CIFS on Linux but the default of using some Unix extensions to CIFS carried the user id problem over there too. Besides that, the NAS would block as soon as I tried to write to the disk through CIFS. It would write 8kb of the first file and then block everything.

Somehow I figured out that the default Linux CIFS settings caused the NAS to block due to byte range locking, and once I changed my automounter setup, it worked a bit better. There was also a character set problem between NFS and CIFS, but that was easily fixed. The line in /etc/auto.master

/smb    /etc/auto.smb nobrl,iocharset=utf8

must have the final “nobrl,iocharset=utf8” added to disable byte range locks and fix character translation in file names.

I also found a way to disable the Unix extensions to CIFS, but again it completely messed up interaction with NFS due to differences in user ids.

In the end I used a bit of brute force to get all combinations of Linux and Mac OS X, and NFS and CIFS to play together. I found a way to get enable telnet on the NAS, there was no root password, and I edited /etc/passwd and changed the user ids of the users to match what I have on the other systems. That did it.

The address to enable telnet on the NAS is http://sohonas/cgi/telnet/telnet.cgi

USB Bridges

Wednesday, November 9th, 2005

I definitely need one of these before our next holiday.

It will make it dead easy to copy photos from our digital cameras to a usb harddisk. The only downside is that they appear to be usb1.1 devices giving a much slower transfer.

Currently we use a MindStor Digital Wallet but it only has 5Gb disk, which is too little with a 6 Mpixel camera.

Installing Debian Sarge on a HP Proliant DL320

Monday, November 7th, 2005

I’ve just installed Debian Sarge on a HP Proliant DL320 without a hitch.

It is a Xeon 3.4GHz hyperthreaded with 1Gb ram and a single SATA disk.

I booted it via PXE since it has no optical drive and no floppy and ran the installation from there.

The basic system works perfectly, with a stock Debian 2.6.12 SMP kernel.

I still haven’t tried stuff like usb, rtc, admin interface etc. I’ve only had it for enough time to set it up to what its supposed to do 🙂

D-Link DI-704P router

Sunday, May 29th, 2005

I recently bought a D-Link DI-704P router with the intent of using it as a first line of defense in front of a Linux server I have on a public IP.

The basic stuff is working as expected, mostly “virtual servers” or “port forwarding” which is used to allow access to the select services I want to expose to the internet.

The problem is through-put. I have never seen it do more that about 4 Mbytes/s, and it averages around 3 Mbytes/s, which is a disappointment as I have a line capable of at least 6 Mbytes/s.

Maybe I was too stingy getting a cheap boardband router for a high speed line.

I love my internet connection

Saturday, September 25th, 2004

I have my internet connection through a community network called Bryggenet, which serves a part of Copenhagen with internet, cable and telephony services. The connection is a shared 62Mbit/s line, brought to my house through a 100Mbit/s network

25 september 2004, 09:50

$ apt-get update
Fetched 9470kB in 3s (2420kB/s)
$ apt-get dist-upgrade
Need to get 95.8MB of archives.
Fetched 95.8MB in 17s (5453kB/s)

Ups, I forgot to mention the price of this connection: $25/month, flat fee.

10 oktober 2004, 18:00

$ apt-get update
Fetched 9491kB in 3s (2499kB/s)
$ apt-get dist-upgrade
Need to get 62.4MB of archives.
Fetched 62.4MB in 13s (4625kB/s)

Intel PRO/Wireless 2100 mini-pci network card

Sunday, August 15th, 2004

The Asus M2N series of laptops have an integrated wireless network card. It is an Intel PRO/Wireless 2100 mini-pci card, which supports 802.11b at 11Mbps.

Initially I used an ndiswrapper type driver from, which I even paid for. I think it is the first time in many many years I have paid for a piece of software 🙂 It served me well, though, until I bought a 802.11g PCMCIA card.

There’s also a free ndiswrapper driver, which I haven’t tried.

Anyway, at some point in time Intel finally got around releasing a free native Linux driver for the PRO/Wireless 2100 card.

Besides following the instructions, I only had to make one change. My kernel doesn’t have some code to download firmware to the wifi card, so I had to edit the Makefile and uncomment the line


After a “make” and a “make install” I could load the driver with

modprobe ipw2100

which gave me this in my kernel log:

ieee80211_crypt: registered algorithm 'NULL'
ieee80211: loading with WEP enabled.
ipw2100: Intel(R) PRO/Wireless 2100 Network Driver, 0.51
ipw2100: Copyright(c) 2003-2004 Intel Corporation
ipw2100: Compiled with LEGACY FW load.
ipw2100: 01:05.0: Detected at mem: 0xFF7FF000-0xFF7FFFFF -> e01bc000, irq: 5
eth1: Using legacy firmware load.
eth1: Bound to 01:05.0

The driver automatically associates with the nearest access point, but in understands the commands of the wireless extensions, so it can be configured with iwconfig.