Xtracycle SideCar enhancements

In 2013, Tina, Liam, and Ella gave me an Xtracycle SideCar kit and I’ve since logged several hundred miles with it, including trips with Suki. Last summer it received upgrades and it logged 500 RAGBRAI miles, so it was time to publish the success here:

1. For anyone who has a SideCar, you might notice the axle makes noise when hitting bumps in the road. If you’re willing to use a screwdriver in addition to the easy-to-use and push-to-release button on the SideCar’s lone wheel, you can remove most axle noise with a single 1/2-inch EMT conduit to 12/2 NM cable as shown in the pictures below.

2. Prior to last year, my SideCar’s tire went flat a couple times. After the first tire wore out, it was time to upgrade to a Schwalbe Fat Apple set up ghetto tubeless (this seems reasonable since tire pressure remains at 50 psi or less). Last summer, I was a cheap bastard and used a single layer of Kapton tape on the stock rim, which allowed a spoke to poke through after 500 miles. This year the Kapton tape was replaced with 2 layers of Whisky 30mm tape (if you try this, consider 25mm tape, 30mm is what I had on hand and it was a bit too wide), a Fattystripper, and 1 ounce of Orange sealant.

3. For bikepacking SideCar trips that need destination power, we mounted a solar panel to the SideCar’s deck and use it to charge Makita 18-volt battery packs. While riding across Iowa in 2021, I brought a pair of Makita 3.0 amp batteries and the solar setup charged them one at a time providing night-time charging for 3 iPhones. At camp, detaching the SideCar with the wheel attached gave it perfect angles for tilting toward the sun:

I strongly recommend this kit and really wish Xtracycle would start selling it again.

** Update 7-1-2023 **
The modifications above have been working fine. One additional note on #1, I realized the nut around the wheel’s button can be tightened or loosened to take up slack. This helps reduce some of the noise, but the key to making it really quiet is to improve the tolerance of the axle as it slides into the SideCar’s housing. I’ve been using a 2.25-inch wide by 1 7/8-inch tall shipping label that seems to have some plastic built into it. I wrap the label around the axle and then slide the axle into the housing. Will update later to see how this holds up, but the solution above helped SideCar cross Iowa a couple times, so I’d say it’s working.

AirPort Time Capsule ssh access

I’m trying to copy some Time Machine backups from one Time Capsule to another and permissions seem to be getting in my way. I’m hoping to circumvent this by using scp to copy files from one Time Capsule to another. Before I can do that, I need to get ssh access to each of the Time Capsules and I was having a heck of a time before I figured out a couple things.

Following these instructions (converted to English) and this thread helped, but the acp and airpyrt scripts would error out. This thread helped me learn that the airpyrt script cannot handle a number IP address, it must instead use the Time Capsule’s mDNS hostname AND for either acp or airpyrt the Time Capsule cannot have a password with special characters – I’ll report this back to Samuel in he or the other developers care to address it.

If you’re hoping to use airpyrt and your Time Capsule’s local IP address is “10.0.1.15” (adjust to your fit in command below) you can obtain its mDNS name through the following Terminal.app command:

dig -x 10.0.1.15 @224.0.0.251 -p 5353

(the output from this command will show a Time Capsule name that ends in .local)

In my case it was “Basement-Shop-AirPort-Time-Capsule.local” (I skipped the period after local).

After revising my Time Capsules passwords to omit special characters, I then used the following commands to install acp or airpyrt (take your choice although acp should be newer and can roll with number IP addresses). I’ll refine the commands below when I try again from a Mac that is not yet configured to make these connections.

First, I’m pretty sure we have to do this with Python 2, not 3, so use brew to install pyenv and enable it in Bash shell:

brew install pyenv
eval “$(pyenv init -)”
pyenv versions
pyenv global 2.7.18
python –version
pip install acp (might be able to skip this?)
npm install –global node-acp (might be able to skip this)

Or, if you prefer to use airpyrt, follow these instructions.

I followed some additional advice here:
https://www.reddit.com/r/jailbreak/comments/f01d2r/tutorial_how_to_jailbreak_an_apple_airport_device/
https://sites.google.com/site/lapastenague/a-deconstruction-of-routers-and-modems/apple-time-capsule-repair/change-country-on-airport-router

