Jump to content

M-Audio (Avid) Fast Track Ultra - El Capitan Workaround


oliveiro
 Share

80 posts in this topic

Recommended Posts

See updated workaround at post 10 + 61 (only for Midi ports)

or if you encounter problems, a complete USB stack reversing to Yosemite's at post 24

 

Sierra users see post 63

 

 

For those who might be interested, I enabled my Fast Track Ultra in El Capitan (10.11.4) by simply reversing IOUSBFamily.kext and IOUSBHostFamily.kext, to only one IOUSBFamily.kext from a Yosemite drive (10.10.4).

Had also to backup few kexts related to USB storage and networking which prevented kernel to prelink correctly.

It might be relevant to reverse AppleUSBMassStorage kexts to try to avoid these depedencies problems.

 

So Fast Track Ultra Control Panel is fully functionnal, as in Yosemite.

Edited by oliveiro
Link to comment
Share on other sites

  • 2 weeks later...

See updated workaround at post 10 + 61 (only for Midi ports)

or if you encounter problems, a complete USB stack reversing to Yosemite's at post 24

 

 

 

To answer the request of a few users who pm'ed me for detailed information :

 

WARNING: this is "work in progress", this workaround requires system files modification. Don't do this on your main system, unless you know exactly what you're doing.

 

I'll keep on testing but I have other hardware problems, and have to find time to fix this.

 

 

 

Always do backups of the system files you replace. (copy the kexts to the folder of your choice, most of the time I simply rename them *.kext to *.bak)

 

