Jump to content

No graphics / USB / Audio after wake


anor4k
 Share

586 posts in this topic

Recommended Posts

I enabled embedded graphic in BIOS, made FakeID=0x01068086 and got new result

29.10.15 21:40:28,000 kernel[0]: ATIFramebufferNI::setPowerState(0x260361a46e0ba681, 0 -> 2) timed out after 45377 ms
29.10.15 21:40:28,000 kernel[0]: AppleIntelFramebuffer::setPowerState(0x260361a46dc47681, 0 -> 2) timed out after 45384 ms

Both adapters not wake!

Now please make the opposite.  :D

Link to comment
Share on other sites

seem exactly the same problem described here for NVidia cards some time ago. Apparently a temporary remedy was to uncheck "Wake on LAN":

 

attachicon.gifstupid.png

 

..a stupid remedy. I cannot try, no ATI cards here...

same messages. Apple again did this?

Link to comment
Share on other sites

Apple never fix it, NVidia do it.... ATI  ...was abandoned

Just think the bug comes from OSX or not, NVidia did some warkaround or conform to some specification?

Edited by Micky1979
Link to comment
Share on other sites

I tested different configurations and want to report back on this. for me, switching off the wake for network in the power settings did not change the wake behaviour, still black screen.

However, I noticed that when disabling the wol in the settings, I get the full wake request with my 7770:

kernel[0]: full wake request (reason 1) 6378 ms

When testing the sleep with the HD4000 w/o the 7770, I see the full wake request as well in the log and wake is working. Wheras when leaving the wol in settings enabled, I don't have the full wake request in my logs. But I'm not sure if this is connected to that issue.

 

Also while testing with the HD4000 I have the missing sleep image in my logs as well, but wake is working. This entry can be found in all logs of my tested configurations so I doubt that it is connected to the wake problem.

WindowServer[153]: no sleep images for WillPowerOffWithImages

For reference I've attached the logs on my 3 tested configurations.

sleep_1_hd_4000 sleep working

sleep_2_7770 sleep not working

sleep_3_7770_software_wol_disabled sleep not working

sleep_1_hd_4000.rtf

sleep_2_7770.rtf

sleep_3_7770_software_wol_disabled.rtf

Link to comment
Share on other sites

I already have Wake for network access unchecked, and it doesn't help me. I'm on X58 with an XFX 6870.

I did not say it was definitely the problem, was a "spot on", just try ;)

wake depend by some protocols, perhaps the time out happens because another process is not completed successfully, not it is necessarily the video card itself..

 

PS, check also the bios settings about WOL (LAN, wifi etc..), just to be sure..

Confirmed by WarDoctorWho

AMD is returned (some new Macs have AMD onboard), 10.10.2 maybe has new updates drivers, no surprise

Link to comment
Share on other sites

@Micky1979

Agree, lets hope so, maybe its just improvement progress before go stable..

 

@salamence502

Sorry, im currently on 10.11.1. Curious, i just swap my Nvidia with my older AMD HD5450 using Clover & boot, as primary card as usual (or just leave it as auto) + Eulemur FB / even not. Sleep & wake just well like in 10.10 both with ATI inject / EFI strings, all 3 ports just worked. My codeccommander.kext for audio still there btw, along with "darkwake=0" boot-args.

 

 

 

- Using ATI fake-id: 0x68E01002

- Eulemur FB patch:

040000001400000000010000100003030008000000020000007100002103020410000000100000000000000000100101

Or just this stupid device-properties:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)</key>
  <dict>
    <key>@0,AAPL,boot-display</key>
    <data>AQAAAA==</data>
    <key>device-id</key>
    <string>0x000068E0</string>
  </dict>
  <!-- optional -->
  <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
  <dict>
    <key>AAPL,ig-platform-id</key>
    <string>0x01620007</string>
  </dict>
</dict>
</plist>

- With / without injected blank FB ig-platform-id for my Intel Capri: 01620006 / 01620007
- Wake on LAN disabled in Bios

 

 

 

Although always boot this kind of warning message:

** GPU Hardware VM is disabled (multispace: disabled, page table updates with DMA: disabled, non-contiguous VRAM: disabled)
Link to comment
Share on other sites

I enabled embedded graphic in BIOS, made FakeID=0x01068086 and got new result

