About Brad

All-around tough guy.

Lock Wi-Fi to Specific BSSID

If you enjoy using older Apple AirPort routers and use more than a couple in your house, this post may be for you. Ridiculously enough, I’ve got an old AirPort Extreme and three AirPort Express (AE) routers in the house all sharing out the same SSID, “SchwieNation”. The multiple AE routers aren’t so much to extend the massive network, but to give the occupants AirPlay for streaming music.

The AirPort Extreme router nestled away in the wiring closet in the basement is creating a 5 Ghz N-only network and the lowly AE routers scattered throughout the house are set to non-bridging mode and sharing out the same network SSID over 2.4 Ghz. Lately though, I noticed that just about all of the devices in our house were joining the same AE router in the back room and it was causing significant network congestion on our location network and reducing internet download bandwidth.

Devices in our house are running macOS Sierra, which Apple deprecated the ‘airport’ command line’s ability to join a specific BSSID on your network (this means, the ability to join a specific wi-fi router on your network). In Sierra, it seems a Mac just joins the router with the strongest signal.

All reports on the web indicated that the workaround is to create separate SSID’s or network names, one name for your 5 Ghz network and a separate name for your 2.4 Ghz network. I didn’t want to do this, as I have several older 2.4 Ghz wi-fi internet of things devices like security cameras, garage door openers, etc. and I didn’t want to have to tell all of them to join a separate network SSID.

The workaround I came up with was to use open the AirPort Utility and connect to the AE router that had all the wi-fi clients in the house. After connecting to it, I hit the Network tab and then placed a check in the box for “Network Access Control”. Then I clicked “Timed Access Control…” and entered in the IoT devices that I wanted to have access and blocked all other users – doing this allowed the legacy devices to connect, but rejected the newer 5 Ghz devices:

Now all the newer devices automatically connect to the AirPort Extreme on 5 Ghz with improved bandwidth (about 10x better throughput in our unscientific testing) and the legacy devices are still happily connected to the older AE router at 2.4 Ghz.

Problem solved!

Enable Free Hour of Gogo on Non-TMO device

If you’re a TMO user, you might already know that you can get an hour of free inflight wifi, but you can get a little more time if you know another TMO phone number and you have another device available, like a laptop or tablet. Even non-TMO customers with a wifi capable device can get access as long as they know a valid TMO phone number.

Test it out:

  1. Fire up Safari on a Mac (or another fine browser on another device)
  2. Change your User Agent to  “Safari – iOS 10 – iPhone” (“Safari – iOS 10 – iPad” might work too)
  3. Point your wifi to join “gogoinflight”
  4. Paste the following address in your address/goto bar, but do not press “return” just yet: http://airborne.gogoinflight.com/gbp/tmoValidate.do?flightNumber/DAL884/flightOrigin/SAN/flightDestination/MSP/tailNumber/N917DN/macAddress/g3:2k:ad:bc:16:63/clang/en_US/client/tmo
  5. Replace the red text with information from the device you wish to activate and information from the flight you are on. The correct tail number and destination/arrival codes don’t seem to matter, but I’m assuming the MAC wifi address does so transfer it carefully from your wifi (PC users you’re on your own, but Mac users go to the Apple Menu->System Preferences…->Network->Wi-Fi->Advanced… and copy the Wi-Fi Address at the bottom of the window)
  6. After updating the link, load the address by pressing “Return”.
  7. Follow the website prompts and enter a valid TMO phone number and the CAPTCHA, as shown below:

*7-27-2017 UPDATE* Worked on Delta flight 1876 from PVD to DTW. For step 2, used the following link:

http://airborne.gogoinflight.com/gbp/tmoValidate.do?flightNumber/DL1786/flightOrigin/PVD/flightDestination/DTW/tailNumber/N917DN/macAddress/F8:1E:DF:EB:05:33/clang/en_US/client/tmo

My father-in-law might be proud to hear me recommend: considering recording the tail number of the next plane you board, in case it has Gogo Wifi available.

Updating syncthing and syncthing-inotify on MacOS Sierra

Just noticed that syncthing on my work computer was no longer syncing with my Macs. I used the brew package manager to install syncthing and syncthing-inotify on my Mac, but it appears that automatic upgrades are disabled and must be initiated through brew – may follow up on this later to see if it can be automated.

To upgrade syncthing and syncthing-inotify through Terminal.app and brew, the following commands worked:

brew upgrade syncthing

brew services restart syncthing

brew upgrade syncthing-inotify

brew services restart syncthing-inotify

8GB RAM on macbook6,1

We happened across a macbook6,1 that only had 2 GB of RAM and an old spinning hard drive. Knowing the machine just needed a faster internal drive and more memory to be completely usable, we quickly focused on potential upgrades.

