Jump to content

H61N-USB3 on Sierra with Clover


tluck
 Share

54 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
  • Like 5
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
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.

  • Like 1
Link to comment
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
Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...

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

Link to comment
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.

  • Like 1
Link to comment
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          
Link to comment
Share on other sites

  • 2 weeks later...

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.

Link to comment
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. 

Link to comment
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:

Link to comment
Share on other sites

  • 2 months later...

@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

 

 

 

 

 

 

Link to comment
Share on other sites

 Share

×
×
  • Create New...