Contribute
Register

[Guide] 10.11+ USB changes and solutions

Status
Not open for further replies.
PR12 is a port in DSDT but not connected to anything.

Ok, I think i found the problem, but i don't know how to solve.

I have this structure in DSDT:
attachment.php


When i try to use any injectors, as i said, i see correct ports in Ioreg, but monitor or some usb ports don't wake after sleep,

attachment.php


But in all injectors and in original IOUSBHostFamily.kext higher PR01 has USBconnector type 255 and according to DSDT higher ports have type 0

attachment.php


When i set in injector or in original kext this value to 0, ports don't recognized correctly and i see this picture in ioreg:

attachment.php


But in this case all ports and sleep works properly. So my question is why is this happening?

Does it make sense to inject ports via injectors?
 

Attachments

  • ?????? ?????? 2015-10-25 ? 6.32.18.png
    ?????? ?????? 2015-10-25 ? 6.32.18.png
    28 KB · Views: 248
  • ?????? ?????? 2015-10-25 ? 6.36.37.png
    ?????? ?????? 2015-10-25 ? 6.36.37.png
    34.7 KB · Views: 225
  • ?????? ?????? 2015-10-25 ? 6.42.09.png
    ?????? ?????? 2015-10-25 ? 6.42.09.png
    49.3 KB · Views: 237
  • ?????? ?????? 2015-10-24 ? 11.20.36.png
    ?????? ?????? 2015-10-24 ? 11.20.36.png
    54.4 KB · Views: 214
Last edited by a moderator:
and in original IOUSBHostFamily.kext higher PR01 has USBconnector type 255 and according to DSDT higher ports have type 0

type 0 is a USB2 type-A port (see ACPI spec).
type 255 is "proprietary". a port which is connected to an internal hub should be marked as 255.
 
type 0 is a USB2 type-A port (see ACPI spec).
type 255 is "proprietary". a port which is connected to an internal hub should be marked as 255.

Does it means that i need to change PR01 port type value to 255 in DSDT?
 
Does it means that i need to change PR01 port type value to 255 in DSDT?

There are some reports that an internal hub works better if the port is marked 255. It causes a different class to load for handling the hub than without (internal vs. not internal).

YMMV.

With a port injector, it doesn't matter what DSDT is doing. Port injector data overrides DSDT.
 
There are some reports that an internal hub works better if the port is marked 255. It causes a different class to load for handling the hub than without (internal vs. not internal).

YMMV.

With a port injector, it doesn't matter what DSDT is doing. Port injector data overrides DSDT.

Ok, if the port is marked as 255 it did not solve the problem of sleep. Monitor don't wake from usb. Is there any way to solve it?
 
Ok, if the port is marked as 255 it did not solve the problem of sleep. Monitor don't wake from usb. Is there any way to solve it?

No idea what you mean by "monitor don't wake from USB".

If you're saying that "USB wake" is not working, that is typical... (as we patch _PRW to avoid "instant wake", which disables "wake on USB"). Use the power button.
 
No idea what you mean by "monitor don't wake from USB".

If you're saying that "USB wake" is not working, that is typical... (as we patch _PRW to avoid "instant wake", which disables "wake on USB"). Use the power button.

I mean that i need to click mouse/keyboard twice: first click – wakes up everything except the monitor, second click – wakes up monitor
 
I mean that i need to click mouse/keyboard twice: first click – wakes up everything except the monitor, second click – wakes up monitor

Experiment with different methods (eg values for UsbConnector). Decide which one you like the best.
 
Experiment with different methods (eg values for UsbConnector). Decide which one you like the best.

Only this method works (change value of UsbConnector to 0). But then no port injection. Maybe this is typical problem (double-clicking to wake up) and there are different methods (like dsdt patches or something else) to solve this?
 
type 0 is a USB2 type-A port (see ACPI spec).
type 255 is "proprietary". a port which is connected to an internal hub should be marked as 255.

Maybe not so simple of an example but in general would that mean the USB2/3 ports that are already available on motherboard as pre soldered port connections would use 255 and the USB2 headers on the motherboard where you connect the PC case wires to, you would mark them as 0? I have one USB3 header on my motherboard where I connect a PC case USB wire to, would I mark that as 3?

Thanks
 
Status
Not open for further replies.
Back
Top