Jump to content
15 posts in this topic

Recommended Posts

Hello.  I have recently installed MacOS-X Sierra on a Dell T5610. 

This is a dual xeon C602 chipset motherboard.  It has a renesas/NEC third party USB3 controller on the motherboard. . 

 

When I plug a USB3 hard drive into a USB3 port, it appears under the XHC device using GenericUSBXHCI.kext.  It took about 18 seconds to transfer a 720MB file but that may be a function of the drive speed. Is it running at USB3 speed? I have no idea.  

 

All the USB ports recognise memory sticks.  None of them will work with my webcam which does work on windows or on a real mac so clearly something isn't quite right. 

 

I am using a custom DSDT that contains a few renames for port names and a fix to recognise 'Darwin' OS type as an alternative to windows 7. 

 

I have written up the install here:

http://www.insanelymac.com/forum/topic/331372-write-up-installing-os-x-1012-sierra-on-dell-t5610-dual-xeon-uefi/?p=2577542

 

I have some issues that I am having trouble resolving.

 

The issue

-----------

 

The main issue I want to resolve is that I can not get the machine to wake up properly from sleep.  It goes to sleep just fine.  When it wakes up, although the  screen comes back on, either the pointer/keyboard don't work - (with some darkwake settings) or the mouse does work but the cursor isn't flashing in the password box and the machine looks to have hung. 

 

I have a feeling this might be helped by getting rid of some unused ports that are being injected by USBInjectAll.kext.  

 

So.  I tried creating a custom SSDT-UIAC-ALL.aml file to remove unused ports.  It did remove unused ports, but the USB3 ports all stopped working. 

I then tried to customise the USBInjectall.kext by editing the information in the .plist file inside the package.  This had the same effect.

So. Strangely enough, if I even remove a handful of unused ports on EH01/EH02 (which are the USB2 devices) for some reason all the USB3 ports just stop working. I don't know why that is.   These ports (EH01 / PR11-PR18) and (EH02 / PR21-26) appear to be allocated with PR11/PR21 being internal hubs. The rest of the ports never have any devices under them in IORegExplorer.  When a device is plugged into one of the USB2 ports, it will appear under what looks like an internal port which is numbered in the PR30+ range which itself comes under PR11 or PR21.  So I assumed that it was probably ok to remove these unused ports.   However, for reasons I can't explain, when I remove even one of them, the USB3 ports on the machine just stop working. 

 

I am unable to attach my IORegExplorer.ioreg file or my DSDT.dsl file - the site won't allow it.  I don't know why that is. 

 

Does anyone please have any detailed information on what I'm doing wrong here? I've wasted a lot of time on this over the last few weeks.

There seems to be little documentation about this aspect on the web apart from the ACPI spec and some postings on forums by a very few individuals. 

 

  • Like 1

Thanks.    

 

http://www14.zippyshare.com/v/3aNkkSJD/file.html   (clover directory)

 

http://www14.zippyshare.com/v/lZVNY2Ve/file.html  (Tables)

 

http://www14.zippyshare.com/v/fBxwbC65/file.html (IOreg)

 

Have also sent the same. 

 

It's worth noting that recognising the devices plugged into a USB3 port does not seem reliable.

 

It seems to always recognise any USB2 or USB3 devices plugged into a USB3 port - as long as I reboot the machine with a USB2 stick in that particular USB3 port.  There also seems to be some effect on the other USB3 ports. 

 

Investigation of effect of powering on with devices plugged in. 

 

Test one

----------

Reboot the machine with nothing in any USB3 ports.

Plug a USB stick into USB3 front panel left.  [uSB3FPL] 

Results. A USB2 stick with a light on it, flashes briefly and goes it. It is not recognised. No other devices plugged that same USB3 port works. 

 

Test Two

-----------

I then rebooted the machine with nothing in any USB3 ports.

I Placed the USB2 stick with light in the same USB3 port (front panel left) [uSB3FPL]

Results: The light flashed briefly and went out. I left it plugged in for fifteen minutes. It was not recognised. 

 

Next steps:

 

I plugged the same stick into another USB3 port (rear panel secondary block top right as mentioned in the mapping below) [uSB3STR]

It was recognised.

 

I then plugged it into the rear panel secondary block top left [uSB3STL] and it was not recognised.  

