22 October 2019

WiFi Upgrade

As I was having trouble getting wireless signal from the family room in my home to the bedroom at the far end, I figured it was time for an upgrade. My existing wireless router was a refurbished Asus RT-AC66R that I purchased in 2013.

I had been researching different mesh systems like Netgear Orbi, Eero, Google, Asus AX6100, and the upcoming Asus AX6600. However, I noticed that 2 wall jacks that I thought were phone jacks were in fact ethernet jacks! One is in the kitchen and the other in the master bedroom. I tracked the lines down and found that they terminated in a wiring box in our basement. This changed my approach from thinking that I would need to use wireless mesh and could instead use hard lines. I also planned on adding 2 jacks to the tv cabinet in the family room for the tv and playstation.

Because I would want to mount an access point in the kitchen and bedroom, I would need something relatively inconspicuous. This led me to the easily mountable Ubiquiti Unifi series of access points. After doing extensive online research, I decided to go with Unifi.

Here are a list of parts that I needed:

PriceQuantityPartLink/Location
156.992Unifi nanoHD Access PointsMicrocenter
79.991UPS with 5 battery backup outletsBest Buy
26.991TRENDnet 8 port patch panelAmazon
14.991LAN tester for RJ45Microcenter
12.9915 pack of 5 foot ethernet cablesAmazon
7.991Right Angle ethernet cableAmazon
6.991100 mount points for zip tiesAmazon
4.461Wall plate with angled keystoneAmazon
2.992Cat6 keystonesMicrocenter
2.991Keystone surface mountMicrocenter
2.99110 pack of Blank KeystonesMicrocenter
FreeEthernet cableDonated by my brother
480.34    Total before tax

My brother, brother-in-law, and I installed 2 cables up into my family room where there was an already existing hole running along the existing cable lines. However, it turned out that despite being a cat 5e jack in the kitchen only 2 of the 8 wires were actually connected. I just had to install the other 6 wires. The bedroom jack was wired correctly, but I swapped out the faceplate for one with angled connectors since it was behind our bed. This would reduce the chance of the ethernet cables getting pinched and ruined. All the cables were then connected to the patch panel in the basement.

I then installed the kitchen wireless access point and configure it with the installed Unifi Controller on my server (see: installing-unifi-controller-on-ubuntu). I then went about switching all my devices to the new wireless network name. Afterwards, I was then able to move the Asus router downstairs and turn of the wireless. It will still handle the routing for now.

The wireless performance of the one Unifi nanoHD was so great that I decided to return the second. This lowered the total cost of the project so far to 323.35. The improvement of the wireless was likely 2 fold: 1. an improved wireless signal and 2. a more central location.

The 2.4GHz performance is still so-so, but that is more due to the amount of interference from the more than 20 networks in range.

Future improvements I am considering are:
  • network rack and shelf to place all the equipment on instead of the simple shelf that I am using
  • PoE network switch
  • Unifi Security Gateway (router)


25 September 2019

Google Cloud Print on Ubuntu 16.04

As I wanted to be able to easily print from my phone and chromebook, Google Cloud Print was the solution.

Here are the simple steps that I used:

  1. sudo apt install google-cloud-print-connector
  2. gcp-cups-connector-util init
    • It will require you to enter a code at https://www.google.com/device to create the OAuth credentials
    • save the created config file somewhere safe
  3. gcp-cups-connector -config-filename gcp-cups-connector.config.json


Don't forget to install Cloud Print by Google LLC on your smart phone!

23 September 2019

Installing Unifi Controller on Ubuntu 16.04

Here are the steps that I had to do to get Ubiquiti Unifi Controller software installed on Ubuntu 16.04


  1. Add the gpg key:
    • sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 06E85760C0A52C50
  2. Add the repo:
    • echo 'deb http://www.ui.com/downloads/unifi/debian stable ubiquiti' | sudo tee /etc/apt/sources.list.d/100-ubnt-unifi.list
  3. Update Sources:
    • sudo apt update
  4. Install the software:
    • sudo apt install unifi