For cost purposes, a 240 GB Kingston SSDNow (SUV400S37/240G) replaced the old hard drive and  the RAM was upgraded to 8 GB, but it took some research on the RAM to figure out what would work best.

Others have reported that 8 GB Crucial RAM kits will work in the macbook6,1, including:

  • CT2KIT51264BC1067
  • CT2C4G3S1067M
  • CT2K4G3S1067M

We purchased this listing on Amazon and at the time we purchased it the last two part numbers, above, were part of the listing; however, the present Amazon listing only seems to include part number “CT2K4G3S1067M” and when our package arrived, the label on the RAM was “CT2K4G3S1067M”. We installed the 8 GB kit on October 2016 and it has been working fine ever since, leaving our macbook6,1 much faster and without kernel panics.

The only slow down my son whines about is the machine not sleeping and waking as fast as it use to, but I told him if this is true, it makes sense. The machine now has to write 8 GB of RAM to the SSD whenever it goes to sleep and it reads this same amount from the SSD when it wakes up. I don’t notice any slow down after the upgrade, but if you believe my 11 year old has noticed this, then the reason above may be in play…

Ignore Software Updates

The App Store seems to handle several apps and keeping them updated, but other apps I just don’t want the App Store to bothering me about.

If you have a similar issue, open up Terminal.app, paste in the following command, and press enter:

softwareupdate –list

It will take a while to churn out a list, it will churn out something like this:

BCS-MBP-2:~ brad$ softwareupdate –list

Software Update Tool

Copyright 2002-2015 Apple Inc.

Finding available software

Software Update found the following new or updated software:

* macOS Sierra Update-10.12.3

macOS Sierra Update (10.12.3), 1024181K [recommended] [restart]

* iTunesXPatch-12.5.5

iTunes (12.5.5), 113476K [recommended]

 

If you notice the title of the software app you no longer want to be bothered with, copy it and insert its name into the following Terminal command:

softwareupdate –ignore iTunesXPatch-12.5.5

Unfortunately, softwareupdate –list doesn’t seem to be showing third party software apps at the moment – I’ll report back if I figure this out, otherwise, dear readers, please drop a comment below.

Enable TRIM and check status on MacOS Sierra

No secret, I help friends update the performance of their old Macs. Aside from bumping RAM or upgrade operating systems, I will often recommend the replacement of a spinning hard drive with a modern solid state drive (SSD). Using apps like SuperDuper or CarbonCopyCloner, its easy to back up their data and then install a fresh system on a new SSD, which helps to recreate the recovery partition.

After migrating user accounts and data back to the new drive, I like to enable TRIM, if the SSD supports it and most do. To do so, open Terminal.app and paste in the following line:

sudo trimforce enable

You’ll be warned that data loss could occur, but I have yet to find an issue with dataloss on any SSDs I’ve done this with. Press y to continue. That’s it.

If you want to see the TRIM status for your boot drive, execute the following Terminal command:

system_profiler SPSerialATADataType | grep 'TRIM'

Hopefully yours says “TRIM Support: Yes”. Or, if you’d prefer to view the status in a Mac application, you could select the Apple icon in the upper left corner of your screen, choose About This Mac->System Report…, and then choose SATA/SATA Express and scroll down until you see TRIM Support on the right hand pane (note: you also might need to select the drive you’re curious about in the upper right hand pane).

** Update 11-9-2020 **

For those running NVMe drives, this Terminal command should show if TRIM support exists:

system_profiler SPNVMeDataType | grep 'TRIM'

And responding to first comment, below, if your drive responds to this code with “TRIM Support: Yes”, we know trim force worked based on an Apple engineer’s response.

IoT Garage Door Openers

Our garage has a Chamberlain 4620 door opener that has Security+ (not Security+ 2.0). I wanted to control the garage door from my bike (when riding home) and also to control it from inside our house without having to buy additional remotes for each location/vehicle. Everyone in our family carries an iPhone or has access to a mobile browser, so those would be great remotes. I’m a fan of open source hardware and software, so any solution coopting those technologies would be cool. Anyway, the following three were considered:

  1. Chamberlain MyQ
  2. gLink
  3. Garadget

The first logical consideration is the recently updated Chamberlain MyQ, a drop in solution compatible with my opener. Unfortunately, it requires two devices be powered up; one in the garage and one plugged into the internet router with a Cat5 cable. I was pleased to read MyQ works with Siri; however, proprietary hardware and software sucking power in multiple locations irked me.

Looking to third party competitors, gLink popped up. Its a single device that controls the opener with a smart phone, but the remote control occurs over Bluetooth. Our alley has a significant amount of foliage and I know vegetation is not good for radio waves, so I ruled it out.

