Contribute
Register

[Guide] Dell Inspiron 13 7359 (Skylake, i7-6500U, Intel HD 520) dual boot OSX El Capitan and Windows

Status
Not open for further replies.
I managed to get the camera working, I added USBInjectAll.kext which appears to have connected the camera and touchscreen up.

The only puzzle left to solve (while I wait for an NGFF BCM94352Z WiFi card to arrive) is why the power + lid is not putting the laptop to sleep correctly. If I shut the lid the screen stays on (even after a minute or so), same goes if I press the power button. Manually putting the laptop to sleep & wake works correctly. Any ideas?

Check for assertions:
Code:
pmset -g assertions

Also note that lid triggered sleep requires display backlight control to be implemented.
 
Check for assertions:
Code:
pmset -g assertions

Also note that lid triggered sleep requires display backlight control to be implemented.

Code:
Assertion status system-wide:

   BackgroundTask                 0

   ApplePushServiceTask           0

   UserIsActive                   1

   PreventUserIdleDisplaySleep    0

   PreventSystemSleep             0

   ExternalMedia                  0

   PreventUserIdleSystemSleep     0

   NetworkClientActive            0

Listed by owning process:

   pid 94(hidd): [0x0000005e0009804c] 09:45:18 UserIsActive named: "com.apple.iohideventsystem.queue.tickle" 

    Timeout will fire in 596 secs Action=TimeoutActionRelease

Kernel Assertions: 0x4=USB

   id=506  level=255 0x4=USB mod=1/1/70, 10:00 am description=com.apple.usb.externaldevice.14100000 owner=USB Receiver

   id=507  level=255 0x4=USB mod=1/1/70, 10:00 am description=com.apple.usb.externaldevice.14800000 owner=IOUSBHostDevice

   id=508  level=255 0x4=USB mod=1/1/70, 10:00 am description=com.apple.usb.externaldevice.14400000 owner=ST_SENSOR_HUB

   id=509  level=255 0x4=USB mod=1/1/70, 10:00 am description=com.apple.usb.externaldevice.14700000 owner=Touchscreen

   id=510  level=255 0x4=USB mod=1/1/70, 10:00 am description=com.apple.usb.externaldevice.14f00000 owner=Thinkpad USB LAN

   id=511  level=255 0x4=USB mod=1/1/70, 10:00 am description=com.apple.usb.externaldevice.14500000 owner=Integrated_Webcam_HD

Idle sleep preventers: IODisplayWrangler

Nothing is jumping out at me in that list.

I've got the IntelBacklight.kext loaded, but no brightness controls in the display prefs. The fn+brightness controls work on my keyboard, but I'm guessing that's bypassing the OS controls somehow?
Screen Shot 2016-12-06 at 9.15.00 am.png
 
Code:
Assertion status system-wide:

   BackgroundTask                 0

   ApplePushServiceTask           0

   UserIsActive                   1

   PreventUserIdleDisplaySleep    0

   PreventSystemSleep             0

   ExternalMedia                  0

   PreventUserIdleSystemSleep     0

   NetworkClientActive            0

Listed by owning process:

   pid 94(hidd): [0x0000005e0009804c] 09:45:18 UserIsActive named: "com.apple.iohideventsystem.queue.tickle"

    Timeout will fire in 596 secs Action=TimeoutActionRelease

Kernel Assertions: 0x4=USB

   id=506  level=255 0x4=USB mod=1/1/70, 10:00 am description=com.apple.usb.externaldevice.14100000 owner=USB Receiver

   id=507  level=255 0x4=USB mod=1/1/70, 10:00 am description=com.apple.usb.externaldevice.14800000 owner=IOUSBHostDevice

   id=508  level=255 0x4=USB mod=1/1/70, 10:00 am description=com.apple.usb.externaldevice.14400000 owner=ST_SENSOR_HUB

   id=509  level=255 0x4=USB mod=1/1/70, 10:00 am description=com.apple.usb.externaldevice.14700000 owner=Touchscreen

   id=510  level=255 0x4=USB mod=1/1/70, 10:00 am description=com.apple.usb.externaldevice.14f00000 owner=Thinkpad USB LAN

   id=511  level=255 0x4=USB mod=1/1/70, 10:00 am description=com.apple.usb.externaldevice.14500000 owner=Integrated_Webcam_HD

