About Brad

All-around tough guy.

Batchomatic and 13.5

Tested out Batchomatic on my iPhone XS Max today. I perused some other tips before diving in this and found the last part about how to install the .deb a bit unclear, exactly what to tap. I had previously exported .deb files from iOS 13.3 in anticipation of an upgrade to iOS 13.5 before Apple stops signing it.

To re-install tweaks from 13.3 on to 13.5, I used the following general steps:

1. Update or restore your iPhone to iOS 13.5
2. Install AltStore on your Mac and iPhone.
3. On your iPhone, tap Cydia to update it and install Batchomatic, OpenSSH and Filza.
4. Transfer the .deb file containing your tweaks from your Mac to /var/mobile/BatchomaticDebs on your iPhone (I used FileZilla from my Mac to connect to my iPhone).
5. From your iPhone, open Filza and navigate to “/var/mobile/BatchomaticDebs”, tap the .deb file you placed with step 3, and in the upper right hand corner tap “Install” (don’t bother tapping “Extract”, it won’t help you for this exercise).
6. When the install is complete, move back to Cydia->Search, tap Batchomatic’s icon in the upper left corner, tap “Install .deb”, and tap “Proceed”.

Your tweaks should now install. Mine belched an error message about not being able to install Karen’s AppSync Unified, so I went back afterward and installed it manually. Finally, if you have trouble with errors about not being able to install more than 3 apps, I found a couple issues. One, I had Apple’s TestFlight and another developer’s beta, Eat It, on my iPhone. Two, the 13.5 restore brought back AltStore and unc0ver, so I had accidentally tried installing AltStore twice, this Tweet may also help you out of this issue.

Time Machine .backupbundle repair

On my macbookpro12,1, Time Machine could no longer do backups and I wanted to start a new archive. I didn’t want to lose my previously backed up files nor did I want to start a new backup from scratch as it takes several hours. To repair the existing backup stored on our Time Capsule, I tried using instructions on this guy’s blog.

Sadly, fsck_hfs couldn’t repair my .backupbundle/sparsebundle, so I had to start over anyway! This has happened to me and others a few times in the past, so maybe the instructions above will be useful later. Better yet, copying and pasting the commands above gets old, so I may try the shell script here: https://gist.github.com/ahknight/dec202583a910756c6d9 It also might help to add “fsck_hfs” to your full disk allowed list in System Preferences->Security->Privacy->Full Disk Access. Finally, others have asked me about scheduling Time Machine backups. I may give these instructions a shot at some point, as it may relieve the issues that caused me to write this post.

** UPDATE 7-8-2020 **
This issue came up again with the backups created by my MacBook Pro today. Instead of running all the steps and advice above, I turned to this shell script, which I perused on another site (sorry, I’d love to credit the author, but I can’t seem to find them). I store this script on another machine on my network that has access to the Time Capsul so it can do the dirty work as it seems to run for a while. Here are the updated steps:

0. Disable Time Machine on your Mac, in my case from my MacBook Pro -> go to System Preferences…->Time Machine->uncheck box for “Back Up Automatically”.

1. Open a Terminal window and navigate to the directory where you saved the .sh script referenced above, in my case the desktop:

schwie:~ bradschwie$ cd Desktop
schwie:~ bradschwie$ chmod +x TimeMachineRepairScript.sh
schwie:~ bradschwie$ ./TimeMachineRepairScript.sh

(don’t press enter yet and leave this window open, we’ll be coming back to it in Step 4)

2. Connect to a server on my network (Mac mini) and connect to the Time Capsule’s disk: In a Finder window, look in the left hand pane under “Shared”, click the name of your Time Capsule, and then click “Connect As…”

3. When the Time Capsule’s disk mounts, click the “Data” folder, locate the name of your backup and drag its icon to the Terminal window in Step 1 and release.

4. Press return in the Terminal window.

5. After the script successfully completes repair of the backup, reenable Time Machine on your Mac.

@@ I can’t remember where I got the script linked above, but if you run it from the Mac where your Time Machine backups originate, you could enable and disable Time Machine using (steps 0 and 5) using information from these folks.

** UPDATE 7-19-2020 **
It happened again today and the script once again worked. Not sure why this keeps happening, except I think it may have to do with me putting the Mac to sleep while its in the middle of a backup. Maybe I should start restricting Time Machine to do its backups between 2am and 5am? Here’s the successful script output and my Time Machine is back in action:

