Rebuilding an old MBP

I had an old, broken 2009 MacBook Pro sitting on a shelf because I had never gotten around to trying to fix it. It had three significant issues:

  1. It randomly kernel panicked every once in a while
  2. It had an SSD drive in it that no longer worked
  3. Three of the keys on the keyboard didn’t work.

Last weekend, I finally decided to see if I could get it into working shape again. To start, I took the back off and removed the failed SSD drive. The MBP is too old to run a current version of MacOS, but it still has a working HD drive, so I decided to install Linux there.

To fix the keys, I tried removing the key caps and cleaning the switches, but after putting them back together they still failed. By chance however, I noticed that if I *smashed* the key beside one of the failed ones (in frustration? 🙂 ) then the original keys would start working for a bit. This led me to pulling that other key cap off and cleaning it, and after putting it back together all the keys worked.

This only left me with the random kernel panics, so I booted the Mac into hardware test mode and let it do a full test. Even after 10 minutes of hammering RAM and CPU (with the fans screaming), there were no failures, so I chalked the problem up to either a Mac driver issue, or something to do with the now removed SSD.

For linux, I just went with Ubuntu, mostly because there was a tutorial about installing on Macs that seemed pretty reasonable. The only wrinkle was the lack of a driver for the MBP’s discrete graphics card. I went for the easy option of doing nomodeset in grub, and ended up with…

I don’t think it’s worth putting a new battery in it, but if I needed a home computer for email and web browsing this would be perfectly useful. Nice!

I had a camera.

When the Micro Four Thirds mirrorless digital cameras first came out, I decided I was going to take the plunge and get myself a “good” camera. The one I ended up buying was an Olympus E-PL1. I guess camera geeks recognize that model as not being great, but at the time, it took what I thought were pretty amazing photos.

Over the years though, I didn’t really spend as much time as I thought I would taking pictures, and once cell phones started to have decent cameras, the E-PL1 got relegated to a shelf, except when Deb was using it to do product shots for Sheep’s Ahoy.

Today when I was cleaning up my stash of old USB cables — a bigger task than it might seem; I ended throwing out close to 50(!) — I actually found the camera’s custom USB cable, which had been missing for years. This sparked my interest in the old beast enough to recharge it’s battery and take some shots, to see how it compares to my iPhone’s camera.

I won’t keep you in suspense: The iPhone 8P’s photos were better. I thought that the larger sensor in the E-PL1 might let it take better low light photos, but the images were just as noisy as the iPhone’s, if not worse.

As a quick comparison, here’s one representative photo from each:

By just about any measure, the iPhone picture is better: warmer, less noise, sharper. Oh well. And Deb’s XR takes even better pictures than the 8P! I can’t even say that the E-PL1 had better manual shooting features, since at least for my amateur needs Halide does just as much, and I could even get additional lenses if I wanted to.

Don’t get me wrong. I realize there are still digital cameras out there that take much better photos than any cell phone. They’re just not priced to make sense for anyone who isn’t going to make a serious commitment to photography (like my friend John). I’m happy with the pictures I take on my phone, and I’m sure when I upgrade to the iPhone 12 Pro (or whatever it ends up being called) they’ll be even better. 😉

Who says the iPad isn’t a laptop replacement?

Imagine you’re sitting in a coffee shop, and you suddenly feel the need to do some coding. Your iPad has some decent code editors, but you’d like to execute what you wrote. How about connecting a Raspberry Pi and running it there?

The above is my new fave home-away setup:

  • 11″ iPad Pro
  • Brydge keyboard
  • Magic Mouse
  • Raspberry Pi 4 / 4Gig

What makes this work is that the Pi is both powered and gets a network connection over the USB-C port. To enable that, all you have to do on recent versions of Raspian is:

  • Add dtoverlay=dwc2 to /boot/config.txt
  • Add modules-load=dwc2,g_ether to /boot/cmdline.txt
  • Reboot

Assuming you’ve got SSH on your RPi, at this point you should be able to connect it directly to the iPad with a USB-C to USB-C cable, then use your favourite iOS SSH client to do the equivalent of ssh pi@hostname-of-pi.local, with “hostname-of-pi” being whatever you chose (“raspberrypi” by default). Usually, I use Remoter VNC for SSH but that’s mostly because I’ve owned the full version of it forever.

If you’re astute, you’ll have noticed that it’s not ssh running on the screen above. 🙂 There are many ways to get an actual GUI desktop attached to the RPi, but the one I’ve found works the best for me is (believe it or not) using Windows Remote Desktop. To enable this, on the RPi, you can sudo apt-get install xrdp, and on the iPad install Microsoft Remote Desktop or whatever RDP client you like best. When you create the connection, use hostname-of-pi.local just like you would have for SSH.

There are a couple of downsides to this setup.

  1. The microsoft remote desktop client, at least, is tuned for using a finger on the screen, rather than a mouse. In fact, support for mice on iPad OS is still in its infancy, though I expect it will improve over time.
  2. The RPi is being powered from the iPad, so you can expect the battery life to be reduced — it’s not impossibly bad, but it’s visible. (Btw, if anyone knows of a good USB-C hub that will power multiple devices with a data passthrough, let me know.)

Anyway, if you’re looking to try this, there are lots of good tutorials out there on YouTube and elsewhere, by people who have invested more effort than me. Regardless, I’m happy to try and help if you get stuck, so leave a comment.

Overclocking

In my post about the new home of GCW, I had a picture of the Raspberry Pi based version of the server. What probably stood out the most in that picture was the cool (sic!) ICE Tower active cooling system. That Pi has been rock solid since I turned it on, so given the insane cooler, I thought I’d try playing around with a bit o’ the old overclocking.

The stock CPU and graphics clock speeds on a RPi 4 are 1.5 GHz and 400 MHz respectively. In order to get the CPU clock past 1.75 GHz, you need to install firmware that is in advance of what comes with the standard Raspbian distro, so I figured I’d start with 1.75 GHz. For the graphics clock, I tried 600 MHz, which I’ve seen in a couple of how-to videos.

With those speeds, the Pi booted just fine, but after some heavy use (i.e. 3 simultaneous video playbacks) the graphics became unstable. I backed the graphics clock off to 550 MHz and the performance stablized.

With the ICE Tower running, the core temp never went above 40 degrees Celcius even under the heaviest load — compare that to the Pi thermal throttling at 80 degrees showing a single video with no cooling.

Overall, I’m quite pleased with the result. The combined boosts in clock speeds have made an immediately noticeable improvement in performance. It’s entirely possible that this has reduced the lifespan of the board, but honestly at the price I paid for it, I can live with that.

Divertimento Fall Concert

November 8 & 9, 2019
That’s this Friday and Saturday!

Program:

  • Jacques Offenbach  — Orpheus in the Underworld Overture
  • Johannes Brahms — Variations on a theme by Haydn
  • Camille Saint-Saëns — Bacchanale from Samson and Delilah
  • Mikhail Ippolitov-Ivanov — Caucasian Sketches, Op. 42 “Iveria”
  • Mikhail Ippolitov-Ivanov — Caucasian Sketches, Op. 10

Venue:

Woodroffe United Church
207 Woodroffe Ave.
Ottawa,
Ontario

Concert starts at 8pm. Tickets available at the door.

Commenting

I have set the blog to require registration before you can comment. Apologies. It’s an experiment to see if this will help me manage the egregious amounts of spam I’m getting (even with akismet’s help). If it doesn’t help I’ll turn it off again, but to give you some context, in 12 hours I received 17 pages of spam!