Jump to content
tluck

H61N-USB3 on Sierra with Clover

53 posts in this topic

Recommended Posts

This thread provides an explanation of a way to enable the Fresno Logic USB3 ports (device FL 1009 1b73) in El Capitan and Sierra. In this case, this device is on a Gigabyte H61N-USB3 motherboard. The El Capitan and Sierra USB device drivers changed quite a bit and often USB3 ports not usable after upgrading a system to this new OS X version.

 

There are 2 key items that need to be addressed to enable USB3 on this board:  

  1. custom DSDT to add Device XHC1
  2. USB port injector to define the 2 ports - which match to XHC1 device

Here is what to put in the DSDT in the PEX1 device right after this line:

 

                Name (_ADR, 0x001C0001)

 

 

 

// begin XHC1     
                Device (XHC1)
                {
                        Name (_ADR, Zero)
                        Method (_DSM, 4, NotSerialized)
                        {
                        Store (Package ()
                            {
                                "device-id",
                                Buffer (0x04)
                                {
/* for FresnoLogic 1b73 */      0x00, 0x11, 0x00, 0x00
                                },

                                "built-in",
                                Buffer (0x01)
                                {
                                    0x00
                                },

                                "device_type",
                                Buffer (0x05)
                                {
                                    "XHCI"
                                },

                                "AAPL,clock-id",
                                Buffer (0x01)
                                {
                                    0x00
                                },

                                "AAPL,current-available", 0x834,
                                "AAPL,current-extra", 0x898,
                                "AAPL,current-extra-in-sleep", 0x640,
                                "AAPL,max-port-current-in-sleep", 0x0834,
                                "AAPL,device-internal",
                                Zero,
                                Buffer (0x01)
                                {
                                    0x00
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                        }
                }
// end XHC1

 

 

 

 

Here is an example of the core piece of Info.plist of a modified Apple USB kext or USB port injector kext:

 

 

 

                <key>Macmini5,1-XHC1</key>
                <dict>
                        <key>CFBundleIdentifier</key>
                        <string>com.apple.driver.AppleUSBMergeNub</string>
                        <key>IOClass</key>
                        <string>AppleUSBMergeNub</string>
                        <key>IONameMatch</key>
                        <string>XHC1</string>
                        <key>IOProviderClass</key>
                        <string>AppleUSBXHCIPCI</string>
                        <key>IOProviderMergeProperties</key>
                        <dict>
                                <key>port-count</key>
                                <data>
                                FQAAAA==
                                </data>
                                <key>ports</key>
                                <dict>
                                        <key>HS01</key>
                                        <dict>
                                                <key>UsbConnector</key>
                                                <integer>3</integer>
                                                <key>port</key>
                                                <data>
                                                AQAAAA==
                                                </data>
                                        </dict>
                                        <key>HS02</key>
                                        <dict>
                                                <key>UsbConnector</key>
                                                <integer>3</integer>
                                                <key>port</key>
                                                <data>
                                                AgAAAA==
                                                </data>
                                        </dict>
                                        <key>SSP3</key>
                                        <dict>
                                                <key>UsbConnector</key>
                                                <integer>3</integer>
                                                <key>port</key>
                                                <data>
                                                AwAAAA==
                                                </data>
                                        </dict>
                                        <key>SSP4</key>
                                        <dict>
                                                <key>UsbConnector</key>
                                                <integer>3</integer>
                                                <key>port</key>
                                                <data>
                                                BAAAAA==
                                                </data>
                                        </dict>
                                </dict>
                        </dict>
                        <key>model</key>
                        <string>Macmini5,1</string>
                </dict>

 

 

 

Attached is a zip for Clover on El Capitan for the H61N-USB3. It contains 2 sets of configuration and DSDT files - one set for HD 3000 Graphics and one for HD 4000 Graphics:

  • config.plist - clover config file - assumes Intel HD 3000 - with matching DSDT and audio kext
  • dsdt.dsl - source version of differentiate system description tables with XHC1 device added
  • dsdt.aml - compiled version of DSDT
     
  • config.4000.plist - clover config file - assumes Intel HD 4000 - with matching DSDT and audio kext
  • dsdt.4000.dsl - source version of differentiate system description tables with XHC1 device added
  • dsdt.4000.aml - compiled version of DSDT
     
  • USBXHCI_injector.kext - USB3 port injector for FL1000 - derived and based on RehabMan's u430 injector - see link below for source.
  • USBXHCI_FL1009.kext - property injector for FresnoLogic FL1009 as FL1100 (RehabMan)
  • Audio kexts are from Toleda's ALC889 scripts

 

Inspiration and methodology to create this USBXHCI Injector came from thought leaders RehabMan and Pokenguyen. I looked at their posts adapted their methodology and examples to this situation. 

 

Examples of USB Port Injectors from RehabMan can be found here:

Lenovo-U430-Touch-DSDT-Patch

 

Here is a good long thread by Pokenguyen to read more about El Capitan and USB3:

[GUIDE] USB Fix El Capitan 10.11

H61N-USB3_Clover_Sierra.zip

Edited by tluck

Share this post


Link to post
Share on other sites
Advertisement

Awesome work. with your help I'm up and running with all USB ports operational. I don't have any USB3 devices to test speed, but it is nice to have them at least be functional .

 

Thanks for all your work and willingness to share.

Share this post


Link to post
Share on other sites

Great job tluck!

 

I have a PCI card with the Fresco Logic FL1009. It worked OOB on Yosemite, but not with El Capitan.

Could you specify what you added to your DSDT? In other words, what do I have to add to my DSDT to get it work?

 

Thanks,

Eddie

Share this post


Link to post
Share on other sites

@Benjamin Franklin

 

In the DSDT I added Device XHC1. In the DSDT.dsl I posted, you will see this addition marked with // tjl

 

On my H61N board the FL1009 shows up under PCI expansion slot device PEX1.  

On my Lenovo, an PCI card shows up in EXP4 ... so should be as simple as finding the location/device for your system and card and then adding XHC1.

Share this post


Link to post
Share on other sites

Do you got hardware sensors work on GA H61N USB3? I got Kp when I install fakesmc sensors plugins in S/L/E or L/E ,have no issue in yosemite,but i can't use fakesmc plugins in el capitan :(

Share this post


Link to post
Share on other sites

@theien2 - 

i downloaded 1394 from hwsensors.com and reinstalled everything except GPU. HWMonitor seems to keep CPU and LPC plugins loaded -- not sure why ACPI does not load? i get this error in the log - which is different than on my laptop. 

 

Oct  8 11:53:07 Toms-Hack HWMonitor[499]: reading SMART data for ST3750330NS

Oct  8 12:01:10 Toms-Hack HWMonitor[517]: CoreData: Failed to load optimized model at path '/Applications/HWMonitor.app/Contents/Resources/HWMEngine.momd/HWMEngine 1.12.omo'

Oct  8 12:01:12 Toms-Hack HWMonitor[517]: Loading profile from Hackintosh.plist

Oct  8 12:01:12 Toms-Hack HWMonitor[517]: number of fans: 5

Oct  8 12:01:21 Toms-Hack HWMonitor[517]: ATA block storage device appeared 44291

Oct  8 12:01:26 Toms-Hack HWMonitor[517]: reading SMART data for ST3750330NS

 

 

 

tluck@Toms-Hack ~

$ kextstat|grep 1394

   14    2 0xffffff7f80c86000 0x1d000    0x1d000    org.netkas.driver.FakeSMC (1394) 2DBA2F88-A115-386A-85D0-F88021A4D2E3 <11 7 5 4 3 1>

   23    0 0xffffff7f80cba000 0x5000     0x5000     org.hwsensors.driver.CPUSensors (1394) 2A0C01CE-A1E3-399C-BB84-00148F49D473 <14 7 5 4 3>

   44    0 0xffffff7f80ca3000 0x17000    0x17000    org.hwsensors.driver.LPCSensors (1394) 32252ABE-128E-371C-AC47-4F32279ED768 <14 12 11 7 5 4 3>

 
but HWMonitor works for on El Capitan.
post-954945-0-03876200-1444322606_thumb.png

Share this post


Link to post
Share on other sites

Oh I got HWsensors work now,i've installed only CPUsensors GPUsensors LPCsensors except ACPIsensor,but istat doesn't not work!

post-1602961-0-60684100-1444360832_thumb.pngpost-1602961-0-48449400-1444360841_thumb.png

Share this post


Link to post
Share on other sites

is it just me... or did this method stop working with the final release 10.11.1 ?

 

edit -  good news - 10.11.2 (beta) seems to get it working again.

Share this post


Link to post
Share on other sites

Got the same board, got everything done. System is working great except for very slow boot and shutdown. Only one problem... no audio devices found. I used the zips ktext and still no sound whatsoever. 

 

My most current ktext wizard setup is enclosed. Do I have something in there that I shouldn't have? Or am I just overlooking something?

 

It's so close to working. this zip gave me usb again. Now I just need audio back. (using the green plug in the back of my board for audio)

 

Anyone got any suggestions?

ktext.txt

Share this post


Link to post
Share on other sites

sorry. yup. i just discovered the same thing on my box that green plug was busted in 10.11 - i normally use HDMI out so i didn't notice. i repackaged everything and now Line Out (green) seems to be working once again. note: i changed the codec to use so replace config.plist as well as kext.

Share this post


Link to post
Share on other sites

fudge, I redownloaded the zip and replaced the ktext and the config but still, no output devices found. Of course I did fiddle with some stuff. Can you post your ktext list? I gotta figure out what shouldn't be there. 

Share this post


Link to post
Share on other sites

well. are you using clover ? and what versions of OS X - 10.11.1? - which is odd as my box KP on 10.11.1 (usb bugs) so i updated to 10.11.2 beta.

 

i am running 10.11.2 beta -  nothing added or removed or modified in /S/L/E (especially the original AppleHDA.kext is unmodified and still in /S/L/E)

this custom audio kext must be on the HD (vs EFI) in /Library/Extensions as the executable file ( Contents/MacOS/AppleHDA ) is a symbolic link to the original AppleHDA

 

Clover patches the binary on the fly. i ask as you posted this which makes me wonder what boot manager/loader are you using?

odd that you have another AppleHDA.kext in as well ElliotForce - and NullCPU.

 

i have standard install with just 4 custom kexts in /Library/Extensions

 

FakeSMC.kext (kozlec)

RealtekRTL8111.kext (from Mieze)

AppleHDA_ALC889.kext 

USBXHCI_Injector.kext

 

my model is macmini5,1

 

your list:

 

3. /Extra Kexts:

Kext Name:                     
Plugins:
AppleHDA-ALC889.kext           
AppleHDA.kext                  AppleHDAController.kext AppleHDAHALPlugIn.bundle AppleHDAHardwareConfigDriver.kext AppleHDAPlatformDriver.kext AppleMikeyDriver.kext DspFuncLib.kext IOHDAFamily.kext 
ElliottForceLegacyRTC.kext     
FakeSMC.kext                   
HDAEnabler1.kext               
lspcidrv.kext                  
NullCPUPowerManagement.kext    
USBXHCI_injector.kext          

Share this post


Link to post
Share on other sites

I'll have to clear those out, how do you update to beta? Maybe that's what I need to do. i'm still 10.11.1. I'll clear out the ktexts, looks like I should probably reinstall my vanilla appleHDA.ktext too.

Share this post


Link to post
Share on other sites

Out of curiosity does this dsdt have the HDMI audio edits as well (I'd test but this is for my father's build)?

 

Thanks for the post

Share this post


Link to post
Share on other sites

well who knows were that old one came from.  i reposted a more recent zip, which the DSDT is derived from the motherboard with Clover auto-patch and custom edits.

Share this post


Link to post
Share on other sites

Ok thank you bro,i've edited and fixed your dsdt to my system,everything seems to work fine now,but I have a little problem with clover boot,if I install clover to ESP(Efi System Partition),i cannot get full resolution 1920x1080 when boot,clover even don't see any other harddisk(i using 2 hdd) mouse not work,but if I install clover to El Capitan partition or boot from usb unibеаst,clover work fine with full resolution 1920x1080 and mouse work,the clover bootloader on unibеаst also in ESP,i copied all clover folder from usb unibеаst to hhd,but same result,do you got full resolution on boot? Where you have installed clover? on esp or mac partition? My graphic card is amd 7770.

Share this post


Link to post
Share on other sites

@theien2

 

i added an EDID to my dsdt since i boot headless often and prefer remote access to default to 1920x1080. i only use HD3000 gfx. Yes, I use clover installed in ESP.

 

had the same issues on clover startup, but i found that if i remove the /EFI/BOOT folder and just have /EFI/CLOVER folders,  it works a lot better. it boots using hybrid boot method of course on this motherboard. which in terms of clover is non-UEFI aka legacy where you must install bits in the MBR or PBMR for the bios to boot from. 

Share this post


Link to post
Share on other sites

@theien2 have you read our Rules about tonymac?

@Micky1979 No,but sorry if I violate rules,i will read later.

@theien2

 

i added an EDID to my dsdt since i boot headless often and prefer remote access to default to 1920x1080. i only use HD3000 gfx. Yes, I use clover installed in ESP.

 

had the same issues on clover startup, but i found that if i remove the /EFI/BOOT folder and just have /EFI/CLOVER folders,  it works a lot better. it boots using hybrid boot method of course on this motherboard. which in terms of clover is non-UEFI aka legacy where you must install bits in the MBR or PBMR for the bios to boot from. 

Thank you so much bro,you made my day,I just remove Boot folder and it's working now without an EDID code   :thumbsup_anim:  :thumbsup_anim:  :thumbsup_anim:  :thumbsup_anim:  :thumbsup_anim:  :thumbsup_anim:

Share this post


Link to post
Share on other sites

@sekmo

 

2 files - DSDT and config.plist .

 

i happen to have 2 of these H61N-USB3 systems - one has HD3000 and the other is HD4000

 

the diff is really just graphics card device.

 

see the first post for a set of files for HD 4000 gfx

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

Thank you very much @tluck!

Have you managed to enable usb 3.0?

Could you kindly send me also your DSDT?

 

Thanks for your time :-)

 

Share this post


Link to post
Share on other sites

@sekmo

 

I updated the zip in the first post to contain files for HD 3000 GFX and HD 4000 GFX

 

And yes USB3 is working - that was the main point of this thread  ;)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×