schwie:Desktop bradschwie$ ./TimeMachineRepairScript.sh /Volumes/Data/MacBook\ Pro.backupbundle
+ IMAGE='/Volumes/Data/MacBook Pro.backupbundle'
+ '[' -z '/Volumes/Data/MacBook Pro.backupbundle' ']'
+ chflags -v nouchg '/Volumes/Data/MacBook Pro.backupbundle'
/Volumes/Data/MacBook Pro.backupbundle
+ chflags -v nouchg '/Volumes/Data/MacBook Pro.backupbundle/token'
/Volumes/Data/MacBook Pro.backupbundle/token
+ chflags -v nouchg '/Volumes/Data/MacBook Pro.backupbundle/bands'
+ /usr/libexec/PlistBuddy -c 'Delete :RecoveryBackupDeclinedDate' '/Volumes/Data/MacBook Pro.backupbundle/com.apple.TimeMachine.MachineID.plist'
+ /usr/libexec/PlistBuddy -c 'Set :VerificationState 0' '/Volumes/Data/MacBook Pro.backupbundle/com.apple.TimeMachine.MachineID.plist'
+ set -e
++ hdiutil attach -nomount -noverify -noautofsck '/Volumes/Data/MacBook Pro.backupbundle'
++ awk '/HFS/ {print $1}'
+ DEV=/dev/disk4s2
+ echo '/Volumes/Data/MacBook Pro.backupbundle -> /dev/disk4s2'
/Volumes/Data/MacBook Pro.backupbundle -> /dev/disk4s2
+ fsck_hfs -fy -c 8gb /dev/disk4s2
** /dev/rdisk4s2
   Executing fsck_hfs (version hfs-407.50.6).
** Checking Journaled HFS Plus volume.
** Detected a case-sensitive volume.
   The volume name is Time Machine Backups
** Checking extents overflow file.
** Checking catalog file.
** Checking multi-linked files.
** Checking catalog hierarchy.
** Checking extended attributes file.
** Checking multi-linked directories.
** Checking volume bitmap.
** Checking volume information.
** The volume Time Machine Backups appears to be OK.
+ hdiutil detach /dev/disk4s2
"disk4" unmounted.
"disk4" ejected.

** UPDATE 8-17-2020 **
So, it happened again today and the script once again worked. Not sure why this keeps happening, but after running the script and continuing backups with Time Machine, a long clean seems to occur.

** UPDATE 6-28-2021 **
Yesterday, I had to abort my MacBook Pro’s Time Machine backup 2/3’s of the way into it. After aborting, Time Machine told me it was having problems with Time Capsule, so I followed the instructions above and kicked off the script.

** UPDATE 6-30-2021 **
The script took two days to finish up while running on a machine connected via gigabit ethernet, here’s the successful output:

AEX error while updating configuration

I still keep AirPort routers in our house, because they perform fine and are relatively easy to manage. Of course, one AirPort Express proved to be stubborn to configure from my macbookpro12,1.

I had revived this AEX just a day ago and wiped it clean, but any follow up attempts to configure from my MacBook Pro resulted in an error while updating the configuration.

The fix was relatively easy. I moved to our Mac mini which has a wired connection to the network and it was able to update the AEX’ configuration. Better news, follow up attempts to change the configuration from my MacBook Pro are now successful.

Catalina and PPTP VPN

Note: for instructions on doing this with Big Sur, go here.

I understand security is an issue with PPTP VPN connections, but mitigation systems I access have routers that still rely on this protocol. Apple’s macOS began leaving PPTP years ago and with Catalina, the purge is complete. Fortunately, Filip Molcik and his readers have tackled this and I’ve modified their instructions here for connecting with SmartFlex routers as described in the following steps:

1. Open Terminal.app and run the following command (you may need to precede these with ‘sudo’):

mkdir /etc/ppp/peers
cd /etc/ppp/peers
sudo pico pptp_config_file

2. Paste in the following text and replace instances of REMOTE_ADDRESS, USERNAME, and PASSWORD with what is required by your PPTP server (also note, this text includes commands to refuse authentication for EAP, CHAP, and MSCHAP, if you’re connecting to a PPTP server different than a SmartFlex router, you may need to put hashtags on these lines):

pty “/usr/local/bin/pptp REMOTE_ADDRESS –nolaunchpppd”
remoteaddress REMOTE_ADDRESS
user USERNAME
password PASSWORD
# require-mppe-128
# logfile /tmp/pptp_vpn_log.txt
## Other settings
noauth
refuse-eap
refuse-chap
refuse-mschap
redialcount 1
redialtimer 5
idle 1800
mru 1436
mtu 1436
receive-all
novj 0:0
ipcp-accept-local
ipcp-accept-remote
hide-password
looplocal
nodetach
ms-dns 8.8.8.8
usepeerdns
debug
defaultroute

