USB 3.0 Hub Stops Working on El Capitan

Has your USB 3.0 stopped working without explanation on your Mac? Here’s how to fix it.

I use a lot of external storage and it has been hard to find a USB hub that is fast, connects all my devices at once, and when using a device doesn’t drop other devices connected to it.

Anker 13-Port USB 3.0I finally found one that’s rock solid; it’s the Anker 13-Port USB 3.0 and it does everything I ever wanted.

Things were good until mid-January 2016 when the device started malfunctioning in strange ways. The first three ports did not recognize any device I put on it.  The other ports sometimes worked and sometimes didn’t. Reliability went out the window and I was forced to stop using it.  My guess was that something burned out. I went so far as to buy another smaller USB 3.0 hub, and well, it didn’t work either — so much so I ended up returning it.  I really wanted this hub working.

Curious, I handed the broken device to an electrical engineer and asked him if he could ascertain what was wrong with it. He took it apart, did diagnostic tests, saw nothing wrong, tried it on his computer, it worked fine, and handed it back to me fixed as just a mystery. However the story doesn’t stop there.

The Impossible Behavior

When I connected the device back up to my Mac, it behaved exactly the same way as it did before. I, of course, tried all my Mac’s USB ports.  I even tried a completely different Mac.  Identical failures.

So sure the device was working, my electrical engineer friend pulled out his Microsoft Surface Tablet, connected the hub, and instantly it worked.

We put it back on my Macs, with the same devices that just worked, it failed. Back to the Surface, it worked.  Back to the Mac, it failed.  In short, it was an electrical engineer’s WTF-nightmare.

The Common Denominator and Other Clues

At this point the problem was clearly related to the Mac.  More over, it used to work just fine, at least until mid-January.  What happened in mid-January?  El Capitan 10.11.3.

Both Macs were running El Capitan 10.11.3.

As a general rule, with Apple, the first generation hardware products have flaws, and the operating systems versions don’t usually get all the kinks out until version x.x.4 is released.  This threw immediate suspicion on the operating system, which meant it was time to check if other folks were having similar issues.

Yes they were.  (See this discussion.)

The Fix

While you’d think that one would need to go to Anker’s Driver Download page, that’s not the case.  You need to do two things:

  1. Reset the NVRAM / PRAM. (For a MacBook Pro it’s the Command-Option-P-R chord on boot.)
  2. Reset the SMC.  (For a MacBook Pro it’s the Shift-Option-Command-PowerOnButton.)

When the machine rebooted the USB hub behaved just like it used to.  Problem solved.

UPDATE (21-Mar-2016): With the introduction of El Capitan 10.11.4, it rebroke the USB 3.0 capabilities again.  The Console reports:

3/23/16 4:32:20.000 PM kernel[0]: 000227.351907 AppleUSB30Hub@14400000: AppleUSBHub::start: failed to set configuration with 0xe00002eb
3/23/16 4:32:21.000 PM kernel[0]: 000228.290970 AppleUSB30Hub@14400000: AppleUSB30Hub::start: failed to set hub depth 0 (0xe0005000)

So far, performing the above steps are not working.

OTHERS ARE HAVING IT TOO: Often the problem manifests as if the USB device, or something connected to it, is no longer working or has inadequate power, or is no longer detected by the host system.

Try your device on an older operating system (ideally the same hardware if you can), a Windows box, a Linux box, or even a Raspberry Pi — you’ll see the USB device works properly there.

YOU CAN HELP: It appears Apple may not know about the problem.

  1. Report it as a bug in OS X via the Apple Bug Reporter.
  2. Provide feedback via http://www.apple.com/feedback/

Please be kind when reporting issue, as these are the people who can help you. Give them technical details and model information to help them track it down.

UPDATE (06-May-2016): Apple has acknowledged issue 26102223 in their system and have asked for more information; I’m forwarding it to them.

UPDATE (09-Oct-2016): SOLUTION — It’s LeapMotion’s Fault!!

It seems that the Leap Motion driver may be the culprit here!

