XPS13 (9343) Ubuntu Linux

I broke my pre-Haswell XPS13 and had to quickly buy a replacement. Without much thought, I decided to get the new Broadwell XPS13. It was not until after I had made the purchase did I find out that there are a whole lot of complaints about the compatibility of this laptop with Linux.

Let me just say that I have full faith in Dell’s Project Sputnik and I’m sure that the team will get things ironed out soon enough.

However, I have to say that my Linux experience on this laptop is pretty good, far better than what I’ve read online. So, I thought that I’d document a few things of note here.

Bios Update
First thing I did when I obtained the new Broadwell XPS13 was to update the BIOS to A01. The way to do this is simple enough. Download the update from the DELL website and save it onto a USB drive. Then, start up the computer and hit F12 to access the boot menu. The BIOS can be updated from the boot menu itself, without having to boot into Windows/DOS.

Linux Install
Next, I opted to install the latest Ubuntu LTS (14.04.2) that went without a hitch. Even UEFI worked out of the box. Again, what I had to do was to download the ISO image from Ubuntu, flash it into a USB drive and reboot the computer while pressing F12 during boot up to get the boot menu.

Broadcom 4352 Wifi
The wireless AC wifi card that comes with the new XPS13 requires the proprietary Broadcom drivers to work. The good thing is that the bcmwl-kernel-source drivers are available in the Ubuntu repository. The command to install this is to run:

apt-get -y install bcmwl-kernel-source

Needless to say, this can only be done after installation by temporarily using a WiFi dongle since there is no wired ethernet port on this laptop. I used my old trusty TL-WN725N which uses the standard rlt8192cu driver in the kernel. After that, the wifi card worked like a charm.

Broadcom 216F BT
The built in Bluetooth module also requires a little tweaking. While the drivers are available in the kernel, the required firmware wasn’t. This required a little workaround to get the firmware from the Windows drivers. However, I had already wiped out Windows from my laptop. Good thing then that the drivers are available from Microsoft themselves.

The downloaded file is a CAB file that needs to be extracted. Then, the appropriate HEX firmware needs to be located and converted to a HCD file using the HEX2HCD tool.

# cabextract 20662520_6c535fbfa9dca0d07ab069e8918896086e2af0a7.cab
# hex2hcd BCM20702A1_001.002.014.1443.1572.hex /lib/firmware/brcm/BCM20702A0-0a5c-216f.hcd

That’s it. Bluetooth worked like a charm.

There are reports of problems with the built-in touchpad freezing and keyboard experiencing stuck keys. This can be fixed according to the official DELL blog by adding some kernel parameters.


The last thing to get working is the analogue audio but since I pipe most of my audio through HDMI, I have not really bothered with this one. But it turns out that the kernel parameters worked.

acpi_osi=!Windows\ 2013


Disappearing User Dirs

My current setup places the user’s home directory in a glusterfs volume. This causes problems with a recent Ubuntu 12.04 update and a user’s XDG user directories get reset to $HOME during the X11 login. It only happens for X11 logins and not shell/ssh logins.

A quick fix to this issue is to do the following:

  • Make a copy of the existing X11 session XDG configuration.
  1. # cp /etc/X11/Xsession.d/60xdg-user-dirs-update /etc/X11/Xsession.d/61xdg-user-dirs-update
  • Edit the copy to force the user directories to their defaults.
  • # nano /etc/X11/Xsession.d/61xdg-user-dirs-updateif [ -x /usr/bin/xdg-user-dirs-update ]; then
    /usr/bin/xdg-user-dirs-update --force


Linux on Acer RC111

I bought the last unit of the Acer RevoCenter RC111 at a local store a couple of days ago, for a steal – RM799 (US$263). It came with a 1TB harddisk that has Windows pre-installed on it. I wanted to install Linux on the RC111 but the Internet seems to be scant on details. So, I thought that I’d blog about how I did it.

It would be a pain to install an OS onto the RC111 without a VGA port. Fortunately, the VGA port of the RC111 can be easily exposed by removing the tab covering it. Just use a sharp blade to cut the edges and press down on it slightly to break the thin strip of metal holding it in. Once that is done, the VGA port is exposed on the back.

Power up the device and you will see a minimal BIOS boot from American Megatrends. If you use a paper-clip to depress the reset button on the back of the unit when you hear a beep, the RC111 will boot from USB instead of the internal HDD.

That is the technique that I used to install Linux on the RC111.

Installation Image
It turns out that it is easier to prepare a USB installation image for Debian than it is for Centos. Therefore, I just went with Debian instead. Simply download the latest netinstall ISO and flash it onto a small USB thumb drive.

# wget http://cdimage.debian.org/debian-cd/6.0.6/i386/iso-cd/debian-6.0.6-i386-netinst.iso
# dd if=./debian-6.0.6-i386-netinst.iso of=/dev/sdb

Once that is completed, slot the USB drive into the back of the RC111 and power on the device. The indicator light on the front of the unit should flash white. The main hard-disk needs to be inserted in the RC111, otherwise it won’t boot.

At the sound of the beep, press the reset button with a bent paper clip. The indicator light on the front of the device should turn a stable purple and the RC111 will boot from the USB thumb drive.

The rest of the Debian install proceeded as normal. However, the ethernet network will not work correctly at the moment. So, it is only possible to install a bare minimal install of Debian on the device.

The built-in gigabit ethernet chip requires firmware that is not installed by default. It requires the firmware-realtek package that is in the non-free repository. Since the ethernet port would not work properly without the firmware, this package needs to be downloaded separately and copied over to the device and installed manually.

# dpkg -i firmware-realtek_0.28+squeeze1_all.deb

After that, the on-board gigabit ethernet will work and can be configured as usual.

All in all, it was simple enough to install an alternative OS onto the RC111. There is no reason why this should be any problem as the RC111 is basically a standard PC design with standard PC parts but with a custom BIOS.

Final Notes
At RM799 with a 1TB HDD, this is a steal and will work splendidly as a file server. I plan to stick in another 3x2TB HDD in the future for expansion.

The indicator light keeps blinking white while the machine is running. This doesn’t seem to be a problem. None of the individual HDD lights blink when in use. This is a small WMI issue that doesn’t affect the operation of each drive.

The system sometimes hangs or reboots on its own during startup. However, once it has successfully started up, it will stay running as normal.