3. Download a copy of Filip’s PPTP library built from Debian:

http://filipmolcik.com/releases/pptp/pptp.zip

And save this file in:

/usr/local/bin

4. To establish the PPTP VPN connection, I’ve found you need to keep the command prompt for Terminal.app in the same directory where the config file is saved from step 1, above. If so, make the connection in Terminal.app with this command:

sudo pppd call pptp_config_file

5. I should make a script for this, but I use it so infrequently I may not bother. For now, I disconnect by opening Activity Monitor, searching for PPTP, highlight it, click the “x” button, and choose “Quit”.

After making the connection, pptp surged to using about 90% of the cpu on my macbook12,1, but it has since settled down. Thanks, Filip!

Should these connections require MPPE in the future, we’ll need to replace the downloaded file in Step 3 with this library.

Last note, my MacBook Pro connects and pings the ip address it receives, but it can’t ping anything else on the network. Will hopefully resolve this soon.

WS-C2960S-24TS-S Fan Noise Reduction

I grew tired of our aging 16-port SMC 10/100 switch that had a couple blown ethernet ports and was causing problems with an AirPort Express in the back room. The switch last about 20 years, so I’m not complaining. Since that time, close to 24 devices or ports remain on our wired network and of those, several are now capable of gigabit ethernet. The time seemed right to upgrade to a gigabit switch.

I figured why not go all-in, so I picked up a Cisco WS-C2960S-24TS-S on the cheap on eBay for $30 shipped – I mean, I didn’t want to lose money here. You might ask why? We’ve got several Apple AirPorts that don’t do SNMP, but a managed switch does so I’ll now have a little bit better feel of network health. Upon receiving the switch, I soon forgot where these switches typically reside: noisy wiring closets with fans and other hot devices nearby. After firing it up in my shop and mounting it to the wall, the whoosh of the single fan was super loud. Sadly, I didn’t take sound measurements, but ask my wonderful kids and they’ll attest to it – you could hear it throughout the entire basement!

Since it was only $30, I figured why not fix this? The switch is mounted on the wall of my shop, in the basement, where it is rather cool all the time. That and our network doesn’t use the full bandwidth capacity the switch can handle. So, I opened the switch up with the intent of installing a step down converter:



The switch was easy to get into, just 5 sheet metal screws on the back side of the router. The cover easily slides toward the same side the screws were removed. Easy access!

Inside, there’s a small bundle of four wires connecting the logic board to the fan – looks like Cisco is using pulse-width modulation. Black is the negative, red seems to always run at 12 volts, yellow operates consistently at 2 volts, and the blue wire appears to be the tachometer measuring 4.5 volts when the switch turns on and reducing 2.7 volts when the router finishes its startup procedure.

The step down converters I have in-stock can handle input voltages between 4.75 and 24 – so much for stepping down the blue wire, but the fan’s red wire seems to be a candidate. In the pic below, you’ll see that I cut the red and black wires and spliced in a step down converter that reduced the 12-volt fan power to 7.3 volts. The kids approved of the noise reduction, so I wrapped the step down converter in some knock off Kepten tape and put the cover back on.

With the switch back on the wall, the fan is still audible, but I still wanted some air flow and didn’t want the step down converter getting too hot. Using my paid-for and excellent copy of db Meter which you can also use for free 5 feet from the switch, I’m measuring an average of 31 db. Success! After running the switch for an hour, the temperature is 29 degrees C – an increase of 2 degrees from what I noticed prior to this hack – will keep an eye on this. If the fan noise continues to bother us, I’ll consider getting another step down converter than can handle inputs down to 1 volt, a smaller fan, or maybe even taping over the inlet and outlet ports of the existing fan to further reduce air flow.

macbookpro5,1 sleep and DOSDude1’s Catalina

We tossed DOSDude1’s patched Catalina on a macbookpro5,1 for a friend and noticed that when the MacBook Pro’s screen was closed and the sleep indicator on the front of the Mac illuminated, the MacBook Pro was not actually going to sleep and was unresponsive after reopening the screen.

This Mac is a 2008 machine, upgraded with a Kingston 240GB SUV400S37/240G. After the machine failed to wake from sleep and we restarted it, we found a crash log with a Sleep Wake Failure event.

Turns out the fix is easy. Go to System Preferences->Energy Saver and uncheck “Put hard disks to sleep when possible” for “Battery” and “Power Adapter”. Now the Mac goes to sleep and wakes up just as it should.

