Or: Hardware manufacturers, get your software-act together.
If you connect a P2 card to your Mac, which icon do you see? Chances are it’s the generic white one on the left. If so, you’re missing out on a lot of speed.
Why? The driver you installed, is ignored by macOS because it’s not code signed. Read on to learn why and most importantly — how to fix it.
A little backstory
A few years back, life was simple for macOS developers. Write code, make sure it compiles, and distribute it. C’est ça.
Not anymore. With Apple’s continued focus on security, macOS is becoming more and more a fortress. Which is good. Very good. The side effect, however, is that a whole bunch of companies can’t be bothered to keep up, and invest a bit of time and effort in their user’s security.
Manufacturers love proprietary storage solutions; Sony, RED, DJI, Codex, Nokia and Panasonic all have at least one. Proprietary storage comes with proprietary drivers, and since we’re talking I/O here, these drivers need to be able to reach into macOS very, very deep. They’re system extensions or, in macOS terminology, kexts.
To be able to run an app on macOS, Apple requires the developer to sign it with an certificate. The process is far from easy and not without hurdles, but it exists for a good reason, so we just put up with it. If an app isn’t signed, it’s still possible to run it, but with each new macOS, Apple is justly putting more and more limitations on it. You don’t want to run unsigned apps. Period. It’s like leaving your front door wide open, at all times.
Hardware companies are notoriously bad at code signing their software, or at least at updating the certificates. For an app, it’s not (yet) a blocker; macOS will show you an alert, and point you to a workaround. But not so much for kexts. Its existence on your Mac doesn’t mean a thing. The OS will just ignore it. As a user, you have no way of telling if your installed kext is actually working.
So, here’s an open invitation: hardware manufacturers, feel free to reach out to us. We’ll help you with the code signing of your apps and drivers.
An intermediate solution
Going by the number of support requests we get, this issue is most persistent for Panasonic users. We created a walkthrough to guide you through the installation process. Next to that, here’s a free tool to determine if your system extensions are the right version, and actually working:
P2 Driver Install Walkthrough
During the installation of the driver, there are a couple of things you need to make sure not to skip:
3. Open Anyway — be very sure that you downloaded this package from the Panasonic site, since this is an open invitation for malware creators, to create an infected version and spread that across the internet.
(4. Now, you need to install a font. Although any additional download during a driver installation should be a big red flag for malware, this one is actually legit. It’s a Chinese font, already bundled with macOS, but what gives… let’s just redownload it 🤦♂️)
5. Success! Oh, wait…
… one more thing: system extensions.
If a system extension is installed without valid code signing, chances are you’ll never know. Only during the first 30 minutes after a system restart will macOS give you the opportunity to acknowledge that you want to grant an unsigned kext access to your Mac. If you’re lucky, you’ll get an alert.
So, restart your Mac, go back into System Preferences > Security & Privacy , unlock the pref pane 🔐 and click Allow.
Time for the final restart, and the final hurdle.
If you have a P2 card at hand, check if you see a custom icon. If you do, you have correctly installed the driver. Congratulations! But, which one?
There are two: Panasonic released a new driver for Sierra and High Sierra (4.0.17). The problem is that the old driver (3.2.2) works fine too, but doesn’t give you high speed offloads.
That’s a lot of stuff to do manually, so we automated it. Run this app, and you’ll know in a few seconds if all is well:
Still having issues?
There’s only one thing you can do: delete the kexts, and redo it all. You’ll need to delete two files inside your Macintosh HD/Library folder:
- All macOS versions: /Library/Extensions/P2DriveFamilyDriver.kext
- macOS 10.12 and up: /Library/Extensions/AJ_MPD1_ProtocolService.kext