I then plugged it into the rear panel secondary block bottom left [uSB3SBL] and it was not recognised. 

 

I then re-plugged the same stick into the same port (front panel left) [uSB3FPL] that was not working before. and it worked and was recognised (!?!) 

 

I removed it and tried in the two rear ports again.  

It still did not work in rear panel secondary block top left [uSB3STL] or rear panel secondary bottom left [uSB3SBL]. 

 

Test Three

-------------

 

I restarted the machine with the USB stick plugged into the rear secondary block top right port [uSB3STR]

The light on it stayed lit all the way through boot and it was recognised. 

 

The stick plugged into rear secondary block top left [uSB3STL] was not recognised. 

 

I then moved the stick into front panel left ]USB3FPL] and that was recognised too.  

 

I then moved the stick back to the original socket that worked (rear secondary block top right) [uSB3STR] and it was no longer working (?!?) 

 

Test Four

-------------

I restarted the machine with the USB2 stick in the front panel top left port [uSB3FPL]

The light lit up and stayed on all the way through boot. It was recognised. 

I then plugged my USB3 device into that port [uSB3FPL]  

 

It was recognised and it appears under:

 

XHC@1C / IOPP / PCI1912,14@0 / GenericUSBXHCI / G Drive with Thunderbolt USB3 @ 1C20 0000

 

That makes sense because the device ID in IOReg (and windows when I checked the controller) is given as 14 and the XHC device in my DSDT (which was renamed from PEX0) has an address of 0x001C 0000 

 

I don't know if the IO reg file contains this information. But I uploaded it anyways here with that USB3 device showin under XHC as mentioned. 

 

http://www8.zippyshare.com/v/F0AcRFdN/file.html

 

Conclusion

 

1. Any device plugged into a USB3 port at boot up, renders that device operational.

 

2. As a side-effect, it also seems to affect (some) other USB3 ports.  

There seems to be correlation in the hardware between the front panel top left port [uSB3FPL] and the rear panel secondary (top right) port [uSB3STR]

 

There seems to be a correlation in the hardware between the rear panel secondary (top left) [uSB3STL] and the rear panel secondary (bottom left) port [uSB3SBL]. 

 

The USB3 ports appear to be linked somehow in pairs in the hardware.  

 

The above is reproduceable. I repeated it twice with the same results. 

 

I can see nothing in the BIOS to 'tune' to alleviate this. There are no relevant settings. There is nothing about XHCI handoff in the BIOS.

 

This isn't necessarily  big issue since I can keep a USB device plugged into a rear port all the time if I need to but it does point to an underlying problem that I don't understand. 

 

Machine Configuration

 

The machine configuration as mentioned above, and as extracted, does not include the SSDT-UIAC-ALL.aml which didn't help matters, and it does not include an altered USBInjectAll.kext - because that didn't help either.  

 

The information I have discovered about the physical configuration of my ports is as follows:

 

USB port configuration
---------------------------
Machine has 4 external USB3 ports,  6 external USB2 ports, 3 internal USB2 ports according to the data sheet.  
 
 
I will refer to the ports by shorthand letters referring to their type and physical location:
example:  USB3FPL , USB2VTR , USB3STL and so on.  
 
Physical configuration of ports.
 
Front Panel (4)  - 1 USB3 ( far left ) [uSB3FPL]  and 3 * USB2 [uSB2F1, USB2FP2 and USB2FP3] 
 
