Saturday, November 11, 2017

Ubuntu 17.10 on surface pro 4

Today I tried to install Ubuntu 17.10 on my surface pro 4. At the beginning, I can't get the boot from USB to work. Later I realized in the UEFI setup page, there is a switch to enable boot from USB. Also swiping the "USB storage" item from the list can boot immediately from the USB device.

The installation itself runs smoothly since I already used the windows disk manager to shrink the volume to make some space for the linux installation.

During the installation, the typecover keyboard and mousepad works already, which means no USB hub is needed to have an external keyboard and mouse. After I've got the linux surface booted up, I find that The wifi works quite unstable. It drops the connections very frequently. I've tried to use the firmware under git://git.marvell.com/mwifiex-firmware.git. However, doesn't help much. I also tried the following suggestion from reddit

Edit /etc/NetworkManager/NetworkManager.conf and add the following lines at the bottom: [device] wifi.scan-rand-mac-address=no

Sadly, the problem still didn't seem to be completely solved. Finally, I've gone to this site https://github.com/jakeday/linux-surface, git-cloned the files and downloaded the patched kernel 4.14.0. Following the instructions, I've got the touch screen working and now the wifi is also quite stable. From time to time I still get lost typecover when the system sleeps.

Another strange issue I've got is the when connecting using openconnect to corporate network, the name can't be resolved by nds. I have to run "systemd-resolve -status" to find out the DNS used by corporate network and add the following line to /etc/network/interfaces:

dns-nameservers  [ip of coporate DNS]