Lock Wi-Fi to Specific BSSID

March 29th, 2017

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

March 18th, 2017

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:


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.

8GB RAM on macbook6,1

February 18th, 2017

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

February 9th, 2017

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

February 9th, 2017

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, which 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).

IoT Garage Door Openers

January 28th, 2017

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

December 8th, 2016

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!

Google Maps City Limits

December 8th, 2016

I find myself wanting to see city limits from time to time and Google Maps can do this. Just replace “minneapolis” with the name of your city in the link below and you’ll see a red transparent image delineating borders/boundaries:



Syncthing, syncthing-inotify, and Qsyncthingtray

November 21st, 2016

Insert taunts now, 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.

ownCloud/Nextcloud were ruled out, as I’m running it on OS X Server, which is unsupported, and even though I ran ownCloud for a couple years with only minor issues, the project seemed to offering many more features than I wanted – I just want 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 all the advantages of BitTorrent Sync, only its open source and might be a little more difficult to set up.

I quickly set it up on my MacBook Pro, macOS Sierra server, and my Dell running Win7 at work. So far its working like a champ. A followup will be posted for macOS Sierra Server later. For now, 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.

Gemini MER6872BAS Repair

October 15th, 2016

Portions of our oven’s keypad were no longer acknowledging button presses. Sometimes power-cycling the oven would allow the non-functioning portions to temporarily work, but this only worked for less than a minute at a time after power was restored, not an ideal fix/workaround.

I decided to rip into the back of the oven and look at things. I started with pulling the button pad ribbon cables off the control board and noticing that the leads seemed to be oxidized. I took an eraser to the leads and cleaned them up, but the problems persisted.

The next time I pulled the back off the oven, I noticed the control panel had a serious blowout at some point, as shown below.

Blown Maytag Gemini Board

Blown Maytag Gemini Board

I looked into online services through eBay, but was deterred by the service details they provided: sometimes the services were only to assess the board’s condition and other times the services covered the control board but not the buttons. With this oven, the control board and buttons are considered one unit.

Not wanting to get screwed by one of these services, I decided to buy a new control board (with buttons) on Amazon. After installing the new control board, full oven functionality returned. The new board gives us a 1-year warranty and since it was charged with Visa, we will have coverage from years 1 to 2 as well.