Back Panel (6):
                          two ports next to PS/2 keyboard
                          2 USB2 (very top left and right)  [uSB2VTL and USB2VTR]  
 
                          Four ports in a secondary block of four (a grid of two by two) configured as top left, top right, bottom left, bottom right. 
                           2 USB3 (Secondary block of four. (Top Left and Top Right)    [uSB3STL and USB3STR] 
                           1 USB3 (Secondary block of four.  Bottom Left) [uSB3SBL]
                           1 USB2 (secondary block of four. Bottom Right) [uSB2SBR] 
 
Internal  (3)         3 x USB2 ports  [uSB2i1. USB2i2 and USB2i3] 
 
Devices plugged into the ports: 
------------------------------------
apple bluetooth card.  Working.  Plugged into one internal port [uSB2i1] 
apple keyboard with hub. Working.  Plugged into back panel very top right [uSB2VTR]
Camera.  Not working.  Plugged into back panel very top left [uSB2VTL] 
 
IOReg mapping information
 
---EH01 @1d00 0000----
 
EH01 / PR11 @ 1d10 0000-   all devices appear under an internal port under this. I guess this is the hub. 
 
EH01 / PR12 @ 1d20 0000  No devices ever appear
EH01 / PR13 @ 1d30 0000  No devices ever appear
EH01 / PR14 @ 1d40 0000  No devices ever appear
EH01 / PR15 @ 1d50 0000  No devices ever appear
EH01 / PR16 @ 1d60 0000  No devices ever appear
EH01 / PR17 @ 1d70 0000 No devices ever appear
EH01 / PR18 @ 1d80 0000  No devices ever appear
 
Internal hub addresses for EH01 seem to be:
 
EH01 / PR30 @ 1d11 0000 USB2 Front Panel Second From Right [uSB2F2]
EH01 / PR31 @ 1d12 0000 USB2 Front Panel Second From Left.  [uSB2F1]
EH01 / PR32 @ 1d13 0000 USB2 Front Panel Far Right  [uSB2F3] 
EH01 / PR33 @ 1d14 0000  ??  (could be an internal USB I am not using) 
EH01 / PR34 @ 1d15 0000     USB2  Back Panel  very top right   (Apple Keyboard with internal hub)   [uSB2VTR]
EH01 / PR35 @ 1d160 0000   USB2  Back Panel  very Top Left   (Camera)     [uSB2VTL]
EH01 / PR36 @ 1d170 0000     No devices ever appear
EH01 / PR37 @ 1d180 0000     No devices ever appear
 
---EH02 @ 1a00 0000 ----
 
EH02 / PR21 @ 1a10 0000 -    all devices appear under an internal port under this. I guess this is the hub. 
 
EH02 / PR22 @ 1a20 0000   No devices ever appear
EH02 / PR23 @ 1a30 0000  No devices ever appear
EH02 / PR24 @ 1a40 0000  No devices ever appear
EH02 / PR25 @ 1a50 0000   No devices ever appear
EH02 / PR26 @ 1a60 0000  No devices ever appear
 
Internal hub addresses for EH02 seem to be:
 
EH02 / PR30 @ 1a11 0000       Internal USB (Apple bluetooth card)      [uSB2i1] 
EH02 / PR31  1a120000          ??  (could be an internal USB I am not using)
EH02 / PR32  1a130000           Bottom Right of the bottom set. Rear Panel.  [uSB2SBR] 
EH02 / PR33 1a140000         No devices ever appear
EH02 / PR34 1a150000         No devices ever appear 
EH02 / PR35 1a160000         No devices ever appear
 
USB3 ports
———————
Items plugged into the FOUR USB3 ports (front panel left, rear panel secondary block Top right, secondary Top left and secondary bottom left()
referred to as  USB3FL , USB3STR, USB3STL and USB3SBL never appear in the above list. 
 
They all just appear under XHC with no specific ports visible that I could see. 

Thank you for the note and for the time you have spent on trying to solve my problem. 

 

Unfortunately the machine did not boot with that configuration. 

 

There were numerous errors along the lines of: 

AppleUSBHostPort::InterruptOccurred::Overcurrent Detected with port status: 0x4002  for two of the ports PR17 and PR18 I think.

It was very slow booting.  Then it went to a black screen. 

 

A few observations I have that I don't understand. 

 

1. I note that in kexts/other in the alternative distribution you provided it has: 

 

IntelMausiEthernet.kext

Lilu.kext

NVidiaGraphicsFixup.kext.

 

Not sure why that is.  This machine has an Nvidia GTX650 card in it - which I believe is out of the box compatible with macOS-X? 

I am not sure why NvidaGraphicsFixup.kext / lily.kext  are necessary?  I am not experiencing any graphics issues or stuttering at all. 

 

I have tried IntelMausiEthernet.kext in the past. It did not work correctly.  The existing kext for AppleEthernet100e worked just fine. 

 

It's worth noting that I currently have an additional PCIe card in there for ethernet that also works 'out of the box' just fine ( as well as the motherboard ethernet)   This is an HP NC360T dual port adapter.

 

Kind Rgds

John


After the above checks, I tried to use a modified SSDT-UIAC-ALL.aml to disable unwanted ports, and tried booting with a USB2 stick in the USB3 ports. The USB3 ports were recognised and the unwanted USB2 ports were indeed disabled. 

 

So it seems to me that my problems are:

 

1. The machine does not wake from sleep properly.

2. The machine won't recognise USB3 ports without booting with something plugged into the port.

 

Will investigate further. 

ye, 650 work oob, remove NvidaGraphicsFixup.kext

 

dont need ssdt, just use uia_exclude=xxx flag

 

use barspace in clover boot screen and block kext


we need check if u use others kexts in L/E or S/L/E or only in Clover/Kexts/Other

Thank you for the note.  It seems there are a lot of changes in the clover folder that you provided. It's hard for me to narrow down what's causing the problem.

 

I noted that there were a lot of changes in the DSDT that looked interesting.

I performed the following.

 

1. The original distribution that you provided does not show the 'apple' and boots to a black screen.

2. I then removed NVIDAGraphicsFixup.kext.  It did not show the apple and booted to a black screen.

3. I then removed Lilu.kext and AppleALC.kext. It did not show the apple and booted to a black screen.

4. I then replaced the DSDT with my original.  It did not show the apple and booted to a black screen.

 

5. I then copied my original clover folder and in it, I placed all the kexts from your copy (with the exception of NvidiaGraphicsFixup.kext) and I placed your patched DSDT in ACPI/Patched.

 

That copy booted to a logon screen successfully.  However, the Internal USB port (connected to to my Apple bluetooth card) did not work, and neither did any USB mouse or Keyboard, so I was not able to proceed.

 

Conclusion.  

 

1) Some other change in your distribution (drivers? clover configuration?) caused the black screen.

2) Something in the DSDT edits is not working and hence disabling the USB ports.

 

 

