macOS with File Vault doesn’t automatically connect to the Internet on restart

If you have setup a macOS machine that doesn’t seem to connect to the Internet automatically upon restart, I bet it has FileVault turned on.

FileVault is Apple’s encryption utility that encrypts data on a macOS machine. Read more about it here. One of the down sides of turning on FileVault is that it requires the user to login _before_ it can decrypt the disk’s contents. This is done via a special boot partition that is not encrypted with the user’s secret.

Long story short, upon rebooting the macOS machine, it’ll bring up a screen which runs off of an entirely different partition that only presents the user login screen. Upon logging in, the contents of the actual partition are decrypted and the boot process continues. This is precisely why network devices such as ethernet and WiFi don’t start until you login. In a “headless” scenario, one would find themselves locked out remotely. Therefore, be careful about turning on FileVault on a “headless” macOS machine such as a Mac mini.

So far I have not found of a good way to have FileVault turned on and login remotely upon a restart except the following.

Enter the following command on a macOS terminal where FileVault is turned on.

sudo fdesetup authrestart

Upon entering it, you’ll be first prompted for the administrator’s password (assuming you’ve not recently run sudo in the shell) then you’ll be prompted for a username and password for an account that exists on the machine. Once successfully authenticated, the machine will reboot and you’ll not be stuck at the boot screen locked out remotely.

If you find a better way to do this, please leave a comment below.

PyConSK 2018 Experience

Having worked in Python for over a decade now, I thought it would be a great time to engage the community more meaningfully. I was looking for speaking at various Python events. The first one being the BayPIGGIES event on February 22nd 2018. Later, I was invited to speak at PyCon SK 2018 held in Bratislava from March 9-11 2018. My talk was similar to the one given in BayPIGGIES but slightly different. Public speaking wasn’t always my strengths but it’s always great to push yourself out of your comfort zone to do something new.

PyCon SK 2018 was an interesting experience. I definitely got to meet some really interesting and passionate people. Saw some amazing talks and I’m looking forward to the next year’s event. Of course I got to present my talk which was fantastic. The size of the audience was a bit daunting. I enjoyed meeting the nice folks of Slovakia.

ESP8266: Snooping the I2C Bus for devices

ESP8266 LCD Module Wiring

Few weeks ago I was playing around with a 1602 LCD module and my ESP8266. I was disappointed by the number of wires that were running between the ESP8266 and the LCD display. It was a mess!

The I2C bus is a very flexible serial bus invented by Philips Semiconductors (Now NXP) that is used to connect ICs to Microcontrollers at low speeds at short distances.

Continue reading “ESP8266: Snooping the I2C Bus for devices”

10 easy steps to build MicroPython on macOS for ESP8266

Python Programming Language

I have been playing around with MicroPython for a while now. I enjoy writing straight up C/C++ code but MicroPython has brought the ease of Python to embedded platforms especially ESP8266. ESP8266 and MicroPython make a killer combo.

I’ve written about the ESP8266 and built a couple projects with it already. I’ve built a WiFi temperature sensor using the ESP8266 board that publishes the temperature over MQTT to a central data logging server. It’s a fun project.

Continue reading “10 easy steps to build MicroPython on macOS for ESP8266”