To do cute things like get a list of all MAC addresses connected to an AirPort, Josh has a ruby script. And Jörg is trying to mount the hard drive. Ray has all kinds of good stuff (link is likely broken, Ray disappeared?). Ray battles power supplies and temperature issues and changes country codes.

** Update 1-29-2024 **
To connect with OpenSSH_9.4p1 or newer, I had to use:

ssh -oHostKeyAlgorithms=+ssh-dss root@10.0.1.1

** Update 10-4-2024 **
To connect today, the above command worked until I disconnected and tried to reconnect. I don’t know why, but dropping the “+” symbol and using the following command helped to reconnect:

ssh -oHostKeyAlgorithms=ssh-dss root@10.0.1.1

Bosch SHU8805 and Bad Odor

We love our Bosch SHU8805 and it just turned 20 years old. Recently we noticed our plates had a white film on them, a bad odor was emitted through the sink when the discharge pump operated, and less heat/steam erupted from the dishwasher when opening the dishwasher door during or at the end of a cycle. Additionally, some nasty black sludge was hanging from the bottom inside of the door and some little black bits were caught in the drain mesh. Time to fix this!

For those needing a quick hack to stop the smell and keep limping by with what you’ve got is to clean out as much of the black matter as possible and jack up your hot water heater to the maximum temperature. We used this approach for a couple weeks until I had time to get my hands dirty.

I went through a bit more hassle than I needed to, but I wanted to make sure other components in the dishwasher were fine. If you want to skip my additional troubleshooting, skip to step 3, below.

1. It’s a good idea to make sure the heater element isn’t shot, so check it’s resistance. The heater element itself is somewhat a consumable item and Bosch wants you to replace the entire heater assembly for a couple hundred dollars. A guy in the U.K. made his own heater element replacements, but when I checked he was out of stock and frustrated with how eBay was handling his transactions. I plan to buy one from him if he ever carries more stock… Unfortunately, checking the heater element resistance requires pulling the machine out from under the countertop and using a multimeter.

Heater element poles are identified by white arrows.