Update 1

------------

I also checked S/L/E and I noticed that I had put VoodooHDA.kext in there because I read that it only works correctly from that location. I had forgotten. 

 

I also noticed AppleIntelE1000e.kext in both /L/E and S/L/E .  I didn't put it there.  I did use  a certain horrible cartoonish tool with a name akin to murderbeast when I first tried to get this working but stopped when I noticed that it was putting stuff in different places and I wasn't sure what it was doing. It was possible that this tool did it.  I'll remove AppleIntelE1000e.kext from both those locations. 

 
Update 2.
-----------
I removed voodooHDA.kext from S/L/E and both instances of AppleIntelE!000e.kext from S/L/E and /L/E.  I can see no other nonstandard items in there.   I also removed AppleIntelE1000e from my original clover/kexts directory.
 
Right now. Sound does not work over HDMI or from the back panel - as I would expect.  
 
The onboard ethernet does not work without AppleEthernetE1000e.kext.  It shows 'cable disconnected' all the time.  
However, this isn't really a problem because I am using the NEC card which works out of the box for wired ethernet. The bluetooth apple card which has wifi on it also continues to function as i would expect.
 
 
Update three
----------------
OK. So I took my original clover folder.  I left my original DSDT in there. 
I replaced all the kexts in it with the ones from your distribution.
As mentioned, I removed everything nonstandard from S/L/E and /L/E (AppleIntelE1000e and VoodooHDA) 
 
The machine boots fine and I can log on.
Sound over HDMI and onboard sound does not work.  
Onboard network does not work.
USB3 ports are not recognised - just as before the light flashes briefly and goes out. 
 
Some USB2 ports no longer accept a memory stick. Some work. Some do not. 
Keyboard (plugged into USB port USB2VTR)  works
Camera (plugged into USB USB2VTL) still does not work. 
Bluetooth card (plugged into internal port) works. 
 
To avoid any confusion I have included the files again here:
 
IOReg output
 
Clover folder as of current configuration
 
Tables
 
Thanks so much for trying to help me. This has been a very frustrating journey because of the lack of clear information and documentation out there. 
 
Kind Rgds

John

  • Like 1

Thanks. Unfortunately that DSDT did not work correctly.

 

Although the machine booted to the logon screen correctly, all USB devices were not working  (apple USB keyboard, internal port connected to bluetooth magic mouse, additional USB mouse I tried and USB memory sticks). 

 