Uninstalling the driver (according to their instructions at https://support.leapmotion.com/entries/39493988-Uninstalling-the-Leap-Motion-software-on-Mac-OSX) caused the device to spring back to life without even a reboot required. Credit and thanks to David Ryskalczyk for hunting this down.

*** Between MAY and OCT, this blog suffered a large data-loss pertaining to the comments left by visitors.  I wish I had the original post by David Ryskalczyk reporting his extensive solution.  Here’s what I can manually recreate.

… I figured that maybe this was a software issue. I proceeded to clean install 10.12 on a USB drive — no issues; then 10.11 on a USB drive — *also* no issues! Seems to be software. From there I started isolating things — first with kexts, which turned out to be inconclusive, then with daemons (looking in /Library/LaunchDaemons and LaunchAgents to see what was installed and running). After removing a bunch of stuff I did additional testing and confirmation to figure out exactly what was causing the problem, and sure enough, it was the Leap Motion runtime!
Hopefully this can be fixed so the Leap Motion drivers can successfully coexist with these USB hubs. … I suspect the real cause is that the Leap Motion runtime is tripping up a bug in the Apple drivers.
I (and others) were able to confirm that David’s fix does indeed work.
Apple, after passing on this information to them, merely marked my bug report closed as a duplicate.
This information was also passed onward to Anker, who was very grateful to have the information for answering support calls about it.
I can also confirm that after months of not having the LeapMotion driver installed, my favorite Anker 3.0 USB has been working like a champ.

Low Disk Space? It Might be iTunes.

I noticed that I was freakishly low in disk space, so used DaisyDisk to identify problem directories.

Turns out, a major offender was ~/Library/Application Support/MobilSync/Backup, which contained several years worth of iPhone and iPad backups.

As tempting as it might be, don’t just go deleting the directories inside it.

Instead… use iTunes, which will keep all the internal bookkeeping correct.

Open iTunes / Preferences…, then go to the Devices tab.  You’ll see the name of the backup, an icon if it’s encrypted, and a date/time stamp of when it was made.

Select one or more of the items and press the Delete Backup button.  But beware, they won’t really disappear until you press the OK button.  Closing the dialog via the red window button or pressing Cancel will not commit the change.

This is one of those rare cases where Apple dialogs don’t reflect current state, but intended ones.  And, considering this is the safer way of dealing with data, I’m all for it.

Java 8 on OS X Yosemite

I downloaded a recent copy of IntelliJ, only to discover when I went to open it, OS  Yosemite indicated I had no version of Java installed, and that I’d need to install an old version. The “More Info…” button took me to this page:  http://support.apple.com/kb/DL1572

…which didn’t load.  (UPDATE: This fixed the load issue.) Similar detailed install directions also ended up at the same broken page.

So, I attempted to download Java 8 directly from Oracle and  install install it.  The install worked fine, but IntelliJ 14 still did not open.  Same error message.

Here’s how I solved it.  Hop into terminal and do this:

$ cd "/Applications/IntelliJ IDEA 14.app/Contents"
$ cp Info.plist Info.plist-orig
   
$ vi Info.plist    # ... any text editor will do

Find the line that says 1.6* and change it to 1.8*.  Save your file, and now go open IntelliJ as normal.

This causes IntelliJ 14 to use Java JDK 8, and all is right with the world.

List iTunes Apps by Purchaser

I finally developed a way to list all your iTune applications by Purchaser, and even better, I can do it from the command line.

Last year I was helping a friend who has pretty poor internet connectivity upgrade his iPad to the latest version of iOS. To do this, I connected his iPad to my system, performed a backup in iTunes, then synchronized to update the operating system. This had the side effect of beaming some of his applications to my iTunes, which in order to continue, he authenticated against. His iPad updated great, and he was on his way.

Things on my machine seemed okay for a while, that was until some of the apps he purchased that I didn’t have wanted to update. Not having his password, I wasn’t able to update them, but even worse, Apple wasn’t announcing which apps needed updating with his account so I could simply delete them as I wanted to.

Instead, for over a year, I was greeted in iTunes by a numerical indicator saying I needed up update my apps, but when I went to do it, I was up to date. Every once in a while I’d recognize an app that I didn’t purchase (in a haystack of nearly 1,000 iPhone apps) and delete it. Only then did the number drop, but later rise again when some other app needed updating.

What I needed to do was list out all the apps by Purchaser.

One of things that really annoys me about Apple is that stuff that is trivial to implement, like putting an optional Purchaser column in iTunes, they don’t do. The feature is half heartedly there, though. Press Command-I for Info, and you can see the purchaser for an item.

Only now you have to click and inspect your whole app list. And with the number of applications I own, this doesn’t scale well at all.

Searching the web reveals that others are in a similar bind, and that Apple seems to really care less about the few handful of users with this problem. Like much on the Apple Support Site, it’s unhelpfully silent.

Frustrated, I decided to solve this problem once and for all.  Open Terminal and cut’n’paste the following in:

for f in ~/Music/iTunes/iTunes\ Media/Mobile\ Applications/*.ipa; \
 do (echo "$f" ; unzip -p "$f" "iTunesMetadata.plist" | \
 plutil -p - | egrep -i "\\"(itemName|artistName|AppleID)\\"" ) | \
 perl -e 'while (<>) { if (m!^/!) { chop; $fqn=$_; } if (m/"(.+)" => (".+")/) { $e{lc($1)}=$2; } } print "\\"${fqn}\\",$e{\\"itemname\\"},$e{\\"artistname\\"},$e{\\"appleid\\"}\n";'; \
done

Turning Web Share Back On in Mountain Lion

Apple removed Web Share from Mountain Lion. Next they’ll be removing the Start button… oh, wait… that’s someone else. Here’s how to bring back Apache for those people who use their Mac to test and design websites.

I was rather surprised and disappointed to learn that Web Sharing was removed from Mountain Lion.

According to this post, it’s possible to bring back.

Per-user Web Sharing is gone from Preferences but can be easily re-enabled via Terminal.app. Copy the following snippet into /etc/apache2/users/USER.conf:


<Directory "/Users/USER/Sites/">
 Options Indexes MultiViews FollowSymlinks
 AllowOverride All
 Order allow,deny
 Allow from all
</Directory>

and restart Apache with sudo apachectl restart.

And PHP has been hidden as well, but again thanks to this article, it can come back as well.

Uncomment these lines by removing the leading pound sign in /etc/apache2/httpd.conf:

  • LoadModule rewrite_module libexec/apache2/mod_rewrite.so
  • LoadModule perl_module libexec/apache2/mod_perl.so
  • LoadModule php5_module libexec/apache2/libphp5.so

Resetting MobileMe[ss]

Recently I noticed that my iPhone 4 started acting really, really badly. It wouldn’t unlock when a call was coming in, I couldn’t swipe between screens on the desktop, I couldn’t scroll within mail, clicks in the calendar weren’t working.

What was really strange is that it was Apple’s apps that weren’t working right, the regular store purchases were for the most part. And that’s when I noticed that things seemed to lock up hard when the phone was doing networking, even more so when going over AT&T’s instead of WiFi, though both did it.

What changed? MobileMe, specifically it’s calendars.

When I did the famous upgrade process on the MobileMe site, it never finished; I got the script is running too slow dialog. Later visits to the site threw up dialogs asking if I’d like to let Apple know there’s something wrong.

Eventually my calendar on the website came back, but there were dozens and dozens of repeating events that had happened years ago. I suspect this was a data log jam like no other, and worse, it wanted to push it all to my little phone. There appears to be no online web facility for bulk management. I tried on my laptop as well, but that too became borked as Apple synchronized its new calendar data to me.

I speculate, simply because the GUI would not respond to any input at this time, that perhaps Apple’s own applications may violate the rule about doing updates on the GUI thread. Either that, or that the message pump got so backed up, the GUI just couldn’t respond. How I wish there was an “abort” other than a violent shutdown.

While I’ve reset MobileMe in the past for other reasons, I ended up having to do a bit more.

By pulling the plug on the Internet and rebooting, I was able to come up in an isolated environment where I could shutdown all MobileMe syching and preferences. That let me peek at what was going on.

My thought: if I could recover the calendar on my laptop, I could push the valid subset back onto the MobileMe server.

With Calendar shutdown, my trip began by going to ~/Library/Calendars. Insider there are a bunch of GUID based folders. I deleted anything that had Cache in the name, as well as Calendar Sync Changes.

Then, I went through each folder. The Info.plist files had a Title entry followed by the name of the calendar. If it wasn’t a calendar I wanted, or was suspicious of, I deleted the GUID-looking folder completely.

If it did warrant keeping, I then went into the Events subfolder and looked to see how many .ics files there were. Casual browsing with Apple’s built-in previewer showed what the events were.

In my case, I found one folder related to MobileMe with over two thousand entries. Sure enough there were repeats of the same event, like a synchronization gone wrong, rather than a single event marked for repeation. So, I nuked that GUID-folder as well.

Sometimes there’d be no Events folder, but the .plist file looked like it was going to some external server. Sometimes there’s be an addition subfolder with a GUID-looking name, and maybe even an Inbox subfolder, these seemed to be more associated to GMail. I kept those.

When I restarted iCal, it knew something changed; it announced it was doing an upgrade for the folder formats, and then it presented me with some empty calendars that I knew I had gotten rid of. I deleted those from the application.

Once I was sure I could start and stop iCal without it hanging or requiring a Force Quit, I reset MobileMe.

Some fast tips here on how to do this.

  1. Hold down OPTION which clicking the Sync icon in your toolbar. You can reset the Sync services that way. Apple tells how.
  2. There’s a python script you’ll want to run at the Terminal, it’s inside that “Apple Tells How” link above.
  3. Finally, you want to deregister all your machines from MobileMe via the System Preferences, the machine you’re using last. When you do, it will offer to let you delete all the data off their servers.
  4. Then, when you re-register, you put yourself in Manual mode first, and use the Advanced… button to push all your data at their server first.
  5. Then, and only then, can you start putting things back to normal.

Andrew Robulack has a wonderful write-up about how to reset MobileMe. It’s an excellent guide.

All that said, apparently when I re-synced, there was some cruft left when I let iCal resync with MobileMe.

Then I read these horrible words from Apple: Resetting Syncing or SyncServices will not impact the new MobileMe Calendar and should not be used as a troubleshooting step for the new MobileMe Calendar.

Some support articles, after winding through their Support Express Lane wizard:

Making RawTherapee Work in OS X Lion

RawTherapee

I’ve been playing with RawTherapee (v4.0.9), a very impressive RAW file editor that’s extremely technical. It’s available on Google Code.

Here’s how I made it work with OS X Lion 10.7.4.

After installation, opening the app results in an instant crash with an error like this:

Dyld Error Message:
  Symbol not found: _iconv
  Referenced from: /usr/lib/libcups.2.dylib
  Expected in: /Applications/RawTherapee.app/Contents/MacOS/lib/libiconv.2.dylib
 in /usr/lib/libcups.2.dylib

This post led me to copy some libraries from OS X into the application directory:

$ cd /Applications/RawTherapee.app/Contents/MacOS/lib/
$ cp /usr/lib/libcups* .

And then to fix the icons:

$ sudo mkdir -p /opt/local/share
$ sudo ln -s /Applications/RawTherapee.app/Contents/MacOS/share/mime /opt/local/share/mime

You’ll still get a lot of memory errors in the console, but it’s possible to use the software.

Case-Sensitive GNU sort

GNU sort appears to be producing case-insenstive output all the time, no matter what you use for the case-insenstive switch. Turns out there’s a little more going on behind the scenes you need to know.

Had something unexpected happen while using sort the other day: it behaved differently on two different systems.

In a nutshell, I went to go sort data that looked like this:
xyz
CAT
abc

The correct answer, due to case-sensitifivity, should have been:
CAT
abc
xyz

This, by the way is what Cygwin happens to produce.

Instead I was getting the case-insensitve answer:
abc
CAT
xyz

And while the sort program had a case-insenstivive switch, -f, it always seemed to be applied.

I checked for a command alias. None.

I tried a negation value, -f-, and that did nothing for me.

Eventually I figured out that the issue was with the locale specified in the environment variables.

If LC_ALL=en_US, then I got a case-insentive order, no matter what. The solution was to change it to LC_ALL=C to get the case-sensitive version.

As GNU allows explicitly for case-insensitivity, I really wish they’d also explicitly allow for case-sensitivy.

This seems to trip up a lot of people, judging by the number of posts out there about it.

Installing CS5.5 Master Collection on OS X Lion

Installing Adobe CS5.5 Master Collection on OS X Lion and having the Installer hang? Here’s the solution. It isn’t pretty, but it works.

I had a terrible time installing Adobe CS5.5 on OS X Lion 10.7.2; it was the kind that makes you string together colorful phrases and aim them at Adobe. In theory one should be able to install on top of a prior installation. Then again, in theory communism works.

In short, the installer ran, accepted the serial number, authenticated my adobe id account, and offered me a number of packages to install, however when the grand moment came to install the applications, the progress bar never turned into a progress meter. The estimated completion time remained at “Calculating.” And the percentage complete remained at 0%. The only way out was Force Quit.

I should point out if you’re seeing authentication errors, and not a hang error, make sure you have the Java Runtime installed on Lion. Java doesn’t come with Lion by default (thanks for that, Apple). It’s a known issue to Adobe, and it’s discussed on the Apple forums.

Skip to solution…

More Symptoms — Is this familiar?


A failed install can manifest with some of the product installed, just not the application. For instance PDApp, AAM Updated Notified, LogTransport2, Setup, AAM Register Notifier, adobe_licutil, all will appear in the dash board.

The Adobe Setup Error.log will have nothing in it beyond the text “Performing Bootstrapping…”

::START TIMER:: [Total Timer]
CHECK: Single instance running
CHECK : Credentials
Load Deployment File
Create Required Folders
Assuming install mode
::START TIMER:: [Bootstrap]
Perform Bootstrapping …

If one opens Console and looks at the System Log Queries / All Messages, you might see this:

1/25/12 8:05:39.637 PM PDApp: CFURLCreateWithString was passed this invalid URL string: ‘/System/Library/Frameworks/’ (a file system
path instead of an URL string). The URL created will not work with most file URL functions. CFURLCreateWithFileSystemPath or CFURLC
reateWithFileSystemPathRelativeToBase should be used instead.

1/25/12 8:05:39.637 PM [0x0-0x25025].com.adobe.PDApp.setup: 2012-01-25 20:05:39.636 PDApp[389:60b] CFURLCreateWithString was passed
this invalid URL string: ‘/System/Library/Frameworks/’ (a file system path instead of an URL string). The URL created will not work
with most file URL functions. CFURLCreateWithFileSystemPath or CFURLCreateWithFileSystemPathRelativeToBase should be used instead.

Looking at the .log files in /Library/Logs/Adobe/Installed, you might see an Error DW020 or Error DW050. In reading In reading http://kb2.adobe.com/cps/902/cpsid_90243.html, I see that it says if there are no additional errors types (there weren’t)
 to see http://kb2.adobe.com/cps/844/cpsid_84451.html, which didn’t help either.

HOWEVER, at the end of the article it makes this observation: “These errors occur when the version of Flash Player that on your syst
em is newer than the version installed by the CS5.5 installer.”

Someone thread on http://forums.adobe.com/thread/856962 suggested the problem is Adobe AIR, which I noted was installed the m
oment I installed the Adobe Support Advisor to decipher Adobe log files, expose error messages, and make recommendations of support articles. Of course, it wasn’t.

Sometimes cleaning a bit appears to help, only to falsely get your hopes up. The installer may appear to run and then issue this:


Exit Code: 24
————————————– Summary ————————————–
– 0 fatal error(s), 65 error(s), 0 warning(s)
ERROR: DW001: Set payload cancelled status

ERROR: DW049: Payload {007A2A28-D6A8-4D91-9A2B-568FF8052215} has an action “install” but no resultState
… repeats dozens of times with different GUIDs …
ERROR: DW049: Payload {FECCB1BF-038D-41C2-861B-4560E7667005} has an action “install” but no resultState
ERROR: DW050: The following payload errors were found during install:
ERROR: DW050: – Adobe Player for Embedding 3.1: User cancelled installation
ERROR: DW001: User cancelled the operation
—————————————- ———————————————

For the record, I did not cancel the operation.

Checked http://kb2.adobe.com/cps/834/cpsid_83481.html, but Exit Code 24 wasn’t listed.

In looking at http://blogs.adobe.com/oobe/2010/04/cs5_desktop_product_subscripti.html, there is a comment by By Isaac O. Nwuju – 9:5
7 PM on February 1, 2011 that writes Error Code 24 in a response to Adobe thinking an Adobe product is already installed.

Other Mostly Useless References


I have read http://kb2.adobe.com/cps/905/cpsid_90508.html.

  • I am able to get to my ~/Library folder with no problems, that’s not the issue.
  • I do have the Java runtime installed:$ java -version
    java version “1.6.0_29”
    Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-11M3527)
    Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode)
  • I am not seeing Crash Reporter delays
  • I am not having issue with opposite scroll behavior
  • I have no need to use Rosetta
  • My issue is one of installation, not product features, so autosave/restore/versioning/fullscreen/multi-touch are all non-issues.
  • As I can’t get any software installed, I don’t have a product specific issue.

I have read http://www.adobe.com/products/creativesuite/faq.html#lion-os and have downloaded and installed the latest Flash Player.


I have read http://kb2.adobe.com/cps/828/cpsid_82827.html and it was not helpful.

  • I am able to make it all the way past the Install Options screen.
  • The progress bar never computes an estimated time or disk space, and installation remains at 0%.
  • The installer does not report any conflicts, the cleaner tool does not report any other Adobe products, and the Support Advisor tool does not report any problems with the environment.
  • The hard disk has over 150GB of free space.
  • The OS meets the minimum requirements.
  • The Install _did_ initialize.
  • No other installer is running.
  • The file system is not case-sensitive, but is case-preserving.
  • I do have administrative rights.

I have read http://kb2.adobe.com/cps/844/cpsid_84451.html which was partially helpful…

Looking at PDApp.log, I see this error message:

Mon Jan 23 18:25:33 2012[WARN] LWANative – Error in mdbOpenSessionNoCreate 8

And also this later on:

Mon Jan 23 18:25:34 2012[INFO] LWANative – pwa_openSession Session key : 24A46193-DEC1-47E4-AE35-41B39D994CF7
Mon Jan 23 18:25:34 2012[ERROR] LWANative – OOBElib returned error: 34
1/23/2012 18:25:34.889 [INFO] DWA.Utils PWA closesession returned <result><session^gt;24A46193-DEC1-47E4-AE35-41B39D99 4CF7</session></r
esult>

Trial mode, as suggested by Adobe Tech Support, results in this:

1/23/2012 18:25:34.898 [INFO] DWA.StartWorkflow Appmanager size is 98285568 bytes after conversion
Mon Jan 23 18:25:34 2012[INFO] LWANative – pwa_openSession Session key : 655B1D34-154C-43DE-A070-52C639724FAE
Mon Jan 23 18:25:34 2012[ERROR] LWANative – OOBElib returned error: 47
1/23/2012 18:25:34.922 [WARN] DWA.Fetchserialnumber Fetch serial numbers returned nothing
1/23/2012 18:25:34.927 [INFO] DWA.Utils PWA closesession returned <result><session^gt;655B1D34-154C-43DE-A070-52C63972 4FAE></session></result>
Mon Jan 23 18:25:34 2012[ERROR] DWANative – Error in dwa_getInstalledPathOfPayload, pdbSession is NULL.

I can not find those error messages in the Installation launch log error table provided by Adobe at http://kb2.adobe.com/cps/834/cpsid_83481.html.

Based on any error from oobelib it appears the issue is the same – the serial number is not getting validated. This happens regardle
ss if I enter one or use trial mode. This may be because of the prior error that wasn’t able to create a session, which most likely
holds said serial number. That said, the installer does put a green check mark by the serial number when I type it in [correctly].

The article http://kb2.adobe.com/cps/828/cpsid_82828.html is useless, as I’m using the serial number off the box and the installer says it’s correct, taking me to the next screen.

The other error message appears in http://forums.adobe.com/message/4139645 — which suggests repairing disk permissions. I have, though no permission problems were found.

To summarize, I feel I’ve exhausted the online knowledge base looking for a solution.

Adobe Support


I ended up calling Adobe Support at 1-800-833-6687 and learned a few things.

They will try to spend no more than 10 minutes with you on the phone, opting to give you a time intensive task and call you back to check on things.

The initial call was frustrating and almost discouraged me from talking to them again. It boiled down to walking me through the novice steps, and then getting me to download the .dmg off their website in an attempt to blame the media.

When that didn’t work, coupled with sending them some log files and the level of detail above, I got someone who was willing to drag a supervisor into the call. I was told that because I had documented in my case file the details so well, that they were to be extra careful as there was a techie on the line. (This made me wonder if they watch out for “secret shoppers” who test technical support.)

When things really got bad, things escalated to level two support was conferenced in, which is apparently the last line of defense — but at that point I had developed the solution I’m sharing below.

Here’s how I solved it.

First, and I can not stress this enough, back up your machine. And by that, I don’t mean Time Machine only, but a bit-for-bit copy on an external drive using Carbon Copy Cloner or SuperDuper!. Or, clone the drive with Drive Genius. I strongly recommend running Disk Utility after booting an OS X Lion disc and doing a Repair Disk and a Repair Disk Permission before you start. No sense in backing up a corrupted volume.

Second, validate that your backup worked by booting from it using the Option key. Because if your bork things up, you’re going to need to restore from it, and better to learn about that now, not later. If you’re gonna skip this step, at least go read the humorous Tao of Backup before proceeding.

Finally, what I’m about to share worked for me on my installation; your result may vary, and I’m not responsible if it doesn’t work, you mess it up, nor will I be offering support. Hopefully, with the timid gone the geeks remain.

If you’ve got Adobe already installed


Make a copy of your plug0in directory. You find it by opening /Applications, find an app like Adobe Photoshop, and inside the folder that contains it, you’ll see something called Plug-ins. Copy this to somewhere safe.

If you can use Help / Deactivate… so that you don’t burn up a silver bullet and have to call Adobe Support, whose number is 1-800-833-6687, by the way.

You should be able to uninstall the Creative Suite by going to “/Applications/Utilities/Adobe Installers”, and finding an uninstaller.

Uninstalling with the big guns


You’ll want to obtain a copy of the Adobe Create Suite Cleaner Tool. Run it, and clear out CS3, CS4, and CS5-CS5.5.

Going nuclear on Adobe


Create a file called wipeAdobe.sh, put the following in it, and give it execute permissions with chmod u+x wipeAdobe.sh.


open /Applications/Utilities/Adobe\ AIR\ Uninstaller.app

sudo "/Volumes/Adobe Creative Suite Cleaner Tool/Adobe Creative Suite Cleaner Tool.app/Contents/MacOS/Adobe Creative Suite Cleaner Tool" --removeAll=CS3
sudo "/Volumes/Adobe Creative Suite Cleaner Tool/Adobe Creative Suite Cleaner Tool.app/Contents/MacOS/Adobe Creative Suite Cleaner Tool" --removeAll=CS4
sudo "/Volumes/Adobe Creative Suite Cleaner Tool/Adobe Creative Suite Cleaner Tool.app/Contents/MacOS/Adobe Creative Suite Cleaner Tool" --removeAll=CS5-CS5.5 --removeFP=1

cat ~/Adobe*.log

rm -rf ~/Adobe*.log

rm -rf ~/Library/Application\ Support/Adobe
sudo rm -rf ~/Library/Caches/Adobe
sudo rm -rf ~/Library/Caches/AdobeSupportAdvisor.*
sudo rm -rf ~/Library/Caches/com.adobe.air*
sudo rm -rf ~/Library/Caches/com.Adobe.Installers*
rm -rf ~/Library/Preferences/AdobeSupportAdvisor*
rm -rf ~/Library/Preferences/Macromedia/Flash\ Player
rm -rf ~/Library/Preferences/com.adobe*
sudo rm -rf ~/Library/Saved\ Application\ State/AdobeSupportAdvisor*
sudo rm -rf ~/Library/Saved\ Application\ State/com.adobe.*
sudo rm -rf ~/Library/Saved\ Application\ State/com.Adobe.*
rm -rf ~/Library/LaunchAgents/com.adobe*
sudo rm -rf ~/Applications/Adobe*
sudo rm -rf /Users/wls/Library/Application\ Support/CrashReporter/Adobe*
sudo rm -rf /private/var/db/receipts/com.adobe.*
sudo rm -rf /Applications/Adobe*
sudo rm -rf /Applications/Utilities/Adobe*
sudo rm -rf /Library/LaunchAgents/com.adobe*
sudo rm -rf /Library/Application Support/Adobe
sudo rm -rf /Library/Application Support/regid.1986-12.com.adobe
sudo rm -rf /Library/Frameworks/Adobe AIR.framework
sudo rm -rf /Library/Logs/Adobe
sudo rm -rf /Library/Logs/DiagnosticReports/Adobe*
sudo rm -rf /private/var/root/Library/Saved\ Application\ State/com.Adobe.Installers.AdobeCreativeSuiteCleanerTool.savedState
sudo rm -rf /private/var/root/Library/Caches/com.Adobe*

echo "Searching...."
sudo find /Library ~/Libary /private -print | grep -i adobe

rm -rf /tmp/asu*

ls /tmp

echo "Please reboot and consider reinstalling a fresh copy of Adobe Flash and Adobe AIR"

Now run it from Terminal: $ ./wipeAdobe.sh

The prep before the install


Seriously, reboot after doing the above nuclear clean.

Then, download the latest copy of Adobe Flash and install it.

Download the latest copy of Adobe AIR and install it.

And, just in case you need to analyze the log files, snag a copy of the Adobe Support Advisor, which will help you analyze the logs that appear at ~/Library/Logs/Adobe and /Library/Logs/Adobe.

Boot in Safe Mode


Finally, reboot the system, holding down Shift to boot into Safe Mode.

Login with an account that has Administrator rights. Note you do not need to make a new account, though it’s a last resort.

Because safe mode is not loading kernel extensions and clearing caches, you’ll going to find the system running rather slow. This is normal. Lauchpad is going to look abysmal.

Install the software

Now using your Disks, or a downloaded copy of the Adobe Creative Suite 5.5 Master Collection, install the software.

Enter the serial number, provide your Adobe ID, select your products, and press Next.

After everything installed, open an application like Photoshop, go to Help / Updates…

Quit the application.

Restoring the Plug-ins


Open up the application Plug-in directory as well as your saved Plug-in Copy. Copy over anything that’s not in the application’s Plug-in, making sure they end up in the same folders. Check them all. Do not over write any files or directories.

Restart the software and validate the plug-ins work. If they do, restart and log back in.

You’re done. Had you used Pixelmator or The Gimp, you’d have been photo editing rather than following this blog.

CoffeeScript Bundle for TextMate (FIX for Command Not Found)

Installed HomeBrew to get Node.js, used the node package manager to get CoffeeScript, added a TextMate Bundle for CoffeeScript and got a “coffee: command not found” when doing a Command-B. WTF? Here’s how I fixed it.

I installed CoffeeScript on OS X using HomeBrew.

Got this error while using the CoffeeScript bundle for TextMate with the Command-B to Compile and Display JS.

/tmp/temp_textmate.CZvit9: line 12: coffee: command not found

In a new document, typing the word coffee and pressing Control-R to run it, didn’t work.

However, running coffee from the command line worked.
$ coffee -v
CoffeeScript version 1.1.2

Solution: Add /usr/local/bin to the TextMate path.