I'm on a hackintosh (OsX on a PC), and SIP is already disabled, which enables modification of system files (in System/Library/Extensions). On a genuine Mac, you'll have to disable SIP (I don't know how to do this)

 

I backed up, then removed ElCapitan kexts (IOUSBFamily.kext and IOUSBHostFamily.kext), then I use KCPM utility to copy Yosemite version (only IOUSBFamily.kext) to ElCapitan /Sytem/Library/Extensions/, I guess any other Kext Utility or Wizard compatible with ElCapitan will do. Their purpose is to maintain proper permissions on the files, if you do it manually, it will copy the files with user permissions, which is not good.

 

I have the advantage of a dual boot config, with Yosemite and ElCapitan on the same drive, so I usually make modifications on the Elcapitan system from a booted Yosemite, with KCPM utility.

 

Be also aware that replacing the IOUSBFamily kext breaks some dependencies, some other usb devices might not work until you reverse other kexts (for instance, I needed AppleUsbEthernet.kext to be reversed to Yosemite's version for my Webcam to work). There's been quite a lot of changes between ElCapitan and Yosemite in USB management.

 

And Kernel Caches could not rebuild until I backed up the following :

 

Inside AppleStorageDrivers.kext/Contents/Plugins/ :

AppleUSBCardReader.kext

AppleUSBODD.kext

AppleUSBStorageCoexistentDriver.kext

AppleUSBTDM.kext

 

Inside AppleUSBTopCaseDriver.kext/Contents/Plugins/:

AppleUSBTopCaseDriver.kext

AppleUSBCDC.kext
AppleUSBECM.kext
AppleUSBEthernet.kext
AppleUSBMultitouch.kext
AppleUSBNCM.kext
AppleUSBNetworking.kext

 

I simply renamed these 11 files : *.kext -> *.bak (you can also copy them to a safe folder, and then delete them from /System/Library/Extensions)

Then I repaired permissions, rebuilt caches with KCPM, and rebooted.

 

Older versions of some of these kexts are included inside IOUSBFamily.kext/Contents/Plugins/, but others are not, which can affect some USB devices.

 

For now, all my USB devices work properly (Usb Webcam, Usb Keys, Usb Midi controllers and keyboards), of course the FastTrackUltra works as intended, and kernel caches rebuild properly.

The only problem I noticed is SystemProfiler not showing USB devices. But IoReg does.

 

I don't use any USB CardReader, Wifi Dongle or MassDrive which might be affected by IOUSBFamily.kext replacement, you'll have to do your own tests.

 

I'll post further tests results

Edited by oliveiro
Link to comment
Share on other sites

  • 3 weeks later...

Hi Oliverio, following your advice I was able to get my Fast Track Ultra 8R working flawlessly now with El Capitan and I owe you many thanks for that! 

 

Everything seems to be functional on my Hackintosh laptop, in regards to USB Ports, card readers, flash drives hard drives webcam etc. However the only thing that is no longer functioning for me is Bluetooth. I am using the DW-1560 or BCM4352Z as my WiFi and Bluetooth solution. Would it be possible to get his working again despite using the older Yosemite kexts? Its a minor issue but Itd be very helpful to have it working again.

 

Cheers

BIll

Link to comment
Share on other sites

Hi Bill, glad you finally made it. (What was the problem in the end ?)

For your Bluetooth concern, I'd check inside appleusbethernet and appleusbnetworking to see whether a plugins folder there, includes some BT kext. If yes, try to get these kexts from Yosemite.

Link to comment
Share on other sites

Hi Bill, glad you finally made it. (What was the problem in the end ?)

For your Bluetooth concern, I'd check inside appleusbethernet and appleusbnetworking to see whether a plugins folder there, includes some BT kext. If yes, try to get these kexts from Yosemite.

 

Turns out the kernel cache wasnt rebuilding due to AppleTopDriver kext not being concerted to kext.bak. A guy in the Avid forum made a post regarding this and after that I was able to rebuild the kernel cache, then reverted everything back to normal .kext and it started working flawlessly since then!

 

Just took a look inside AppleUSBEthernet and AppleUSBNetworking and no such plugin, its worth mentioning that Bluetooth for my DW 1560 is USB Based so it could be a another kext responsible for that?

Link to comment
Share on other sites

Hi Oliveiro/Bill,

 

Does your method also work without a working Yosemite install (also for 'reversing other kexts')? Which tab/function of KCPM did you use?

Sorry for the Noob questions,  I'm afraid I'll mess things up. But it's this workaround, or another interface, so this is very tempting.

Besides, the most affordable alternative is an Avid C600, the same brand that decided to dump support for my Ultra 8R..

 

 

Thanks! 

Dan, from earlier on..

Link to comment
Share on other sites

Hi Oliveiro/Bill,

 

Does your method also work without a working Yosemite install (also for 'reversing other kexts')? Which tab/function of KCPM did you use?

Sorry for the Noob questions,  I'm afraid I'll mess things up. But it's this workaround, or another interface, so this is very tempting.

Besides, the most affordable alternative is an Avid C600, the same brand that decided to dump support for my Ultra 8R..

 

 

Thanks! 

Dan, from earlier on..

 

Hi there, dont worry about it Dan! You dont need a working Yosemite install to reverse the kexts, you just need access to them. This can be done either by using a software called Pacifist or having a working Yosemite install. But for simplicity sake having a working install may be better. The workaround is pretty easy once I fully understood it, but what I may do is instlal OS X to a USB stick so I can get the kexts and Ill try and share them with you if possible.

 

This current work around works great and Im only missing out on Bluetooth functionality on my Asus UX303. I can try and simplify the current workaround for you if needs be?

 

Ill let you know asap regarding the kexts.

 

Bill

 

EDIT: I believe it would be the tab of only repairing the permissions and cache of Library / Extenions and System / LIbrary Extensions. I personally use Kext Utility as its simpler and does it automatically. 

Link to comment
Share on other sites

http://www.insanGuy mac.com/forum/topic/306777-guide-usb-fix-el-capitan-1011/page-34#entry2195557

 

Check what this guy did,  we probably should follow his procedure to get a cleaner workaround... And that should solve your BT.

 

Just followed his procedure, obtained all the Yosemite kexts and replaced the kexts he mentioned with Yosemite ones.  Unfortunately Bluetooth remains the same

Link to comment
Share on other sites

I've had more time to further experiment : my attempts to modify the Fast Track Ultra drivers all failed.

 

But I've found another way, much cleaner, much lighter. I suspected the M-Audio driver was not using the whole IOUSBFamily and plugins, and checking the IoRegistry in Yosemite I saw that the M-Audio kext was simply relying on AppleUSBXHCI.kext (found inside the Plugins folder of IOUSBFamily.kext in Yosemite).

 

My system is USB 3.0 based, so it's using XHCI, maybe older systems are relying on older EHCI OHCI or UHCI. So I did the following modifications on the attached file : this is a IOUSBHostFamily.kext from a clean install of ElCapitan 10.11.5 :

 

  • I removed AppleUSBEHCI.kext, AppleUSBEHCIPCI.kext, AppleUSBOHCI.kext, AppleUSBOHCIPCI.kext, AppleUSBUHCI.kext, AppleUSBUHCIPCI.kext, AppleUSBXHCI.kext, AppleUSBXHCIPCI.kext from Plugins folder.
  • I added previous Yosemite versions of AppleUSBEHCI.kext, AppleUSBOHCI.kext, AppleUSBUHCI.kext, AppleUSBXHCI.kext (taken from IOUSBFamily.kext Plugins folder, from a clean install of Yosemite 10.10.5) inside Plugins folder.

 

You can do the mods yourself, or use the attached file. Remember, if you're not familiar with kext installation or modification, do backup first, especially if you're trying this on your main system. This is for ElCapitan 10.11.5.

 

  1. On real Macs, you have to disable SIP first (See here).
  2. If you used the first workaround described in Posts 1 & 2, undo it all. Restore original files, rebuild system caches and reboot.
  3. Open Finder, go to /System/Library/Extensions/, browse the folder till you find IOUSBHostFamily.kext. COPY it to a safe folder.
  4. Then use KextUtility ( http://www.insanelymac.com/forum/topic/140647-latest-kext-utility-el-capitan-super-speed-edition/ ) to install the modded file into /System/Library/Extensions/. When you launch KextUtility, it asks for password, if you enter your password, the app runs full task service : it repairs permissions on system folders and rebuilds system caches. I does not do any harm, but you don't need that at this step : just cancel the password dialog. You can then drag and drop the modded kext on the app window, enter your password, and wait till it says "finished" and shows the "quit" button.
  5. reboot, at boot choose "ignore caches" option (Not sure if it's necessary on real macs, it's just to make sure all kexts are reloaded)
  6. Once you're back to your desktop run KextUtility again, and this time enter your password to run full task service.
  7. Reboot normally.

 

Collateral benefit on my system, USB 3.0 now works without the need of edits on my Intel system (obviously, because the concerned kexts are now replaced by Yosemite versions)

 

So far, I have not noticed any problem on my system.

 

Please, post here if you meet any trouble.

IOUSBHostFamily.kext.zip

Edited by oliveiro
Link to comment
Share on other sites

The only thing broken so far is SystemProfiler can not see the USB devices tree anymore.

I use the following command line in Terminal to show basic informations of connected devices with power and speed informations :

 

 

ioreg -Src IOUSBDevice | grep 'IOUSBDevice,\|IOUSBHubDevice\|IOUSBRootHubDevice\|Product Name\|Speed\|Requested Power\|Power Available' | sed 's/<.*.>//'

Link to comment
Share on other sites

Thanks so much Oliveiro and Bill. I'll do the mod when I have my system backed up. Also will need acces to a Yosemite install. System profiler not showing USB is a bit of a bummer, but the advantage is, like not having to buy a new audio interface!

Link to comment
Share on other sites

Thanks so much Oliveiro and Bill. I'll do the mod when I have my system backed up. Also will need acces to a Yosemite install. System profiler not showing USB is a bit of a bummer, but the advantage is, like not having to buy a new audio interface!

 

With the file provided in Post#10, you don't really need access to a Yosemite install... ;)

You'll just need some kind of rescue partition, in case anything goes wrong,

but I guess even a simple ps2 mouse/keyboard should do the trick if all USB happened to fail, provided you actually have ps2 port on your machine of course.

Link to comment
Share on other sites

I've had more time to further experiment : my attempts to modify the Fast Track Ultra drivers all failed.

 

But I've found another way, much cleaner, much lighter. I suspected the M-Audio driver was not using the whole IOUSBFamily and plugins, and checking the IoRegistry in Yosemite I saw that the M-Audio kext was simply relying on AppleUSBXHCI.kext (found inside the Plugins folder of IOUSBFamily.kext in Yosemite).

 

My system is USB 3.0 based, so it's using XHCI, maybe older systems are relying on older EHCI OHCI or UHCI. So I did the following modifications on the attached file : this is a IOUSBHostFamily.kext from a clean install of ElCapitan 10.11.5 :

 

  • I removed AppleUSBEHCI.kext, AppleUSBEHCIPCI.kext, AppleUSBOHCI.kext, AppleUSBOHCIPCI.kext, AppleUSBUHCI.kext, AppleUSBUHCIPCI.kext, AppleUSBXHCI.kext, AppleUSBXHCIPCI.kext from Plugins folder.
  • I added previous Yosemite versions of AppleUSBEHCI.kext, AppleUSBOHCI.kext, AppleUSBUHCI.kext, AppleUSBXHCI.kext (taken from IOUSBFamily.kext Plugins folder, from a clean install of Yosemite 10.10.5) inside Plugins folder.

 

You can do the mods yourself, or use the attached file. Remember, if you're not familiar with kext installation or modification, do backup first, especially if you're trying this on your main system. This is for ElCapitan 10.11.5.

 

  1. On real Macs, you have to disable SIP first (Bill can you help with that ?).
  2. If you used the first workaround described in Posts 1 & 2, undo it all. Restore original files, rebuild system caches and reboot.
  3. Open Finder, go to /System/Library/Extensions/, browse the folder till you find IOUSBHostFamily.kext. COPY it to a safe folder.
  4. Then use KextUtility ( http://www.insanelymac.com/forum/topic/140647-latest-kext-utility-el-capitan-super-speed-edition/ ) to install the modded file into /System/Library/Extensions/. When you launch KextUtility, it asks for password, if you enter your password, the app runs full task service : it repairs permissions on system folders and rebuilds system caches. I does not do any harm, but you don't need that at this step : just cancel the password dialog. You can then drag and drop the modded kext on the app window, enter your password, and wait till it says "finished" and shows the "quit" button.
  5. reboot, at boot choose "ignore caches" option (Bill can you help on that too for real Macs ?)
  6. Once you're back to your desktop run KextUtility again, and this time enter your password to run full task service.
  7. Reboot normally.

 

Collateral benefit on my system, USB 3.0 now works without the need of edits on my Intel system (obviously, because the concerned kexts are now replaced by Yosemite versions)

 

So far, I have not noticed any problem on my system.

 

Please, post here if you meet any trouble.

 

 

Followed these steps and the interface is still working great! This workaround is definitely more convenient, I only had to run Kext Utility once and as Im on a hackintosh no need to ignore boot caches. Unfortunately Bluetooth is still an issue for me but I imagine it could be more to do with my drivers for it not being compatible with Yosemite kexts perhaps? This further shown by the detection of my Bluetooth USB header when I use the command you provided to check USB devices in terminal

 

Screen_Shot_2016_06_12_at_16_52_13.png

 

If anyone is wondering how to disable SIP on a real mac, this link will help you out. 

http://osxdaily.com/2015/10/05/disable-rootless-system-integrity-protection-mac-os-x/

 

Also I believe that OS X rebuilds the cache automatically and upon boot if it detects any changes on a Real Mac? I Could be wrong but there may not be a need to ignore boot caches upon boot. Installing the modified kext and running kext utility or KCPM should be sufficient. 

 

Many thanks for all your help Oliverio, couldnt have made it this far without your help!

Link to comment
Share on other sites

You're welcome Bill !

Sorry, I thought you were on a real mac. You can add your config to your signature (in your account settings), that might help other users too.

 

I hope you'll find a Yosemite driver for your Bluetooth, it's definitely related.

I only use a logitech unifying BT dongle, and it's working both with Yosemite and Capitan.

What model is your BT ?

EDIT : Nevermind, I missed your screencapture, for your BCM20702a0, you might wanna have a look at this link.

Edited by oliveiro
Link to comment
Share on other sites

You're welcome Bill !

Sorry, I thought you were on a real mac. You can add your config to your signature (in your account settings), that might help other users too.

 

I hope you'll find a Yosemite driver for your Bluetooth, it's definitely related.

I only use a logitech unifying BT dongle, and it's working both with Yosemite and Capitan.

What model is your BT ?

EDIT : Nevermind, I missed your screencapture, for your BCM20702a0, you might wanna have a look at this link.

 

Managed to figure it out!

 

I basically went back to the El Capitan kext and used Kext Wizard to see which kexts were loaded when bluetooth was functional, so I figured out I have to revert IOBluetoothFamily to Yosemite's version to get it working. I did this but nothing, but I tried using a bluetooth firmware uploader kext specifically for Yosemite instead and not the El Capitan version I had and voila! Working as normal.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Thank you oliveiro - your fix worked great on a new Macbook + Fast Track Ultra, EXCEPT no MIDI is detected. I am just using garageband for now, and cannot detect any midi from my midi controller. The green midi-in LED is flashing on the fast track ultra when I press keys on my midi controller, but nothing is being detected in garageband/mac. Any ideas?

 

Thanks again for doing this.

 

Best!

Link to comment
Share on other sites

Thank you oliveiro - your fix worked great on a new Macbook + Fast Track Ultra, EXCEPT no MIDI is detected. I am just using garageband for now, and cannot detect any midi from my midi controller. The green midi-in LED is flashing on the fast track ultra when I press keys on my midi controller, but nothing is being detected in garageband/mac. Any ideas?

 

Thanks again for doing this.

 

Best!

 

I removed all the Fast Track Ultra (FTU) drivers/files from M-Audio and reverted back to the original (El Capitan) IOUSBHostFamily.kext. When I booted, I simply plugged in (USB) the Fast Track Ultra and the midi was fully working, but no FTU audio. So, I have two scenarios:

 

1. Midi Working, FTU Audio not working: Latest Avid/Maudio drivers removed and the El Capitan IOUSBHostFamily.kext.

2. Midi not working, FTU Audio working: Latest Avid/Maudio drivers installed and Yosimite IOUSBHostFamily.kext installed.

 

I do not think that audio or midi was working with the El Capitan IOUSBHostFamily.kext and the Avid/Maudio drivers installed, but will try that next again, for completeness.

 

Any suggestions on how to get both working in El Capitan? Is there a way to understand where to keep the appropriate references in the IOUSBHostFamily.kext? I opened the file contents, however, not sure if I could edit it correctly by modifying the text entries in the contents.

 

Any help would be greatly appreciated!!

I removed all the Fast Track Ultra (FTU) drivers/files from M-Audio and reverted back to the original (El Capitan) IOUSBHostFamily.kext. When I booted, I simply plugged in (USB) the Fast Track Ultra and the midi was fully working, but no FTU audio. So, I have two scenarios:

 

1. Midi Working, FTU Audio not working: Latest Avid/Maudio drivers removed and the El Capitan IOUSBHostFamily.kext.

2. Midi not working, FTU Audio working: Latest Avid/Maudio drivers installed and Yosimite IOUSBHostFamily.kext installed.

 

I do not think that audio or midi was working with the El Capitan IOUSBHostFamily.kext and the Avid/Maudio drivers installed, but will try that next again, for completeness.

 

Any suggestions on how to get both working in El Capitan? Is there a way to understand where to keep the appropriate references in the IOUSBHostFamily.kext? I opened the file contents, however, not sure if I could edit it correctly by modifying the text entries in the contents.

 

Any help would be greatly appreciated!!

 

Oliveiro/Bill - I was re-reading the process by which Oliveiro arrived at the modified IOUSBHostFamily.kext. Why is it that only the Yosemite 10.10.5 versions of AppleUSBEHCI, AppleUSBOHCI, AppleUSBUHCI, and AppleUSBXHCI kext's are included? What about AppleUSBEHCIPCI, AppleUSBOHCIPCI, AppleUSBUHCIPCI, and AppleUSBXHCIPCI kexts? Was there a reason that those were excluded? Could this be why Midi is not being detected on my system? Would it be possible for someone to upload those Yosemite kexts so I can try to modify the IOUSBHostFamily.kext file?

 

I feel like the solution is so close! I am not experienced in modifying kext files, but can learn pretty quickly (I hope!). :-)

 

Thanks in advance for your help!

Link to comment
Share on other sites

@fixmymac : Hi and sorry I'm overloaded with work at the moment, so it's been a while since I came by...

 

I can confirm something is wrong with midi on my system too. I didn't notice it before since I don't use these midi ports.

 

Using IoregistryExplorer.app, here's what the device looks like in Yosemite

post-460968-0-87061300-1467311470_thumb.png

The selected item is missing in ElCapitan.

 

Here are the occurrences of midiserver among system folders in Yosemite

post-460968-0-27276000-1467311549_thumb.png

 

I suppose the possible resolution of this midi problem lies in reversing the ElCapitan Coremidi & Coremidiserver frameworks (experimenting and checking for dependency problems is required). Otherwise, investigating around IOUserClientCreator and IOUSBInterfaceUserClient might be a lead (and might require the procedure of first workaround : full IOUSBFamily replacement (see post #2)

 

Regarding your concern about usb "AppleUSB*HCIPCI" kexts, they are parts of the Elcapitan new usb drivers architecture, they have to be used in conjunction with original "AppleUSB*HCI" kexts, which are replaced by yosemite's version in this workaround. Using them will just break usb as far as our FastTrack are concerned.

Link to comment
Share on other sites

@oliveiro,

 

thanks for your excellent analysis & writeup (post #10)! It helped me get my M2Tech HiFace (http://www.m2tech.biz/it/hiface.html) up and running again on El Capitan (Apple Mac Mini, mid 2010).

 

There was however a side effect: I cannot see the microphone in my Logitech C270 HD webcam any more. On a somewhat higher level, this looks like the problem @fixmymac reported for his FastTrack, but in my case there's 2 different physical devices involved.

 

To my memory, the Logitech mike displayed as a 'USB audio' device under 'Input' in the Sound applet.

 

Any help is certainly welcome!

Link to comment
Share on other sites

@oliveiro,

 

thanks for your excellent analysis & writeup (post #10)! It helped me get my M2Tech HiFace (http://www.m2tech.biz/it/hiface.html) up and running again on El Capitan (Apple Mac Mini, mid 2010).

 

There was however a side effect: I cannot see the microphone in my Logitech C270 HD webcam any more. On a somewhat higher level, this looks like the problem @fixmymac reported for his FastTrack, but in my case there's 2 different physical devices involved.

 

To my memory, the Logitech mike displayed as a 'USB audio' device under 'Input' in the Sound applet.

 

Any help is certainly welcome!

Hi !

I'd say your webcam is looking for a yosemite kext it doesn't find. Is your driver Yosemite compatible ?

If yes, try to reverse the kexts you find related to USBAudio and maybe IOAudio, and see what happens... Otherwise you may try the first workaround, in post#2, it reverses some usb kexts to yosemite's, that might solve your issue too. You might then want to complete the "old" workaround, by reversing all Capitan usb kexts (those which required to be backedup/disabled in the first workaround, to allow completing of kernel caching).

Please report back.

Good luck

Link to comment
Share on other sites

@oliveiro Thanks for sharing your thoughts on MIDI. I investigated the CoreMIDI.framework and CoreMIDIServer.framework and also the M-AudioFastTrackUltra.kext. My understanding is as follows in the diagram below (from searching through google). This led me to explore the M-AudioFastTrackUltra.kext, where I found the info.plist. The MIDI section of this plist relies on com.apple.driver.AppleUSBMergeNub. This is a part of IOUSBFamily->Contents->Plugins. The problem is that when I open the El Capitan (and also the Yosemite) IOUSBHostFamily.kext, I cannot see AppleUSBMergeNub.kext, only AppleUSBHostMergeProperties.kext, which may not be the same thing. I see AppleUSBMergeNub in IOUSBFamily.kext. Any thoughts on this? Am I going down the wrong path?

 

---------------------
| MIDI application |
---------------------
^
|
v
---------------------
| CoreMIDIServer |
---------------------
^
|
v
---------------
| MIDI driver |
---------------
^
|
v
-----------------
| IOUserClient |
-----------------
^
|
v
------------------
| M-Audio kext |
------------------
^
|
v
--------------------------------
| Fast Track Ultra Hardware |
--------------------------------

Link to comment
Share on other sites

@fixmymac. You were absolutely right investigating the M-Audio kext's plist file (sorry I should have mentionned it too). The whole point resides (in your diagram) in how IOUserClient interacts with the MAudio kext.

 

On my Capitan system I find AppleUSBmerge* inside IOUSBFamily plugins folder, and AppleUSBHostMerge inside IOUSBHostFamily's.

The "host" thing introduced in ElCapitan USB management basically replace Yosemite kexts, by 2 kexts, one with the same name, and a second one with the same name + "host":

 

so, I'd try first to disable ElCap AppleUSBMerge and AppleUSBHostMerge, and force Yosemite's AppleUSBMerge inside ElCap IOUSBFamily plugins folder.

Then see if any dependency problems occur. If yes, that should mean that Yosemite's AppleUSBMerge requires Yosemite's IOUSBFamily to be loaded instead of ElCap's. (then, see post#2, first workaround)

 

When trying to manually load the Yosemite kext, if any problem occurs, you'll see errors in console. That should point you to the right direction.

Beside the kextload command/console output, you can also get relevant infos from the kextlibs command : for instance in ElCap, here's the output I get for AppleUSBMerge :

 

 

kextlibs /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBMergeNub.kext

For all architectures:
    com.apple.driver.AppleUSBHostMergeProperties = 1.0.1
    com.apple.iokit.IOUSBFamily = 900.4.1
    com.apple.kpi.iokit = 15.5
    com.apple.kpi.libkern = 15.5

 

The plist file includes about the same dependency infos, plus class infos.

 

that's all I can think of for the moment. Good luck...

 

PS : to be clear, when I write AppleUSBMerge, please understand AppleUSBMergeNub.kext, and AppleUSBHostMerge stands for AppleUSBHostMergeProperties.kext

Edited by oliveiro
Link to comment
Share on other sites

  • 4 weeks later...

I've had some extra time to further experiment :

I noticed problems with the help of IOregistryExplorer : IOUSBuserclient seems to be broken when using the workaround described in Post10.

Which prevents the Fast Track Ultra MIDI port to be correctly configured by OsX.

(On my system, it also breaks the configuration of my Epson Printer/Scanner, scanner is not seen)

 

To avoid that, I came back to the first workaround :

 

I removed (and backed up as usual) the following files from ElCapitan(10.11.5)/System/Library/Extensions/ :

 

post-460968-0-57929800-1470132153_thumb.png

 

And replaced them (installed with KextUtility) with the following ones from Yosemite(10.10.5)/System/Library/Extensions/ :

 

post-460968-0-16542000-1470132168_thumb.png

 

Some files seem to be missing from the Yosemite folder, but if you check inside the plugins folders of IOUSBFamily.kext, you'll find the related kexts.

So this is basically reversing all USB kexts to yosemite versions.

 

For those of you who can't easily access a Yosemite system, here are the files I'm using (as usual, taken from my clean Yosemite 10.10.5)

 

Yosemite.zip

 

Once that is done, a simple reboot should be enough. After reboot, checking with IOregistryExplorer, the FTU midi channel seems to still be missing, but it gets created when launching the FTU Control Panel (the same happens for my Epson Scanning Device, not seen by OsX until the Epson Scan App gets launched)

 

System seems to be stable so far, I'll report later.

 

I have no midi device (all of my midi controllers are USB), so I cannot further test this workaround as far as the FTU MIDI port is concerned.

Please report here I you can test this.

 

O.

  • Like 2
Link to comment
Share on other sites

I've had some extra time to further experiment :

I noticed problems with the help of IOregistryExplorer : IOUSBuserclient seems to be broken when using the workaround described in Post10.

Which prevents the Fast Track Ultra MIDI port to be correctly configured by OsX.

(On my system, it also breaks the configuration of my Epson Printer/Scanner, scanner is not seen)

 

To avoid that, I came back to the first workaround :

 

I removed (and backed up as usual) the following files from ElCapitan(10.11.5)/System/Library/Extensions/ :

 

attachicon.gifScreen Shot 2016-08-02 at 11.53.26.png

 

And replaced them (installed with KextUtility) with the following ones from Yosemite(10.10.5)/System/Library/Extensions/ :

 

attachicon.gifScreen Shot 2016-08-02 at 11.54.04.png

 

Some files seem to be missing from the Yosemite folder, but if you check inside the plugins folders of IOUSBFamily.kext, you'll find the related kexts.

So this is basically reversing all USB kexts to yosemite versions.

 

For those of you who can't easily access a Yosemite system, here are the files I'm using (as usual, taken from my clean Yosemite 10.10.5)

 

attachicon.gifYosemite.zip

 

Once that is done, a simple reboot should be enough. After reboot, checking with IOregistryExplorer, the FTU midi channel seems to still be missing, but it gets created when launching the FTU Control Panel (the same happens for my Epson Scanning Device, not seen by OsX until the Epson Scan App gets launched)

 

System seems to be stable so far, I'll report later.

 

I have no midi device (all of my midi controllers are USB), so I cannot further test this workaround as far as the FTU MIDI port is concerned.

Please report here I you can test this.

 

O.

 

Thank you for this work around Oliverio! While the MIDI function was never utilised by me, I found that with this work around my iPhone could not be detected by OS X. Using your new workaround this is no longer and issue and my iPhone is behaving correctly. I was going to post regarding this issue but your new workaround seems to fix this issue :)

 

Hope youre well.

 

Bill

Link to comment
Share on other sites

 Share

×
×
  • Create New...