FreeBSD 11.1 on ASUS VivoBook S301LA

I decided it is time to write a piece on FreeBSD, since I now officially use it as my main operating system both at home (alongside OpenBSD) and at work. My mobile battle gear of choice is the ASUS VivoBook S301LA. It’s a 4th generation Intel-based ultrabook-class laptop, one of the many released by ASUS every year. It has strong points, though also quite some disadvantages. I would like to discuss it from the perspective of a FreeBSD enthusiast.


Photo courtesy of and the Interwebs

Hardware specifications:

  • Processor: Intel Haswell core i3-4010U @ 1.70 GHz
  • Graphics: Intel HD 4400 integrated GPU with up to 768 MB shared RAM
  • Memory: 4 GB DDRL 1600 MHz (soldered) + empty slot for another 4 GB
  • Hard drive: Western Digital Blue 500 GB 5400 rpm (replaceable)
  • Ethernet: Realtek 8169 Express Gigabit
  • Wireless: Mediatek MT7630e with Bluetooth built in (half-sized, replaceable)
  • Sound: Intel HD Audio (SonicMaster)
  • Webcam: Azurewave USB 2.0 UVC HD Webcam
  • Touchscreen: USB SiS Touch Controller
  • Battery: 4 hours
  • Microphone: yes, next to the Webcam
  • Keyboard: Generic AT keyboard
  • Touchpad: Generic touchpad with integrated click-fields
  • Additional ports:
    – left side: Ethernet, HDMI, USB 3.0, microphone/headphone jack
    – right side: Kensington lock, 2x USB 2.0, SD card slot


The good:

  • Extremely lightweight
  • Never overheats
  • Moderately fast after upgrades

The bad:

  • Paper-thin keyboard
  • Slippery touchpad
  • Highly reflective, mirror-like screen
  • Cheap, lower-end wireless card

Overall, this device is a fairly standard consumer-grade ultrabook. The crappy keyboard is something one can get used to rather quickly. I’m not a fan of touchpads, therefore I rely on PC mice for clicking and scrolling unless I’m on a plane or train. Nowadays, reflective screens are no longer an issue thanks to anti-glare screen protection sleeves. The obvious downside is that anti-glare screens lack sharpness typical of reflective screens. In general, the drawbacks can be easily mitigated with upgrades, which however turn the laptop into a moderate investment. The choice is down to the prospective user.  Furthermore, the manufacturer (ASUS) made some choices, which I am not entirely convinced by. Firstly, touchscreens are more useful on hybrid flip-laptops like the Lenovo Yoga. In this model the touchscreen is more of a nuisance when cleaning the plastic cover on the display and draws power needed elsewhere. Secondly, the wireless adapter is perhaps the worst of its generation with a nominal bandwidth of 150 bpms. Still, it’s more of a travesty to see it in high-end ROG gaming models (yes, it’s true…).


The FreeBSD perspective:

This might be somewhat disappointing. Depending on what one expects from a mobile device, the S301LA is either average or just plain broken. Not to sound rude, but I’m sure a Thinkpad or an Ideapad would be a far superior choice. Haswell HD 4400 graphics chips have proper (aka working) FreeBSD support since just release 11 and most other components are barely supported. The Azurewave USB webcam actually works (webcamd needs to be attached to USB device ugen0.2 by root, a superuser or a member of the webcamd group), but no VoIP software is available on FreeBSD out-of-the-box. I guess one could get Windows Skype to run via WINE or force the alpha-quality Linux client into submission, but that’s a lesson in futility, I think. Personally, I wouldn’t be using this ultrabook at all if not for the fact I finally managed to replace the trash wireless adapter with something half-decent (albeit from 10 years back) from Intel, namely the WiFi Link 5100. After adding another 4 GB RAM and a Western Digital SSD, I would consider this ultrabook worth the money and time. However, as I mentioned earlier, there are far better choices on the market.


Show Me Your Code!

For the last couple of months I have joined and participated in discussions in multiple Facebook tech groups. As demographically diverse as Facebook is, I noticed a worrying trend. Most of the inquiries have the following features:

  1. Incomplete, badly written and/or fail to explain the problem at hand in an understandable fashion.
  2. Expect immediate answers and solutions.
  3. Demonstrate that the inquirer did not try to address the problem him- or herself prior.

Feature 1. can be explained by the fact that most of the Facebook group members are not native English speakers and struggle with forming comprehensible questions. Still, I find it odd that they invest so little effort. For instance, if an inquiry refers to issues with a specific operating system, it would be wise to provide the full specification of the computer running the operating system or at least name the operating system, no? I would assume that this should be dictated by common sense, though perhaps education also plays a role here? After all, we are taught how to pose questions at school and in university. The consequence is that even if the question is answered, the inquirer may not understand the answer, because his language and/or technical skills are insufficient. It is a sad, but inescapable aspect of discussion groups.

Features 2. and 3. are interconnected, and grind my gears the most. The phrases I often encounter are “suggest me”, “give me solution”, “give me program command”, “give me/show me your code”. All of them assume that the answering party is obliged to provide a solution as quickly as possible, while in reality the opposite is true. The answering party is not obliged to do anything! Rather, the inquirer should display humbleness in order to receive a reliable answer. What is even more insulting and disrespectful is the fact that some of these questions are phrased in such a way that they could easily be executed as a Google query. No additional help from a dedicated technical group is needed. Other questions expect a detailed and clear explanation of an entire framework, which usually takes a year if not years to build. For instance, the inquirer wants to know how to build a fingerprint system for monitoring/registering students at a local school. He/she anticipates a full outline of the entire system in a “ready-to-go” package, best to be described in layman terms so that he/she can proceed with building such a system. In all honesty,  endeavors like this typically require a team of experienced software engineers not a ragtag group of volunteers.

In the end, it boils down to the issue of instant gratification, which plagues modern societies. Many Western business models are based on the premise that much can be achieved with minimal effort and that the evanescent everyman can become a hero instantly. A fantastically enticing end product is shown, together with a set of trivial instructions, which need to be followed. People seek happiness and obviously it’s best if that happiness is achieved quickly. However, instant gratification is not lasting and requires more units of the product or a newer product. That in turn drives the ever increasing demand for the product. Technology is no different. People are made to believe that coding is easy and great programs can be written overnight. Also, everyone can instantly become an experienced hacker, because why not? Reality is different, though. Impressions are cheap, while actual experience resource-intensive. Learning is a process, which takes time. We can disagree, though that will not alter reality. Merely our impression of it.