Unfortunately, this resulted in JAVA_HOME not found errors in /usr/lib/unifi/logs/server.log. This is because the unifi software requires Java, but it couldn't find it. I tried to point to the Java 9 path, but that just resulted in errors like: /usr/lib/unifi/data/keystore (Permission denied). Apparently, the software only works with Java 8. To resolve this issue, I installed Java 8 and restared unifi with the following commands:
  • sudo apt-get install openjdk-8-jre
  • sudo service unifi restart
Then head over to https://localhost:8443 to complete the setup

14 August 2019

Ubuntu 14.04.6 upgrade to 16.04

Because of Ubuntu 14.04 no longer receiving security updates, I had to upgrade to 16.04. In general the experience went fairly smoothly, except for the heart wrenching error messages about sane failing to upgrade and leaving the system in a bad state. However, that did not seem to be the case, as the system was able to reboot fine.

However, not everything was working.

MythTV:
  • Error: Webpages say: !!NoTrans: You are missing a php extension for mysql interaction. Please install php-mysqli or similar!!
  • Error: Webpages say: contains nonaggregated column

Sane (scanning):
  • I accidently left a computer running xsane connected, so that may have been the reason it failed
  • It worked after telling systemd to start it
    • sudo systemctl start saned.socket
    • sudo systemctl enable saned.socket
    • sudo systemctl status saned.socket

Web Services Dynamic Discovery (wsdd):
  • Error: systemd would fail to start wsdd, but running it directly ran fine
    • edited /etc/systemd/system/wsdd.service to change group from nobody to nogroup
    • reloaded changes: sudo systemctl daemon-reload
    • started daemon: sudo systemctl start wsdd
    • checked status: sudo systemctl status wsdd

Software Updater:
  • Error: Not all updates can be installed
    • sudo apt dist-upgrade

Update 2020-05-30:
To fix wsdd, I also had to disable it listening on IP6 address. To do this I edited /etc/systemd/system/wsdd.service
  • ExecStart=/usr/bin/wsdd --shortlog -4
  • You could also have it just sleep before starting per this issue: https://github.com/christgau/wsdd/issues/18

19 March 2019

Samba shares not showing up on Windows 10

I had an issue where my samba shares and printers stopped showing up on my Windows 10 machines. After doing some research, it seems to be due to Windows 10 disabling SMBv1 due to security concerns.
https://support.microsoft.com/en-us/help/4034314/smbv1-is-not-installed-by-default-in-windows

Now, I could just re-enable this, but I decided that wasn't the best idea due to the security concerns. However, if you want to here is the Microsoft support article about how to do it.
https://support.microsoft.com/en-us/help/2696547/how-to-detect-enable-and-disable-smbv1-smbv2-and-smbv3-in-windows-and