I note that in the edited DSDT the original USBE and EUSB devices were present.  When I had this before, and the USB ports did not work, I got them working by renaming those devices to EH01 and EH02 which presumably allowed USBInjectAllKext to inject the ports.

 

It's worth noting that I have not managed to get the machine to boot with working USB for mouse or keyboard without using USBInjectAll.kex. I tried to use the original DSDT with USBE/EUSB devices AND my modified DSDT.   Neither worked.

 

The only edits that I performed in my DSDT were to rename:

a ) The device that appeared to be the graphics device to GFX1 from NPE3. 

b ) the USB devices to EH01/EH02 (from EUSB and USBE)

c ) I (later) renamed the hubs from HUBN to HUB1 and HUB2 but it made no difference.

d ) I The Third party USB controller, device 14, I renamed from PEX0 to XHC. Again I'm not sure that really helped. 

e ) Added a 'darwin' in the IF statement in OSFL method as an alternative to windows 2009 

 
If (LOr (OOSI ("Darwin"), OOSI ("Windows 2009")))
 
because I assumed that this was windows 7 and this the OS the machine shipped with when released. 
 

Update one

---------------

I edited the DSDT that you provided to rename devices EUSB and USBE to EH01 and EH02.

That allowed the USB2 ports to work and hence log on.

 

The front panel USB3 port [uSB3FL]  does not work when a USB2 device is inserted. The light flashes briefly and goes out.

However, if a USB2 stick is inserted into one of the rear panel USB3 ports [uSB3STR] as before, that works.  Once that has been inserted into that port, plugging it back into the front panel USB3 port (USB3FL) then works fine. (?!?)  This is as before. 

 

The USB2 ports function as expected. 

The IOReg output is here:     http://www76.zippyshare.com/v/9WGTdZNS/file.html  for a USB2 stick in a USB2 port.

 

And is here for a USB2 stick inserted into a rear working USB3 port:   http://www76.zippyshare.com/v/YetSiHS2/file.html

ye, need rename to eh01 and eh02 if use usbinjectall

ur usb3 is not intel, dont work native, u ned a kext GenericUsbxhci and this kext is very old and cause some problems

u can try found a kext for ur usb3, many ppl modify kexts and post here

 

and

 

u need solve ur Power Management too, u need check if ur proceessor work with AICPUPM or X86PLATFORM

Thank you. Could you please explain what you were trying to achieve in the dsdt edits? Is it worth keeping them? Also. What is the point of the lilu and applehda kexts in your distribution because it seems to me that they do not work for audio? Should I revert to my original configuration?

Yes, use DSDT, have all essentials patches for good work.

Audio, need try other id, what ur audio codec?

 

Just to follow up.  The Audio codec on the motherboard is: RealTek ALC269Q .  I have been having problems finding suitable kexts or drivers for it.  I went back to using VoodooHDA for the time being to get the sound working - but I understand that it's not really a great solution and (perhaps) might cause some stability issues.  

 

I have no idea why the USB2 camera is working correctly now.   Sleep still doesn't work correctly - with Darkwake=8 the video comes on and the mouse pointer works but the cursor isn't blinking so it looks to have crashed - I haven't had time this week to try and look at the logs and work out why. 

I was planning to take apart all the DSDT edits one-by-one and try and understand them because I don't follow why the USB2 camera now works at all.

 

I removed the unused ports that were injected by USBInjectAll.kext leaving just the two internal hubs, which, since your edits now appear sometimes to have ports labelled PRxx and other times named HPxx. I don't follow why that is either.

 

Can you tell me what controls the port names that appear in IOreg?  Is this a function of the USBInjectAll.kext port injection or is a function of the port name in the DSDT?  How does the system arrive at these port names? 

 

This really is a bit of a nightmare actually.  I think so far I've spent more time trying to get the machine working than actually using it.   :)

USB

u need test one by one with one USB Stick

 

E.G

 

Unused Ports, uxcluded with flag

uia_exclude=HS01;HS02;HS03;HS04;HS05;HS06;HS10;HS11;SSP1;SSP2;SSP6
 
Used Ports
HS07, HS08, HS09, HS12, HS13, HS14, SSP3, SSP4, SSP5
 
Usb2 camera work...now u have a correct USB, realocate patches, etc
×
×
  • Create New...