Installing linux in an ASUS X551CA

2014-01-23    Filed under linux, Tags linux

This laptop works great under linux. I installed Lubuntu on it and everything went right but two things: wifi and BIOS booting. Both can be solved so I am happy with the purchase. The only drawback i found is that ethernet adapter is only 100 MHz and not gigabit. Too slow nowadays and not what I expected. Nothing that can't be solved with a cheap USB3 to ethernet adapter.

I will describe how to overcome this "small" problems (It took me hours to find out how, searching forums and wikis... thanks to everybody).

Booting with UEFI BIOS

The first problem I faced when installing linux in this computer was to remove Windows 8 and get the BIOS to boot my linux installation. Don't forget to create a GPT partition table and a EFI partition in the fisrt place or you will have to start over from the begining. This is the process I followed:

  • Enter BIOS (pressing F2 key on boot).

  • Disable 'Secure Boot Control' in BIOS (Windows require it, linux can be configured to use it too, but if Linux is going to be the only operating system in the computer there isn't any reason to use it).

  • Under 'Boot' disable 'Fast Boot', then enable 'Launch CSM', and 'Launch PXE OpROM' (this last maybe isn't necessary).

  • On restart press the ESC key and choose to boot from USB. There will be two options to boot from USB media, select the one that starts with UEFI: [...].

  • With UEFI, GPT partitioning is required. Create a new partition table of type GPT. Ubuntu partitioning tool seems to be able to create GPT table, but it is possible to boot with another OS before real installation to create partition table and prepare partitions with cgdisk (for example).

    Create a EFI system partition. It has to be the first one in the disk and with a minimum size of 512 MB, type EF00 and formated as FAT32.

  • Install Gummiboot or GRUB as boot loader. If distribution is Archlinux you have to do it by hand as described here. In Ubuntu, let the install program finish (install GRUB in /dev/sda) and then booting from hard drive will not work. Boot from USB live and install Boot Repair package. Run the utility and it will take care of fixing the GRUB installation.

Wifi is hard blocked

The second problem was that Network Manager said something like "WiFi Disabled (Hard-blocked)". Using Fn+F2 to enable wifi didn't work and there isn't any hardware switch for wifi in this laptop.

The wifi chip in this computer is a Qualcomm Atheros AR9485 that requires the ath9 driver. It seems there is a bug in ath9 driver or an incompatibility with other kernel module named asus_nb_wmi. The solution is to blacklist this last module so it isn't loaded on boot. Or better yet, to let this module load but with an extra option (wapf=1). This is perfectly explained in this forum post

To see the hard lock problem type sudo rfkill list and see interface phy0.

To fix, type:

echo "options asus_nb_wmi wapf=1" | sudo tee /etc/modprobe.d/asus_nb_wmi.conf

If it doesn't work try 2,3,4 for the wapf option.

This problem is caused by a bug in ath9k bug

There is an additional problem that causes warnings like "NetworkManager[14155]: <warn> nl_recvmsgs() error: (-33) Dump inconsistency detected, interrupted" in the logs but otherwise doesn't affect the normal use of the wifi.