(punchline: give up it won’t work but it’s an interesting story)
A Journey
I have a trusty Tascam US-122 Audio and MIDI interface. I bought it in 2004ish. It’s done me proud. I’ve not used it for a while but I fancied doing some MIDI stuff recently so I got out my old keyboard out (a Roland A-33) and downloaded the driver. It didn’t work. Just one outstandingly unhelpful error message.
I mean, really extraordinarily unhelpful. Thanks Apple. So I tried on my work laptop, and that worked fine. Think different indeed. Actually, what is the difference?
What is the difference?
Tascam has done something very odd indeed with their installer. When you launch it you see two packages.
But notice the scrollbar? If you scroll down you see another directory called ‘Pieces’.
That’s really bizarre. Seriously Tascam? Ever heard of metapackages? A look inside the the packages is predictable, if a bit fine-grained!
What’s in the driver? Familiar faces, the opaque bom and pax.gz files. Argh.
But the post-install script has a clue:
#! /bin/sh
if [ -d "/System/Library/Extensions/TASCAMUSBAudio.kext" ]
then rm -R "/System/Library/Extensions/TASCAMUSBAudio.kext"
fi
if [ -e "/Applications/US-122 Software.rtf" ]
then rm "/Applications/US-122 Software.rtf"
fi
chgrp -R wheel "/System/Library/Extensions/TASCAMUS122.kext"
touch "/System/Library/Extensions"
It’s a kext
Behold, a kext. Running kextutil on my 10.6 machine (on which it works) gives this:
$ sudo kextutil TASCAMUS122.kext
Password:
/System/Library/Extensions/TASCAMUS122.kext does not declare a kernel dependency; using com.apple.kernel.6.0.
Warnings:
Personality CFBundleIdentifier differs from containing kext's (not necessarily a mistake, but rarely done):
US122LoaderMergePersonality
US122SupportMergePersonality
Kext declares no kernel/KPI libraries; if it references any kernel symbols, it may fail to link.
/System/Library/Extensions/TASCAMUS122.kext does not declare a kernel dependency; using com.apple.kernel.6.0.
/System/Library/Extensions/TASCAMUS122.kext does not declare a kernel dependency; using com.apple.kernel.6.0.
(kernel) Warning - com.TASCAM.iokit.US122 declares no kernel dependencies; using com.apple.kernel.6.0.
i.e. possibly a mistake in the metadata but working fine.
If I do this on my 10.8 machine though:
$ sudo kextutil TASCAMUS122.kext
No kernel file specified, using '/mach_kernel'
Diagnostics for TASCAMUS122.kext:
Authentication Failures:
File owner/permissions are incorrect (must be root:wheel, nonwritable by group/other):
/Volumes/Home/TASCAMUS122.kext
/Volumes/Home/TASCAMUS122.kext/Contents
/Volumes/Home/TASCAMUS122.kext/Contents/Info.plist
/Volumes/Home/TASCAMUS122.kext/Contents/MacOS
/Volumes/Home/TASCAMUS122.kext/Contents/MacOS/TASCAMUS122
Warnings:
Personality CFBundleIdentifier differs from containing kext's (not necessarily a mistake, but rarely done):
US122LoaderMergePersonality
US122SupportMergePersonality
Executable does not contain code for architecture:
x86_64
i.e. toys-out-of-pram, i386 only, won’t load. **The US-122 driver is 32 bit only and won’t work on the 64-bit only Mac OS X 10.8 Mountain Lion. **End of story, sadly.
tl;dr : say goodbye to a old trusty bit of kit. Tascam aren’t doing their customers, themselves or their prospective customers any favours for not updating their driver. My Keyboard is 16 years old and works fine, but the interface is only 8 and no longer performs its job.
Prologue
Just for completeness I thought I’d mention the MIDI driver. In the MIDI package we find a helpful file called US122MIDI.info
Which tells us:
Title US-122 MIDI Driver v. 3.4.0
Version 3.4.0
Description This installer places the US-122 MIDI Driver Plugin in "/Library/Audio/MIDI Drivers"
DefaultLocation /Library/Audio/MIDI Drivers
DeleteWarning
### Package Flags
NeedsAuthorization YES
Required NO
Relocatable NO
RequiresReboot NO
UseUserMask YES
OverwritePermissions NO
InstallFat NO
Which is nice of it. A quick look on the 10.6 system yields /Library/Audio/MIDI Drivers/US122MIDIDriver . I tried copying this over to the 10.8 system. No luck.
Come on Tascam! This product isn’t that old.
Do something!
Are you in the same boat? Why not drop Tascam an email and let them know that you’re not happy? There’s a contact form at http://tascam.com/contact/support/ . And leave a comment here if you want. Maybe they’ll make a 64 driver. Or open source it so someone else can have a go.