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.

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.

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.

Installing Hadoop on OS X

Fix the “Unable to load realm info from SCDynamicStore” error on OS Lion when using Hadoop.

Using Homebrew to install Hadoop on Lion OS X 10.7, I ran into a snag.

Attempting to do:
$ hadoop namenode -format

Resulted in this error: Unable to load realm info from SCDynamicStore

The solution was in Brandon Werner’s blog on How to Set up Haddop on OS X Lion.

As he puts it, to fix this issue, simply add the following single line to your hadoop-env.sh file:

export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"

Other Tips

  • The use of $HADOOP_HOME is now deprecated.
  • Homebrew uses /usr/local/bin with symbolic links to its /usr/local/Celler, so Hadoop just works from the command line. No need to add it to your path.
  • The Hadoop config files reside in /usr/local/Cellar/hadoop/*/libexec/conf

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.

Files Gone on Drobo FS with OS X Lion? Get ’em back!

Using DroboFS and OSX Lion only to discover that your Drobo shares have no content!? Yikes! But fret not, you merely have a small corruption problem brought on by the firmware, and in moments you can force a rebuild of that database and all your files will be back safe, happy, and sound with no data loss. Here’s how.

I recently updated my DroboFS to firmware 1.2.0 and dashboard 2.0.3 when I switched to Lion, and while my volume mounted there was no data in it although the Drobo lights showed there was capacity, as did the Drobo Dashboard, and the health reports indicated everything was just fine.

I spoke with Drobo Tech Support that indicated this was a known problem they are actively addressing as high priority; the problem is with Lion and their firmware, and we can expect an updated firmware release.

What’s curious about this is that if one uses the Finder and mounts the Drobo drive with SMB, using smb://Drobo-FS/, the files are there. However afp://Drobo-FS.local/ and cifs://Drobo-FS.local/ mount but reveal nothing.

A detailed description of the problem is at the article entitled: “Missing” Data (AFP) and/or CNID DB Errors. This article then leads to a second one, but is only for the brave.

Using Dropbear (SSH) with Drobo FS to regenerate the AppleDB (CNID DB) has detailed steps for regenerating the apple database.

Walt’s More Verbose Directions

  1. Using the Drobo Dashboard login to your Drobo as Administrator.
  2. Unmount all shares.
  3. Under All Devices / Settings / Admin you’ll want to check the Enable DroboApps setting, which will mount a volume entitled DroboApps on your system.
  4. Download a copy of DropBear from the Drobo Apps page.
  5. Unzip this .zip file, resulting in instructions and a compressed dropbear.tgz file . Move the dropbear.tgz file to the root of the DroboApps directory.
  6. Restart the DroboFS by going to Capacity and Tools in the Dashboard, and selecting the Tools drop down on the right side, and selecting Restart. Or, just power off the unit physically for 20 seconds and then turn it back on.
  7. When Drobo restarts, go to the Dashboard and select All Devices / Settings… / Network. Note the IP address given to the device somewhere.
  8. From OS X’s Terminal enter the command ssh root@theIPaddressAbove
  9. The default password is root, unless you’ve used Dropbear before and followed the instructions within it.
  10. Enter the command ls /mnt/DroboFS/Shares to view a list of shares on the drive.
  11. Tech Support promises the following will not cause any data loss, but anytime you’re doing reconstruction you should always have a backup (if you don’t, question your backup policy), and double check before hitting return. For each share of yours listed above, enter the command: rm -r /mnt/DroboFS/Shares/yourShareNameHere/.AppleDB and press return. Note the period indicating it’s a hidden directory.
  12. Exit Terminal by entering exit.
  13. Using the Drobo Dashboard unmount all your shares, which should be just the DroboApps share at this point; this is under the All Devices / Shares and you just uncheck all the boxes.
  14. Restart the Drobo again (see above if you’ve already forgot how).
  15. And just as important restart any Macs connected to the Drobo.
  16. When the Drobo comes up, start the Dashboard, and test the mounts. They should be working.

OS X: Incomplete and partial files

Grey folders inaccessible from Finder? OSStatus error -43? Incomplete or partial folders? Here’s what I think is causing them and quite possibly what you can do about them.

I recently bought a Drobo FS with a lot of storage to keep a lot of my photography and other files backed up, redundant, and available.

Even with a “small” source drive, pumping the data to the Drobo at high speed can take a while. This isn’t the fault of the Drobo, nor the network, it’s that there’s just a lot of stuff to push through the pipe.

About 25 Hours to Go

But I ran into an odd problem, and I haven’t been able to get a good answer as to what’s happening. This is a call to geeks.

The problem is when a copy operation fails.

This could be because one rebooted the Drobo during a long copy operation, one rebooted the machine during a long copy operation, or, more likely, OS X Finder just aborted for no good reason and rather than allowing one to try the operation again, resume, or skip the problem area, the whole batch stops.

TIP: It can sometimes be better to have multiple (concurrent but blocked) copy requests that were individually initiated, than one mega-copy operation. Finder seems to like smaller sized chunks, plus if something goes wrong, there’s less to deal with.

What you end up with is a situation that’s hard to describe without seeing it. It’s a destination directory that look like this:

Incomplete Files and Folders
  1. The folders appear as grey.
  2. The folders can not be selected or opened from Finder.
  3. The folders do not have the little triangle icon by them.
  4. The folders can not be renamed from Finder, but can from Terminal.
  5. The folders can be copied, but they copy as grey.
  6. The contents of the folders can be seen using Terminal.
  7. If you use Finder to copy over them, it sees the name in use and makes a similarly named folder with a number after it.
  8. The source files are not in use.

The question is, then, how to ungrey the folders and finish the copy?

So far, I haven’t found a way.

At the moment, I’m speculating if this is related to kFirstMagicBusyFiletype, kLastMagicBusyFiletype, or kMagicBusyCreationDate as shown in the Finder.h header.

Remember, if I have to delete the directory (which can take a while — if it can be done), and then re-copy everything again (which will take a long while), and still not be certain that copy will complete, it’s a huge investment that may not pay off.

Geeks, I know what you’re thinking — I thought it too:

Was the source drive clean?
Yes. I do a Disk Utility check on my source volumes before copying from them.
Was the destination drive clean?
Yes. I do a Disk Utility check on my destination volumes before copying to them. In the case of the Drobo, I had just formatted it, using the latest firmware, and its dashboard gave the all clear. I even peeked with their sshd application.
Did you check the file permissions?
They’re clean with the regular 700 permissions. Finder’s Info concurs.
# ls -ableO@dFGinpqT *
863913 drwx------ 3 501 501 - 264 Feb 13 19:09:02 2011 NormalDirectory/
863912 drwx------ 3 501 501 - 264 Feb 13 19:09:13 2011 WhyIsThisGrey/
What happens if you delete them with # rf -vrf badDir?
Sometimes that works, actually. Other times the delete command just hangs indefinitely, like the file is busy.That said, using the Path Finder shell, this is what you get if you attempt to delete a directory that’s acting up.

OSStatus Error -43

Any idea what an OSStatus error -43 is? Or why they’d be an invalid path inside the destination directory?

What about extended attributes? Type? Creator?
They’re clean, too. Verfied by Path Finder, stat, xattr, and /usr/bin/GetFileInfo.
# stat -x *
File: "NormalDirectory"
Size: 264 FileType: Directory
Mode: (0700/drwx------) Uid: ( 501/ wls) Gid: ( 501/ wls)
Device: 45,12 Inode: 863913 Links: 3
Access: Sun Feb 13 19:09:02 2011
Modify: Sun Feb 13 19:09:02 2011
Change: Sun Feb 13 19:09:02 2011
File: "WhyIsThisGrey"
Size: 264 FileType: Directory
Mode: (0700/drwx------) Uid: ( 501/ wls) Gid: ( 501/ wls)
Device: 45,12 Inode: 863912 Links: 3
Access: Sun Feb 13 19:09:13 2011
Modify: Sun Feb 13 19:09:13 2011
Change: Sun Feb 13 19:09:13 2011
# xattr -l -v -x NormalDirectory WhyIsThisGrey
(nothing returned)
# /usr/bin/GetFileInfo -a -tcdm *
# /usr/bin/GetFileInfo -a NormalDirectory
avbstclinmedz
# /usr/bin/GetFileInfo -a WhyIsThisGrey
avbstclinmedz

No Extended Attributes, according to Path Finder
What happens if you rsync?
Doing an rsync appears to work, but doing it to the “broken directory” does not fix it after it completes.
# rsync --progress -aPE source destination

Further Thoughts

I found an article that suggests there’s a lot more going on with the file system than most of us give credit for. It talks a lot about the importance of meta data.

More Metadata That I First Thought

Two blog posts, The State of Backup and Cloning Tools under Mac OS X and Extended Attributes led me to playing with the xattr and mdls commands.

xattr didn’t have much interesting.

$ xattr -l SomeGreyDir
com.apple.FinderInfo:
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 |................|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000020

The mdls command presented a better clue. Check out the kMDItemFSCreationDate attribute.

$ mdls SomeGreyDir
kMDItemFSContentChangeDate = 2011-02-20 14:02:19 -0500
kMDItemFSCreationDate = 1946-02-14 03:34:56 -0500
kMDItemFSCreatorCode = ""
kMDItemFSFinderFlags = 0
kMDItemFSHasCustomIcon = 0
kMDItemFSInvisible = 0
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery = 0
kMDItemFSLabel = 0
kMDItemFSName = "SomeGreyDir"
kMDItemFSNodeCount = 0
kMDItemFSOwnerGroupID = 501
kMDItemFSOwnerUserID = 501
kMDItemFSSize = 0
kMDItemFSTypeCode = ""

A quick romp through my incomplete folders revealed they all had a magical creation date of 1946-02-14 03:34:56 -0500.

The solution I think I need

I’m looking for a way to locate files with the kMDItemFSCreationDate
attribute set to that magic value, and then change it to whatever is in the
kMDItemFSContentChangeDate.

My suspicion is that this will let Finder, and the Apple command line utilities,
consider the file isn’t busy anymore.

My take on the (OS X) App Store so far

The App Store … it’s Terrific, Average, and Awful all at the same time.

I’ve been asked a few times now what I think about the app store. Never before has a feature scored terrific, average, and awful all at the same time for me. Here’s the break down.

What’s Terrific
Apple has made the integration as sweet and easy as System Update, with a trivial installation process that just works universally.

But that’s not the part that has me whistling Dixie — it’s that applications no longer use serial numbers nor do they phone home, instead they use cryptography. Nothing to pollute your network traffic. No software failing validation checks on a plane unable to reach a server.

And, given that I can now run software I paid for on machines owned by me, that’s a big win.

Plus, it unifies the Apple-culture a bit more in that upgrades work the way you expect: you don’t have to always reach for your wallet or buy stupid subscriptions.

What’s Average
The user interface, while simple, still isn’t hammered out in that perfect design that ever-so-well fits the problem space that Apple’s known for. For instance, under certain circumstances, buttons don’t behave the same way potentially causing one to purchase an unexpected item.

The store is missing a CONFIRM button before purchases, a CANCEL button as it’s happening, and more importantly a RETURN UNOPENED if it gets to the doc.

Many apps that have been acquired from other means don’t show up as INSTALLED, making for a very bumpy upgrade path. Others work just fine. Hopefully that will stabilize in the future.

What’s Awful
Some apps are dumbed down in terms of functional restrictions of the features we know and love due to Apple’s Terms of Use. There’s also fears of rejections by Apple, in addition to dealing with the approval process that still doesn’t feel completely worked out or entirely equitable between similar applications or that could be considered competitive.

Browsing the App Store, one notices the gross lack of a Genius mode.

Plus, while there are supposed to be a bazillion apps out there already, only a small handful appear to be browseable. This raises concerns that a popular app may drown out a cheaper and better competitor. Hopefully there will be more ways to slice and dice the browsing experience.

However, two major complaints are still outstanding and pretty valid.

One is that most of the apps on the App Store are crap — the easy distribution mechanism has flooded the market with apps of low interest of quality. It’s like when everyone published a flashlight app for the iPhone, and iFart was the talk of the town. For the historically minded, it was like when Atari opened its console system, and while it had the most game, only a handful were worth playing. Hopefully the rating system will help this problem. In the meanwhile, each ugly app drags the reputation of the App Store down a notch; unless the ratio reverses, the App Store will take on the same appeal as a yard sale.

Two is that many of the apps are priced in ways that don’t make a lot of sense. Someone produces a fantastic game, and it’s a dollar or less. Someone else produces a horrible looking monstrosity and charges $19.95 for it. The costs don’t reflect the features or quality. And, while good in the short term, and just the short term, we may see a plunge much the way that most iPhone apps cost 99 cents.

Where’s my JDK?

Caught in the Java depreciation battle under OS 10.6 and can’t find where the Java Development Kit (JDK) now resides? Here’s a command that will tell you, allowing you to still use InteliJ and other IDEs on OS X.

There’s a lot going on with Java at the moment. Oracle acquires Sun, putting the language in squarely in hands that don’t inspire trust; the same thing happened with MySQL. Meanwhile, the Apache Software Foundation quits the Java SE/EE Executive Committee. And now Apple deprecates Java, and the reason doesn’t appear to be what you’d think.

Starting with OS X 10.6.3 update, developers got caught in the back lash. Things moved on the file system.

Upgrading IntelliJ, the IDE was asking me where my JDK was, as it certainly wasn’t where the software, or I, thought it should be.

You won’t find the location using /Applications/Utilities/Java Preferences.app.

But you can find it with some digging. Thanks to this developer release note from Apple, the following command from Terminal will spew out some XML.

$ /usr/libexec/java_home –xml

Find the dictionary section that has ‘x86_64’ in it, and you’ll find an entry that has a ‘JVMHomePath’ with something like:

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

You want to provide this full path to the IDE as where the JDK lives.

It’s worth pointing out that Apple recommends that if you install any 3rd party JVMs they should be installed in /Library/Java/JavaVirtualMachines or ~/Library/Java/JavaVirtualMachines.