This forum thread (https://ubuntuforums.org/showthread.php?t=2409183) pointed me to a python package on github that enabled me to have my linux box show up on my Windows 10 machines. https://github.com/christgau/wsdd

Here are the steps that I used to install it on Ubuntu 14.04 that uses upstart:

  • git clone https://github.com/christgau/wsdd.git
  • cd wsdd
  • sudo cp src/wsdd.py /usr/local/bin/wsdd
  • sudo vi /etc/init/wsdd.conf
  • sudo initctl start wsdd

Check that it is running as an unprivileged user:

  • sudo initctl status wsdd
  • ps aux | grep wsdd

Contents of wsdd.conf:
# Windows Discovery

description  "WSDD Server"

start on runlevel [2345]
stop on starting rc RUNLEVEL=[016]

respawn
respawn limit 2 5

kill timeout 300

exec start-stop-daemon --start --chuid nobody --exec /usr/local/bin/wsdd

19 February 2019

Lenovo Chromebook 500e

Background

As my older Toshiba laptop was just too large, lagging in ssh and vnc applications (WiFi power save?), and battery performance was bad, it was time to try something different. I was tempted by Chromebooks from a price/performance standpoint, so that is where I focused my search.

The Search

Criteria:
  • 2-in-1 design
  • 11 - 13 inch 1080p display
  • Pen Input
  • USB Type C charging on both sides
  • Processor Min Celeron N3450 (preferably a m3 or i3)
  • RAM Min 4GB (preferably 8GB or more)
  • Storage Min 32GB (preferably 64GB or more)
  • Backlit Keyboard

I had eye on a couple different models:
  • HP 14-DA0011DX (on sale $449 from Best Buy)
    • No Pen
    • 1920 x 1080 16:9 screen
    • Core i3-8130U processor
    • 8GB RAM
    • 64GB storage
  • HP X2 (on sale $499 from Best Buy)
    • Pen mounts in loop on side
    • 2400 x 1600 3:2 screen
    • Core m3-7Y30 processor
    • 4GB RAM
    • 32GB storage
    • Screen detaches from keyboard
  • Lenovo 500e (on sale $269 from Lenovo)
    • EMR Pen
    • 1366 x 768 16:9 screen
    • Celeron N3450 processor
    • 4GB RAM
    • 32GB Storage
    • Keyboard not backlit
  • Samsung Plus (on sale $449 from Best Buy)
    • Pen
    • 1920 x 1200 16:10 screen
    • Core m3-7Y30 processor
    • 4GB RAM
    • 64GB storage
    • USB C ports on same side
    • Reviews cast doubt on longevity of touch screen
  • Samsung Pro (on sale $499 from Best Buy)
    • Pen
    • 2400 x 1600 3:2 screen
    • Core m3-6Y30 processor
    • 4GB RAM
    • 32GB storage
    • Reviews cast doubt on longevity of touch screen

The Decision

I decided to go with the Lenovo largely due to the price and minimal compromises. It allows me to try out a Chromebook (and pen input) without spending too much. I also liked it due to its rugged build as I have a toddler that loves "helping". However, if the 14 inch HP would have come with a pen, I probably would have went with that.

The Review

I have had the laptop for 2 weeks and here are my impressions.

Overall Rating: 5/5 Stars


Pros:
  • Price, at $270, I could not find any other comparable Chromebooks
  • Solid build quality
  • Screen looks great indoors, but have not tested visibility outside
    • Scheduled Night Light to warmer after 10pm
  • Silent operation as there are no fans
  • Keyboard typing is great (I am typing this review on it)
  • Touchpad works well, but lacks a premium feel
  • Pen input was nice when I used it, but have not tested it thoroughly
  • Updates straight from Google (Version 71)
  • I have not seen a single slowdown with the Quad Core N3450 which benchmarks better than my A8 4500M (https://cpu.userbenchmark.com/Compare/Intel-Celeron-N3450-vs-AMD-A8-4500M-APU/m208922vsm758)
  • Came with several free drawing/note apps ranging from $7.99 to $9.99
  • Came with 2 years of 100GB of Google Drive storage (about a $40 value)
Cons:
  • USB C cable on charger is not detachable
  • Keyboard is not backlit
  • Only bottom portion of touchpad is clickable
  • Chrome OS Web Store took backstage to Play Store and wasn't evident as where to get software from
Other Thoughts:
  • A little heavy for use as a tablet
  • Between the tabs on top and the shelf on the bottom, the usable screen real estate was not acceptable for web browsing. However, moving the shelf to the left side and setting the display size to tiny and page zoom to 110%, remedied the situation.
  • No caps lock key (Use: Alt + Search)
  • Function keys (F1-F12) are replaced by Search + Number
  • Lenovo is preparing to release a 2nd gen 500e with a Celeron N4100 which would be a nice improvement, but according to their website will on support AC power on one side