I watched this video for some pointers and, fortunately, ours checked out fine! I pulled all the wires off the heater element assembly, including the thermistor, flow meter, and shut-off and measured:

  • 48.7 kOhms at thermistor
  • 4 ohms at 185 degree F shut-off
  • 14.4 ohms across the heater element poles
  • 0 ohms between heating element pole and ground

  • 2. Here’s the full throubleshooting chart for the heater element:

    While assuming the heater relay was faulty, I still wanted to follow the chart to a few of its end points to make sure nothing else exhibited damage. Anyway, after obtaining the resistances above, I pushed the machine back in place under the countertop since it was late and I still wanted to loosen the door panel to observe the control board. One note, the black plastic inside the door panel is very brittle after 20 years. The black plastic covering the control board pretty much disintegrated into little pieces in my hand when I pulled it out. It was so bad I had to use a zip-tie on one side to secure it inside the dishwasher while buttons are pressed.

    Skipping to the good part, I removed the control board to find the heater relay was indeed looking bad with black stains all around it on the control board:

    White arrow points to bad relay, see black stains on board.

    Close-up of relay, stains somewhat cleaned up.

    The bottom side of the control board shows where the heater relay blew itself off:

    Bottom of board where bad relay blew off.

    Bottom of board closeup where bad relay blew off.

    The black stains cleaned up with cotton q-tips and 99% alcohol, paving the way for a replacement relay, although I should find out if some sort of board sealer is required to stabilize what remains – I’d probably just buy a new board, but Bosch doesn’t make them anymore! And seeing all the heat damage makes me wonder why our model dishwasher wasn’t included with CPC’s safety recall that Bosch also mentions on their website.

    3. Before buying replacement relays, I soldered a jumper wire from the blown part of the board to a nearby pad on the same trace. I then initiated a 20-minute test program and the dishwasher was producing heat again, woohoo! Knowing the jumper wire is a temporary fix with the existing/damaged 10 amp heater relay, I purchased two more relays; one from MicroCenter and one from Amazon. Surprisingly, MicroCenter was the fastest option; I reserved 2 relays from MicroCenter Wednesday evening and the next morning they said I could come pick it up in-store, whereas Amazon’s part arrives Friday, I’ll keep that one as a spare or maybe return it. The new part is manufactured by NTE and rated at 12 amps, whereas the original part is rated at 10 amps. If the NTE 12 amp relay doesn’t last long I may order up a larger 16 amp relay that others on the web are reporting good success with (see video description in this YouTube video for the part number).

    4. After using my trusty solder gun, the removed relay exposed an area on the control board with significant damage. I can see why models in CPC’s recall caught fire, as the condition of our control board appears to have been on a similar path with the top side of the PCB coating completely eaten away:

    Here’s the replacement relay next to the removed relay:

    After soldering the new relay into place, I noticed the leads on the board were starting to yellow, notice how the leads on the left of the power jack are yellowed and the leads to the right of the jack are shiny after yours truly scrubbing them with an eraser:

    Finally, here’s the plugged in board going back into the dishwasher panel:

    Thanks to the thousands of people who went through this and published info before me, I’m so happy to be on your shoulders and have saved our trusty Bosch from a landfill! I also used information sources, below, if you’re looking to see test methods or soldering techniques:

    https://www.youtube.com/watch?v=-g43ZMtQwUI
    https://www.youtube.com/watch?v=-g43ZMtQwUI
    https://www.youtube.com/watch?v=Jb8gAnMb2zQ
    https://www.youtube.com/watch?v=BK9RVGy4MX0 (this guy makes the replacement heater element)
    https://www.unlimitedapplianceparts.com/heater-assy-bosch-00480317-00480317/?utm_source=google&utm_medium=surfaces&utm_campaign=shopping (if I were to buy a heater element, not this time!)
    https://www.youtube.com/watch?v=YjNHI1xJPmE (should I ever need to rebuild the heater element)
    https://www.youtube.com/watch?v=snV2eZb8FoE (short tutorial on testing relays)
    https://www.youtube.com/watch?v=2i8TUZoSdP4 (info about decalcifying Bosch dishwasher)
    https://wowsoclean.com/how-to-clean-dishwasher-heating-element/ (should I ever need to decalcify the heater element, maybe running vinegar a couple times a year replaces the need for this?)
    https://web.archive.org/web/20120403222555/http://gregpye.wordpress.com/ (musings from others)
    http://www.farmfreshmeat.com/2014/04/bosch-dishwasher-stuck-on-1-second.html (more musings from others)

    KitchenAid KSCS25FJSS01 and Whirlpool Every Drop Filter 5 (EDR5RXD1)

    I bought a set of Whirlpool Every Drop Filter 5 cartridges for our KitchenAid KSCS25FJSS01 side-by-side refrigerator. 6 months ago, I noticed the first Filter 5 I installed in refrigerator was really hard to install. Upon removing it 6 months later, I looked at the threads and they were well worn from where I installed it:

    It appears Every Drop made these threads too deep, so I used a file on the next filter I was about to install and removed some plastic as shown in this pic:

    Boom, the filter installed effortlessly this time. I removed about half the plastic at the thread as seen in the closeup above. I’m going to follow up with Every Drop and Whirlpool, this is either a design issue or a manufacturing error that they probably already know about since I’m getting it to it at least 6 months after I purchased them.

    ** Update 5-2-2022 **
    This morning I contacted Whirlpool at 800.442.9991. Brandon with support kindly forwarded me to Whirlpool’s “Water Filter Deparment” who then had a female representative review my KitchenAid model and cross-reference it with their filter offerings, eventually confirming the Every Drop Filter 5 is the correct option for my refrigerator.

    I explained to her that I purchased a multi-pack of Filter 5’s from a local store and removed a filter I installed 6 months ago that required considerable effort and, upon removing it, I noticed damaged filter threading in the pictures above and how it was potentially damaging my refrigerator housing. I told her how I have since modified the threads and offered her pictures on my blog, but she said she had “no access”. She continued that she has no access to the supplier’s quality control for these filters since it is a separate company from Whirlpool, she offered to replace my filters for a discount, and she would “add a note to my file” about our exchange. I told her I didn’t care so much about a replacement filter or a note to my file as I wanted Whirlpool’s filter supplier to know that these filters are not being manufactured to specification and that they could be damaging housing on other people’s older refrigerators. I offered to send her an unopened filter for Whirlpool’s inspection to correct the matter. Prior to this I should have requested her name again, but she eventually hung up on me and was not interested in escalating the issue I was observing. Surely someone at Whirlpool cares, I may try other channels.

    ** Update 5-6-2022 @ 11:00 A.M. CDT **
    This morning I spoke with Whirlpool’s support specialist, Diane. She informed that counterfeit products are sold by others. I purchased my filter from Amazon and a couple others from a local store; however, she said both of those channels are not authorized resellers. I’m a bit surprised, as my Amazon order says the seller is “Amazon.com Services LLC”, which most manufacturers allow – not Whirlpool.

    So, if you want a guarantee with your Whirlpool/Every Day Filter 5, only buy it from Whirlpool. Since my filter has threading that is too large, Whirlpool is basically chalking this up as a counterfeit seller. I may take this up with Amazon, next.

    ** Update 5-6-2022 @ 11:30 A.M. CDT **
    Whirlpool website list 30 authorized resellers around me and presumably includes Amazon if they are the authorized reseller. I call Whirlpool back and this time reached Toni, she’s looking into why Diane told me the information above.

    Toni came back on the phone and said I will have to take this up with Amazon. I told her that’s fine, but when I take it up with Amazon, they tell me to take it up with Whirlpool.

    I told Toni I’d push Amazon on it again. To do so, I asked her if she can send me the warranty that Whirlpool would offer on this filter if I had ordered it from them. She said she’d check with her supervisor and get back to me. I told her I want an email copy, whether it is 6 months or whatever, I want to see it in writing.

    ** Update 4-20-2023 @ 22:30 CDT **
    The modified filter appeared to hold up fine until now, the orange filter light illuminated on the refrigerator. I had one more in my 2-pack, so I modified it similar to above only I rushed it more this time just grinding away most of the screw-in surface. After coming back downstairs, I noticed a dripping noise in my shop. I think my hack isn’t quite working and it allows too much slop in the filter when it’s screwed in or the female refrigerator housing is now cracked. To test this out, I ordered a new filter, a Culligan CUW5. I’m going to try and install the CUW5 without modifying it. If that fails to stop the leak, it’s easy enough to replace the refrigerator’s female housing. The female housing isn’t cheap, fortunately Dey stocks it locally for a premium.

    AirPort Time Capsule 2nd Gen and Cisco WS-C2960S-24TS-S networkQuality test results

    I perused Adam Engst’ TidBits article on using networkQuality through Terminal.app in Monterey. Just to memorialize what our network of AirPort Time Capsule and Express devices paired with a Cisco WS-C2960S-24TS-S musters up, I’ve saved test results below. The first test was run via WiFi and the second test was via ethernet (gigabit connection back to a Cisco managed switch that is connected to an AirPort Time Capsule):

    WiFi test:

    Ethernet test:

    I’m impressed with these results. Sure WiFi could be faster, but I’m really impressed how the Apple and Cisco equipment holds its own several years after being discontinued and lacking features like SQM – I expected the loaded results to be an order of magnitude worse than what is reported above.

    Updating syncthing and syncthing-macos

    Years ago I installed syncthing with brew and I later added syncthing-macos to view it’s status graphically from the Mac’s menubar. I perused this site for some of the configuration. Updating syncthing-macos to the latest version is possible by going to the menubar, selecting the syncthing icon, choosing “About”, and then “Check for Updates”:

    To update syncthing (the executable that syncthing-macos reads from) as a formula, execute the following brew commands in Terminal.app:

    brew services stop syncthing
    brew upgrade syncthing
    brew services start syncthing

    Completing the above commands moved my Mac’s syncthing from version 1.15.1 (Big Sur) to 1.19.2 (Monterey). Package managers are so slick.

    ** Update 6-16-2022 **
    Still running Monterey and the procedure above worked well. You can keep syncthing-macos running, I just ran the Terminal commands and syncthing-macos’ menubar icon gains an exclamation point while this change is going through. When brew finishes updating syncthing, syncthing-macos loses its exclamation point and things continue running as they were before.

    ** Update 11-2-2022 **
    Still running Monterey and the procedure above worked well to upgrade from syncthing 1.20.4 to 1.22.1.

    ** Update 1-6-2025 **
    I installed the brew formula for Syncthing and then installed the official syncthing-macos as a brew cask using this command in Terminal:

    brew install --cask syncthing

    Will post later on how the syncthing cask updates itself.

    ** Update 1-24-2025 **
    Well, that didn’t last long. On January 15, Syncthing auto-updated and afterward Syncthing could launch itself again. I figured this out, because its log file was stuck on January 15.

    To get around this bug, I downgraded Syncthing to 1.26.0 and then upgraded to 1.29.2 using releases posted here:

    https://github.com/syncthing/syncthing-macos/releases

    I’d still like Syncthing to go back to using brew, but that may have to wait for now.

    SSD Fix

    My macbookpro11,4 has been rocking a 3rd party SSD since I picked it up and the last couple weeks I’ve started biking to work. The weather is still cold here and suddenly my Mac was exhibiting kernel panics, argh:

    panic(cpu 0 caller 0xffffff801a5597c6): nvme: "3rd party NVMe controller. PCI link down. Write. fBuiltIn=1 MODEL=ADATA SX8200PNP FW=32B3T8EA CSTS=0xffffffff US[1]=0x0 US[0]=0x2 VID=0xffff DID=0xffff CRITICAL_WARNING=0x0.\n" @IONVMeController.cpp:6053
    Panicked task 0xffffff90357de670: 178 threads: pid 0: kernel_task

    Growing slightly panicked myself, I figured that maybe the temperature changes had exacerbated the cheesy contacts on the 3rd party NVMe adapter I use. To fix, open your Mac, remove the NVMe adapter, gently rub the contacts on both sides of the adapter with a high polymer eraser (one of those white ones, I used a Pentel UPC 072512027660), and then re-insert the adapter with your NVMe SSD in your Mac. After rubbing/erasing the contacts the kernel panics disappeared.

    ** Update 5-28-2022 **
    The panics returned, so I opened the macbookpro11,4 up and pulled the NVMe adapter out. This time I used a 10x loupe on it and discovered several of the pins are not attached to the board, this is bad quality control. Even better, I pulled out another adapter that failed a couple years ago and found a similar issue where only one pin had broken away from the board. Seeing that the old board was an easier repair, I pulled out my trusty soldering gun and reconnected the lone broken line. I put the ADATA NVMe back in my macbookpro11,4 with the older NVMe adapter and every is great, I’m writing this post right now with the old NVMe adapter.

    Time to head to Amazon to process a warranty claim on the newer NVMe adapter and it’s failed connection points:

    ** Update 9-27-2022 **
    The panics stayed away today when they returned. I pulled the NVMe adapter out and I didn’t bother to look at the solder points this time, but the temperature has started to drop around here and I’ve been going to work 3 times a week. I decided to clean the pads on the NVMe adapter with a fiberglass pen, which worked well on Tina’s laptop yesterday. Will report back, but the machine is already booted back up to write this and the entire thing feels faster and so far: no panics.

    ** Update 11-29-2022 **
    So, the drive died again. And now I see what’s going on. The SSD is attached to a cheap Sintech adapter that has pins that keep popping off the adapter’s PCB. When the pins intermittently make a connection, it erratically disconnects power from the poor SSD and has now made it inaccessible, AGAIN! Worse, my Time Machine backups stopped while I was out of town, so my nearest backup is from 11-23-2022, which should be pretty good. Before I try recovering from a backup, I need to resolder the darn Sintech pins (should I trust the adapter any more?!) and then try to read the data after I execute a power-cycle method on the SSD. Last time I tried the power-cycle method I lost my data, but the drive was fixed and readable again so I never sent it back to ADATA for an RMA replacement. I’m in the middle of the power-cycle right now. I’ll post pictures later, but based on this pin-out guide and description I taped over all of the SSD’s pins except for pins 1-4, then I put the adapter gently into a USB enclosure and connected it to my MacBook Pro with a USB cable to power it up. Interestingly, during the first 7 minutes the light on the external USB enclosure illuminated and did not flash. After 7 minutes, the light started to flash. Presumably the flashing means the power-cycle method has been initiated and it is now erasing the SSD’s cache as the best response in this thread indicates. I still have it unplug it for 30 seconds and then power it another 30 minutes. More soon…

    ** Update 12-19-2022 **
    A couple weeks ago I sent my ADATA NVMe back for a warranty swap and needed a place to store my data, so I picked up a Samsung 970 EVO Plus. Kernel panics and sudden restarts continued with the 970, what gives?! I’m reading here that TRIM issues can lengthen restarts, but what about panics? Also, tonymacx86 recommends these NVMe drives on Hackintoshes, maybe I should check out a Western Digital NVMe? Finally, I’m actually excited to Ventura, because if I can revive my macbookpro11,4 it means I’ll have to use OpenCore Legacy Patcher and will have access to the SetApfsTrimTimeout patch described here. Also, the 970 makes this Hall of Fame list with the caveat that TRIM is disabled.

    ** Update 12-20-2022 **
    Still working on this and now I think I’ve figured it out. The macbookpro11,4 runs flawlessly when it is in its dock at home and attached to a pair of Thunderbolt displays, but the minute I yank it out, put it to sleep, and try to go mobile the macbookpro11,4 starts to randomly restart. Being plugged into Thunderbolt Display ports helps to mask this issue and it is indeed a board level repair to correct the issue as described here https://www.youtube.com/watch?v=_QC_KcnPQmE. I ordered up 4 replacement MOSFETs, FDMF3030 variety, from DigiKey and others should work too. I received a brand new hot air workstation today. I’m probably stupid foolish to make this my first hot air workstation repair, but I’ll probably give it a go after I practice on other boards. Wish me luck! I don’t have one of the recommended ultrasonic cleaners (Crest PH1200 or P500h45), so I’ll just clean the board/work area with plenty of alcohol. To test the old FDMF6808 mosfet chips after they are removed, use the testing procedure here after they are removed. These folks also describe and show pictures of the MOSFET repair. Also, the MOSFET repair is discussed here.

    ** Update 12-21-2022 **
    I woke up in the morning to find the macbookpro11,4 dead, not responsive to anything except the charger light goes green when it is plugged in. The FDMF3030 chips have yet to arrive, but my hot air workstation did. I may begin practicing on the now dead board by removing the old FDMF chips and try reflowing them. And I may remove the old FDMF chips and test them. Even if the existing FDMF chips aren’t bad I have better chips coming. With my non-existent hot air workstation skills I may be destined for a fail with this repair, but at this point I have nothing to lose.

    Before repairing the board, I need to read up on the optimal temp and flow rate and remove the heat sink so I don’t cook the CPU, which may already be fried. Darn, I wished I’d ordered the FDMF3030 chips earlier and repaired the board before things worsened, but it took me a while to figure all of this out.

    ** Update 12-28-2022 **
    I picked up a macbookpro11,5 from a local auction. I’ve got it up and running, but now I’m seeing the same issue. The machine randomly reboots when it is running on battery and at a low CPU state. I may put the FDMF3030 chips to use yet. More later.

    ** Update 10-1-2023 **
    Sorry for my lack of updates, it’s been nearly a year and busy… Brief update, the macbookpro11,5 I purchased is working flawlessly today. The reason why the NVMe kernel panics were happening was the NVMe adapter card was cracked. I had tried to resolder its leads, but that wasn’t the actual problem. The problem was the adapter’s plastic housing that the NVMe slides into, this plastic housing had cracked and allowed the leads to occasionally disconnect. After I bought a new NVMe adapter card, it came with an adhesive pad that is placed over the top of the adapter once it is inserted into your Mac. The pad supports the adapter plastic by pushing off the bottom case of your Mac. Since installing the new card, no more adapters – yes!!! It’s frustrating we need the pad though, why not just make the plastic on the NVMe adapter a bit thicker and stronger?

    ** Update 7-12-2024 **
    My macbookpro11,5 that I purchased from k-bid.com is now freezing every few days while running on Sonoma. I think it is likely the FDMF issue and I still have the FMDF3030 chips – when I work up the nerve I’ll do the swap. Until then, I’m using the

    VirtualBox and virtual machine startup error

    I added a Mojave virtual machine to VirtualBox on my Mac running Monterey, but suddenly neither of my virtual machines would launch, each spewed a message like this:

    virtualbox Kernel driver not installed (rc=-1908) Make sure the kernel module has been loaded successfully. where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The support driver is not installed. On linux, open returned ENOENT.

    and

    Error Domain=KMErrorDomain Code=27 "Extension with identifiers org.virtualbox.kext.VBoxDrv,org.virtualbox.kext.VBoxNetAdp,org.virtualbox.kext.VBoxNetFlt,org.virtualbox.kext.VBoxUSB not approved to load. Please approve using System Preferences." UserInfo={NSLocalizedDescription=Extension with identifiers org.virtualbox.kext.VBoxDrv,org.virtualbox.kext.VBoxNetAdp,org.virtualbox.kext.VBoxNetFlt,org.virtualbox.kext.VBoxUSB not approved to load. Please approve using System Preferences.}

    Then I finally realized what the problem was. I had recently disabled SIP. To fix the issues above, I had to re-enable SIP following these steps:

    1. Reboot Mac in recovery mode, hold command and R when restarting your Mac.
    2. In recovery mode, open Terminal.app and execute the command “csrutil enable”.
    3. Restart your Mac and log in as usual.
    4. Launch VirtualBox and then open System Preferences->Security and allow access to Oracle. You may have to reboot one more time after doing this.

    Before figuring this out, I had also uninstalled and reinstalled VirtualBox, but I’m not convinced that is completely necessary.

    Panama City: Transit, Wireless Data, and Canal Info

    We had a wonderful week in Panamá, including Panama City and Bocas del Toro/Bastimentos Island. I just wanted to spew some info and links here for others who may be visiting and want to know how to get around by bus/rail from PTY and how to get wireless data service going using a local carrier on an eSim.

    Transit
    After landing at PTY, get yourself a Bus Card and charge it with a few dollars to get around for your trip. At PTY’s baggage claim area and to the left of the doors to go outside, you’ll see at least one staffed booth. I approached it and a woman inside selling SIM cards offered to sell me a Bus Card. It was $5 for the card, which includes $3 of value already on the card and you’re spending $2 to obtain the card. I tried asking her for a RapiPass, but she didn’t seem to know what I was talking about, most likely my muy mal español. After I bought the card for $5, I told her I wanted to put another couple bucks on it, so she walked me to a red automated kiosk adjoining her booth and helped me put another couple billete on the Bus Card.

    From the Terminal, I had planned to walk us 3 blocks to catch an S480, which would have taken us all the way downtown without transfers, but it was pouring rain. Instead, we walked across the first two lanes of traffic and started walking to the left down the pedestrian sidewalk and the buses. At this point, we had several cab drivers following us trying to pitch their services, but I love mass transit and refused. Sadly, it had been a long flight and before I could get us on a different bus that left from the covered/dry area attached to the airport my lovely bride had reached her end and desired a cab. We overpaid $30 including tip to go to the old town, but it was probably worth it.

    I wanted to catch a Diablo Rojo while we were there, and I can report they are still operating as of this post, but we never rode one – came so close though! None of them seem to be labeled and I don’t know their routes, so we opted to stick with official buses and trains (Linea 1 y 2) as we were packing a lot into a couple days in Panama City.

    Riding the bus… For getting a smaller local bus or a Diablo Rojo, you may need to wave them down. For most of the bigger Metro buses, they seem to just stop if you’re at a marked bus stop, but you can even wave them down if they’re in a slow area (we did this once coming back from Panama Canal). We used one Bus Card card for the 4 of us – as we boarded the bus, the first person touches the card to the yellow scanner body, pushes through the turnstile, and hands the card back to the next rider. For getting off the bus, you just need to scan the card once and then we each walked through the turnstile. For riding the trains, entrance is the same as buses, but to leave a train station you each must scan once and hand it off to the person behind you, we moved to a quieter turnstile and found hand-offs easy.

    For getting to Panama Canal, it was pouring and we got on the wrong bus. Fortunately, a lovely local Panamanian woman noticed our error, took us off the wrong bus, and walked us to Estacion Cinco de Mayo – we thanked her before she walked off in the pouring rain to probably catch the next bus. She was so kind and this should help you understand how warm and welcoming Panamanians are. Once again, thank you rojo-hooded señora!

    After she guided us to Cinco de Mayo Estacion, we took Linea 1 to Albrook. At Albrook station, we scanned our Bus Card to exit and walked up to the bridge to walk over the buses to the transit terminal. From the transit terminal, we picked up a RapiPass card, because I incorrectly assumed we needed one – note, RapiPass cards have the advantage of working on buses, trains, and turnstiles inside the Albrook Bus Terminal for accessing long range buses, but for accessing local buses you do not need the RapiPass.

    Upon reaching the ground-level floor at the Albrook bus terminal, we walked to the far right and out to the doors to the left to board C810 on our way to Panama Canal. This is a local bus and you can board for a $0.25 tarifa using either a Bus Card or a RapiPass. For getting to Albrook Airport a day later, we took C820 from Albrook Mall/Transit Hub, which is the bus directly in front of the C810. The C820 doesn’t stop right at Albrook Airport, but it’s only a 4-block walk.

    We always recharged our Bus Card and RapiPass at Albrook or PTY at standalone automated kiosks, but there’s suppose to be ways to recharge via the web and here, but we never got this to work – I got as far as entering how much I wanted put on the Bus Card and entered my credit card info, but the website always reported incorrect “BIN”. Maybe I should’ve tried a debit card instead of a credit card?

    For useful apps, I trialed PTYCards for free for a week and found it the most useful for checking card balances and uses; it can look up values for RapiPass and Bus Cards. If you want a similar app with no trials, get Saldo Panamá which does the same thing but seems to time-out once in a while for me. For finding bus times and routes, I relied on Google Maps (transit option) and Moovit. I also had MiBus Maps Panamá, but found myself not using it while we were there. Finally, I also tried Metro Panamá, but found it to be the least useful; it offers info about stations, but it was unable to top-up any of my cards despite bragging this as a feature and it has a button for directions that only redirects to Google Maps.

    Wireless Data

    I kept my existing Total Wireless (now “Total By Verizon”) SIM installed inside my iPhone XS Max and added a prepaid data-only local eSIM through Airalo. Airalo offers several options, a country-specific local eSIM (what I selected), a region-specific eSIM (might be useful for folks on a cruise visiting a few nearby countries), and a global eSIM; these eSIMs increase in price. A Panamá-specific 3GB eSIM that is good for up to 30 days cost me $18. I bought the eSIM within the app and installed it before we left – it doesn’t actually activate until you start using data in the country it is activated for. The Panamá-specific eSIM allowed tethering by sharing its wireless data to my laptop and to my kids iOS devices.

    Upon arriving in Panamá, the local eSIM didn’t seem to immediately pass data and I got concerned. Then I went into the SIM settings and enabled “Roaming” and data started working. While in Panamá, the eSIM mostly offered access through the provider Tigo, but on occasion I found it connected to Movistar. Tigo connectivity was good through most of Panama City; however, it only mustered a couple bars in the airplane at PTY, several miles south of the city. Later on the trip, we flew to Panamá’s gulf side to visit Bocas del Toro where Tigo’s connectivity was also good, but it was lacking soon after arriving at Red Frog on Bastimentos Island – note, Bastimentos is well off the beaten track lacking infrastructure like city streets. If I ever make it back to Red Frog/Bastimentos, I might try to improve connectivity by going into my phone’s SIM card settings and change the carrier from automatic to choosing a specific carrier – I didn’t bother to attempt this change until we were back in PTY and on our way home. On our Panamá-specific local eSIM plan, we only used 2 GB over an 8 day trip. Even if we had exceeded our 3GB cap, Airalo offers top-up packages through the Airalo iOS app. Overall, I think you’ll be happy with Airalo and I plan to look it up for our next international venture. Oh, and if you want to price shop for a low-cost eSIM for a specific country, I found the iOS app eSIMs to be useful. DENT Wireless seems to have even better pricing, but Airalo’s excellent integration made it worth an extra $5 for me.

    Canal Info

    Related to finding Panamax ships moving through the Panamá Canal download MarineTraffic. And as mentioned above, take the C810 bus from Albrook, it brings you right to the steps leading up to the Panama Canal’s visitor center at the Miraflores lock.