Bugged that I wasn’t finding what I wanted, I reviewed Indiegogo and Kickstarter offerings some more and came across Garadget, which had several advantages over the previous items I looked at. First, the software and hardware are open source – major win here! If my Garadget were to break someday and the manufacturer decides to stop producing them, there are instructions to purchase parts and make your own. Second, Garadget is one device that communicates directly with our home’s existing wifi network, a second device isn’t necessary. Third, because Garadget is open source, plug-ins for homebridge and other platforms are available to enable Siri and HomeKit. Fourth, because Garadget joins our home’s wireless network there’s not a range issue as it makes your opener accessible through any internet connection. Fifth, Garadget’s compatibility with IFTTT means the door can do things like automatically open as I ride up the alley returning home. Sixth, Garadget can monitor its condition during specific hours of the day and send alerts.

I’ve only had it installed for a day now, but I’m pleased with the results. Will report more later.

Armstrong SX90 SX93 Furnace

My friends’ Amstrong furnace wasn’t working a couple days ago. It would seem to start burning natural gas, but then minute the combination blower tried to start spinning, it would make a bunch of what appeared to be clicking sounds before shutting down and not warming the house.

After following the troubleshooting guide in the manual, it recommended replacing the same blower board that was making the clicking noise.

And looking more closely at the blower board, resistor R1 had brown marks all around the board it was attached to. We pulled the blower board out, looked at the back of it, and noticed that the solder connections were cracked – the clicking noise must have been coming from the bad solder connection and the arcing sparks were browning the board over time. Testing the resistor with a multimeter indeed indicated that the itself resistor was fine, just the connection was bad.

A quick visit to Schwie’s Shop for medicine, in the form of a solder pen, and the board is fixed!

Syncthing, syncthing-inotify, and Qsyncthingtray

Insert taunts below, but I chose to stop using owncloud/Nextcloud after considering several options for my macOS Sierra Server, including: Seafile, Tonido, Pyd.io, CEPH, ownCloud/Nextcloud, BitTorrent Sync, and Syncthing.

The ownCloud/Nextcloud gang was ruled out as the project doesn’t support installation on Mac OS X Server, and this despite folks like me who have run ownCloud on Macs for years with only minor issues. ownCloud/Nextcloud seem to offer many more features than I want, which is just to sync files across several devices.

Of the options I considered, only Tonido, CEPH, and BitTorrent Sync seemed to offer Mac support and then I was fortunate to read about Syncthing. It seemed to have most of the advantages of BitTorrent Sync, only its open source and potentially more difficult to set up.

I dove in and set up Syncthing on my MacBook Pro, macOS Sierra server, and my work’s Dell laptop running Win7. So far syncs are working like a champ across all devices. This post lays out what steps I used to get the titled apps running on macOS Sierra and Win7:

  1. Download brew from http://brew.sh – open Terminal.app and paste in the code from brew.sh or use the following two commands: “sudo xcodebuild -license” and “/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)””.
  2. Install syncthing in Terminal.app, executing “brew install syncthing” – when prompted at the end, also enable the autolaunching feature “brew services start syncthing”.
  3. Optional step – Install syncthing-inotify in Terminal.app, executing “brew install syncthing-inotify” – when prompted at the end, also enable the autolaunching feature “brew services start syncthing-inotify”.
  4. Download Qsyncthingtray from https://github.com/sieren/QSyncthingTray/releases and drag it to your Applications folder.
  5. Open System Preferences and add Qsyncthingtray to your Login items.
  6. Unmount the installer images.
  7. Launch Qsyncthingtray by double-clicking it from /Applications or from Spotlight or other launcher.
  8. Configure Qsyncthingtray’s preferences to be aware of the file path of Syncthing, I told mine ~/Applications/Syncthing/usr/local/bin/syncthing, and for Syncthing-inotify, /usr/local/bin/syncthing-inotify:

Windows instructions:

  1. Download and open up syncthing’s official installer.
  2. Configure Task Scheduler to autolaunch syncthing when computer boots up, using these instructions.
  3. Download Qsyncthingtray from https://github.com/sieren/QSyncthingTray/releases and drag it to your Applications folder.
  4. Optional step – Download Syncthing-inotify.
  5. Launch Qsyncthingtray by double-clicking it from c:/Program Files or by searching for it.
  6. Enter Qsyncthingtray’s preferences by right-clicking the Qsyncthingtray’s icon in Windows’ system tray in the lower right corner of the screen.
  7. Click the “” tab and specify the file paths for where you saved Syncthing and Syncthing-inotify and check the “Launch” box for each.
  8. Finally, add a shortcut for Qsyncthingtray to the Startup Items folder. In Windows 7, that folder was here:

If you want screenshots showing the setup of a single shared folder across all devices, let me know in the comments.