Cisco Network Assistant

I downloaded 6.3.4 of the Cisco Network Assistant to configure this router, but it wouldn’t launch. I greeted with the error message “The application cna_mac_k9_6_34_en can’t be opened”.

To fix this, open Terminal.app and paste in the following string and then drag and drop the CNA app on top of the Terminal window:

chmod +x

In the my case, it looked like this:

chmod +x /Users/brad/Documents/Brad/Service\ Manuals/Cisco/WS-C2960S-24TS-S/firmware/cna_mac_k9_6_34_en.app/Contents/MacOS/*

After doing this, I was able to launch Cisco’s app!

Cisco Catalyst Switch and macOS screen

I replaced an aging SMC 10/100 switch this weekend with a 7-year old Cisco Catalyst WS-C2960S-TS24-S switch that does 10/100/1000. The switch was easily returned to default settings by holding the mode button for 10 seconds; however, the web UI is then turned off by default. The web UI is enabled through the switch set up program, which required my MacBook Pro to make a direct connection to the switch console port using a USB cable. Previously, I would have relied on the ever-trusty ZTerm, but its not currently compatible with Catalina.

The following steps allowed Terminal.app and screen to make a direct connection to the Cisco switch:

Last login: Mon May 18 08:51:17 on console
brad@MacBook-Pro ~ % cd /dev
brad@MacBook-Pro /dev % ls –ltr *usb*
ls: –ltr: No such file or directory
cu.usbmodem14101 tty.usbmodem14101
brad@MacBook-Pro /dev % screen tty.usbmodem14101 9600

After making the connection with screen, I was able to run through the setup process with these instructions to configure Vlan1 port with an IP address of 10.0.1.2 and finally reach the web UI on my network.

macOS old certificates

I was trying to install Mac OS X Capitan on a macbookpro5,1 and during installation came across the error message:

“OS X could not be installed on your computer. No packages were eligible to install. Contact the software manufacturer for assistance or quit the installer to restart your computer and try again.”

Turns out what is causing this error are Apple’s own expired certificates. The workaround is to install Mac OS X with the computer’s clock set in the past. Follow the directions posted on Apple’s website and re-posted here:

1. Use Disk Utility.app and erase the drive you want to install OS X on.
2. Connect to a wifi network or plug in ethernet and download OS X through the App Store. Install as you normally would and arrive at failure point regarding no packages being eligible and an option to restart.
3. In the upper right hand corner of the screen, turn off wifi (top right) and, if necessary, unplug ethernet cord.
4. Go to Utilities->Terminal.app type this without quotes “date 0115124517”
5. Quit Terminal and choose the option to restart (wifi will reconnect automatically or if using ethernet go ahead and reconnect the ethernet cable.
6. The Mac OS X install should continue as expected.

Streakin’ Brother HL-L8350CDW

The above-referenced color laser printer has been a beast of a machine, easily the best color laser of the three I’ve owned, including an Apple Color LaserWriter and a Samsung CLP-415NW. The Brother is now over 4 years old and well off of its warranty, yet its still on the puny original toner cartridges that came with it. Part of that is due to the addition of these reset gears (search eBay for “Reset Gear for Brother TN331 TN336 MFC-L8600CDW HL-L8250CDN L8350CDW”) that tell the printer to keep going because plenty of toner remains:

Reset Gear for Brother TN331 TN336 MFC-L8600CDW HL-L8250CDN L8350CDW

Lately, I’ve noticed prints have been looking dirty, see left picture below, there is extra black toner all over the page giving the paper a gray look and some vertical black streaks are present in the middle. Cleaning the printer’s four scanner windows and four corona wires helped a little, but the output shown on the left, below, remained.

Each toner cartridge has a gear that slowly rotates over the life of the cartridge. The printer reads this gear and guesses how much life and toner remain. When I covered this gear with a reset gear, I had effectively told the printer “New cartridges have been installed!”, when in fact the same old cartridges were still in place. As a toner cartridge ages, it allows more toner to come out, which is what I was seeing in the picture on the left, below.

The fix is easy, just tell the printer to update its color calibration. The color calibrated procedure helps the printer adjust its voltage and reduce the amount of black toner that is released. Here’s the procedure and all you need is access to the printer:

1. Press any key on top of the printer, near its LCD screen, to wake it up
2. Press the “down arrow” button 6 times, the “OK” button 3 times, and the “up arrow” one time.

The printer will run through its color calibration process, which takes about a minute. After it finishes the calibration, try printing again. The printed output on my machine went from left (before color calibration) to right (after color calibration):