Idle sleep preventers: IODisplayWrangler

Nothing is jumping out at me in that list.

I've got the IntelBacklight.kext loaded, but no brightness controls in the display prefs. The fn+brightness controls work on my keyboard, but I'm guessing that's bypassing the OS controls somehow?
View attachment 223867

You did not implement backlight control properly.
No expectation of lid triggered sleep without it.

The backlight guide is linked from the FAQ.
http://www.tonymacx86.com/el-capita...faq-read-first-laptop-frequent-questions.html
 
You did not implement backlight control properly.
No expectation of lid triggered sleep without it.

The backlight guide is linked from the FAQ.
http://www.tonymacx86.com/el-capita...faq-read-first-laptop-frequent-questions.html

Cool. I've had a read, and had a crack myself, following your Laptop guide (big thanks for the meticulous documentation!).

When I disassembled the DSDT & SSDTs, I found errors in the DSDT file around line 3941 masquerading as syntax errors
Code:
                If (LEqual (PM6H, One))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW)  // _RW_: Read-Write Status
                    Store (Zero, ECRW (If (PM0H)
                            {
                                CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN)  // _LEN: Length
                                Store (Zero, F0LN)
                            }))
                }

Looks like a bug with the code, which appeared to be an IF statement moved where a variable was supposed to live, so I adjusted in line with the statements around it:

Code:
                If (LEqual (PM6H, One))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW)  // _RW_: Read-Write Status
                    Store (Zero, ECRW)
                }
                If (PM0H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN)  // _LEN: Length
                    Store (Zero, F0LN)
                }

Which compiled correctly.

I used your fixes:
"Fix _WAK Arg0 v2"
"HPET Fix"
"SMBUS Fix"
"IRQ Fix"
"RTC Fix"
"Fix Mutex with non-zero SyncLevel"

SSDT-5.aml contained GFX0 entries, so I applied the Brightness Fix there, and also the Rename PCIO.GFX0 to PCIO.IGPU fix (that's how the ACPI is structured for this machine).

Compiled everything (except SSDT-1 which seems to be related to sensors, had little in it but errors) and dropped it into ACPI/patched.

Booted. Golden. Brightness bar is working, and lid sleeps & wakes properly.

I've attached my origin & patched folders if anyone is interested.

Remaining to-do list of niggles:
- Brightness keys don't control software brightness (yet... I've seen mention of keyboard patches to fix this)
- Headphone jack doesn't automatically switch the sound output (any ideas?)
- HDMI audio output isn't working (video is fine, even at 4K though a little laggy).
 

Attachments

  • origin.zip
    50.3 KB · Views: 143
  • patched.zip
    49.7 KB · Views: 139
Last edited:
Cool. I've had a read, and had a crack myself, following your Laptop guide (big thanks for the meticulous documentation!).

When I disassembled the DSDT & SSDTs, I found errors in the DSDT file around line 3941 masquerading as syntax errors
Code:
                If (LEqual (PM6H, One))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW)  // _RW_: Read-Write Status
                    Store (Zero, ECRW (If (PM0H)
                            {
                                CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN)  // _LEN: Length
                                Store (Zero, F0LN)
                            }))
                }

Looks like a bug with the code,

No. Your mistake. Use refs.txt as per guide.
 
No. Your mistake. Use refs.txt as per guide.

Which bit is a mistake sorry?

I did decompile with the refs.txt and iasl61 compiled from your git repo.
 
Which bit is a mistake sorry?

I did decompile with the refs.txt and iasl61 compiled from your git repo.

OK... at first glance it appeared you forgot to use refs.txt (it is super common, and often causes problems with EC related methods).

The problem is that Store(Zero, ECRW) is nonsense. ECRW is a method and cannot be the target of a Store.
 
SSDT-5.aml contained GFX0 entries, so I applied the Brightness Fix there,

"Brightness Fix" should be applied to DSDT.

and also the Rename PCIO.GFX0 to PCIO.IGPU fix (that's how the ACPI is structured for this machine).

You should rename all PCI0.GFX0 references (in DSDT and all SSDTs with references).
Hopefully that's what you did...
 
Status
Not open for further replies.
Back
Top