29.10.15 21:40:28,000 kernel[0]: ATIFramebufferNI::setPowerState(0x260361a46e0ba681, 0 -> 2) timed out after 45377 ms
29.10.15 21:40:28,000 kernel[0]: AppleIntelFramebuffer::setPowerState(0x260361a46dc47681, 0 -> 2) timed out after 45384 ms

Both adapters not wake!

I did some further research on the issue and at least I can say that I'm now able to explain this behavior conclusively.

 

Let's start with some background information. The kernel calls a driver's setPowerState() implementation, which is used to perform power state transitions, from a separate thread. These calls can be handled asynchronously, e.g. the driver's implementation of the call exits immediately, returning a timeout value in milliseconds and acknowledges the change later by calling acknowledgeSetPowerState() when it has been performed, or synchronously, e.g. the driver's implementation exits only after the power state change has been completed returning a value of 0 in order to indicate that it's done.

 

Now lets come to the point. Basically there are two problems.

  1. The AMD driver handles setPowerState() synchronously, which means that power management hangs completely when the call doesn't return. This is the reason why the order matters and even the IGPU fails to wake up when the AMD driver comes first. Therefore the IGPU has to be the primary adapter for wakeup to work properly.
  2. There seems to be a presupposition for the power state transition to succeed, e.g. there must be something which needs to be already up and running when the AMD driver tries to perform the power state change and it looks like the IGPU driver does the job. There might be other drivers too, as there are users with working sleep/wakeup without onboard graphics but we still don't know which one is the key.

Mieze 

  • Like 3
Link to comment
Share on other sites

 

@Micky1979

Agree, lets hope so, maybe its just improvement progress before go stable..

 

@salamence502

Sorry, im currently on 10.11.1. Curious, i just swap my Nvidia with my older AMD HD5450 using Clover & boot, as primary card as usual (or just leave it as auto) + Eulemur FB / even not. Sleep & wake just well like in 10.10 both with ATI inject / EFI strings, all 3 ports just worked. My codeccommander.kext for audio still there btw, along with "darkwake=0" boot-args.

 

 

 

- Using ATI fake-id: 0x68E01002

- Eulemur FB patch:

040000001400000000010000100003030008000000020000007100002103020410000000100000000000000000100101

Or just this stupid device-properties:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)</key>
  <dict>
    <key>@0,AAPL,boot-display</key>
    <data>AQAAAA==</data>
    <key>device-id</key>
    <string>0x000068E0</string>
  </dict>
  <!-- optional -->
  <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
  <dict>
    <key>AAPL,ig-platform-id</key>
    <string>0x01620007</string>
  </dict>
</dict>
</plist>

- With / without injected blank FB ig-platform-id for my Intel Capri: 01620006 / 01620007

- Wake on LAN disabled in Bios

 

 

 

Although always boot this kind of warning message:

** GPU Hardware VM is disabled (multispace: disabled, page table updates with DMA: disabled, non-contiguous VRAM: disabled)

Remember the problem is with Radeon 6000+. Your 5450 are not affected.

  • Like 1
Link to comment
Share on other sites

I just tried placing the GC to second PCI-E port (PCI-E x4), just for good measure.. to see what would happen. 

No difference, still not waking. Just writing it here in case it may or may not be helpful.. or to keep others from putting in the same effort in vain.

 

Cheers

Reno

Link to comment
Share on other sites

I keep an idea that ElCapitan more careful testing the card and doesn't create a procedure for PowerManagement.

Just a question. Is there anybody knows where is "ATIFramebufferNI::setPowerState" located? I have not find a kext with such strings. (searching with disassembler).

It means OSX knows that my Radeon is not Mac card. It is Hackintosh.

I am still not testing FakePCIID by rehabman. May be this is a key.

Link to comment
Share on other sites

I'm sorry! I just did...

 

$ grep -r ATIFramebufferNI /System/Library/Extensions/
Binary file /System/Library/Extensions/AMD6000Controller.kext/Contents/MacOS/AMD6000Controller matches
/System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleMuxControl.kext/Contents/Info.plist:                          <string>ATIFramebufferNI</string>

$ grep -r setPowerState /System/Library/Extensions/AMD6000Controller.kext/Contents/MacOS/AMD6000Controller
Binary file /System/Library/Extensions/AMD6000Controller.kext/Contents/MacOS/AMD6000Controller matches
Link to comment
Share on other sites

 Share

×
×
  • Create New...