X230-Hackintosh icon indicating copy to clipboard operation
X230-Hackintosh copied to clipboard

Internal speakers / sleep not working

Open stredwizard opened this issue 2 years ago • 34 comments

First and foremost I'd like to thank the author for this amazing repo, after struggling with clover on this laptop a couple of years ago this was an absolute breeze!

as I said I had clover on this machine X230 i5 intel 6205 a couple of years ago but switched it back to windows for various reasons, everything worked well.

I managed to get the wifi working thanks to an issue that was raised on here.

the built in camera worked in clover for FaceTime, also the mic does not work and the built in speakers also although when connected to the dock the line out works just fine.

also when I close the lid the laptop does not sleep and if I put it to sleep in the Mac menu it sleeps for a while then wakes.

I'm pretty sure I've followed the instructions to the letter I have a feeling the majority of the issues are USB port mapping related but not 100%

any ideas?

stredwizard avatar Aug 06 '21 14:08 stredwizard

I have a similar issue - if I use MacBookPro* profiles, I can get wifi and sleep working OK. But no bluetooth.

If I use iMac19,1, wifi and bluetooth works OK, but no sleep - it wakes immediately.

When I run pmset -g log | grep -e "Sleep.*due to" -e "Wake.*due to" | tail I get DarkWake from Normal Sleep [CDN] : due to IGBE HDEF/Network - search shows one similar thread from 2020 with no solution.

Which profile are you using and what does this command output for you?

LubosKolouch avatar Aug 07 '21 19:08 LubosKolouch

I'm using the MacBookpro9,1 profile, I have wifi and bluetooth working now and changed my audio layout to 28 which gives me mic but still no internal speakers.

the command gives me:-

2021-08-07 20:45:20 +0100 Sleep Entering Sleep state due to 'Clamshell Sleep': Using Batt (Charge:59%) 11 secs
2021-08-07 20:45:31 +0100 DarkWake DarkWake from Hibernate [CDN] : due to IGBE HDEF/Network Using BATT (Charge:58%) 15 secs
2021-08-07 20:45:46 +0100 Wake DarkWake to FullWake from Hibernate [CDNVA] : due to HID Activity Using BATT (Charge:58%) `

this is just me closing the lid, I've also noticed my battery charge indicator seems to stay on all the time which seems to have a tie with the output of the command referencing BATT

if I use sleep from the Mac menu I get this:- 2021-08-07 20:50:59 +0100 Sleep Entering Sleep state due to 'Software Sleep pid=120': Using Batt (Charge:50%) 10 secs
2021-08-07 20:51:09 +0100 DarkWake DarkWake from Hibernate [CDN] : due to IGBE HDEF/Network Using BATT (Charge:49%) 28 secs
2021-08-07 20:51:37 +0100 Wake DarkWake to FullWake from Hibernate [CDNVA] : due to HID Activity Using BATT (Charge:49%)
scott@scotts-MacBook-Pro-2 ~ %

going to do some googling now!

stredwizard avatar Aug 07 '21 19:08 stredwizard

also when I close the lid the laptop does not sleep and if I put it to sleep in the Mac menu it sleeps for a while then wakes.

In the T530 repo there was a SSDT-Sleep_PRW-0D6D.aml with description Fixes instant wake issue when entering Sleep Mode. Try the EFI here Lenovo T530 OC 0.7.2 v2.0.zip

Bluetooth and Wifi work in Monterey. Sleep from the Apple menu also works. For another OS you should use the OS-specific AirportItlwm.kext to get Wifi working, but sleep works OK in Catalina, Big Sur and Monterey.

Jan-E avatar Aug 07 '21 20:08 Jan-E

So you have the same reason for waking... Please post if you find something useful (i did not so far).

LubosKolouch avatar Aug 07 '21 20:08 LubosKolouch

Try the EFI in https://github.com/banhbaoxamlan/X230-Hackintosh/issues/66#issuecomment-894704062 Sleep works. Wifi and Bluetooth for another OS than Monterey requires some adjustments. Maybe you should also change the csr-active-config (near the bootargs) to the OS-specific value. The config.plist contains the values for all recent macOS versions.

Jan-E avatar Aug 07 '21 21:08 Jan-E

Tbh I’m pretty hesitant to move from Catalina, the machine is notably slower when compared to Windows 10 and moving up to big sur I’m guessing will only make this more noticeable.

im going to disable usbinjectall today to see if that helps with the sleep, I only enabled it to get the Bluetooth working although that could be a coincidence?

stredwizard avatar Aug 08 '21 07:08 stredwizard

Have done some port mapping with Hackintool and got the Internal video camera working and the bluetooth so no need for USBInjectAll any longer, sleep is the final hurdle.

I tried the SSDT-Sleep_PRW-0D6D.aml as suggested but no dice, I'm not 100% sure I used it the correct way, I just copied it to my EFI/ACPI folder and added the entry in config.plist.

stredwizard avatar Aug 08 '21 09:08 stredwizard

I tried the SSDT-Sleep_PRW-0D6D.aml as suggested but no dice, I'm not 100% sure I used it the correct way, I just copied it to my EFI/ACPI folder and added the entry in config.plist.

I also tried to incorporate 'SSDT-Sleep_PRW-0D6D.aml' in the EFI from this repo with no luck. In the end I switched to the EFI from the T350 repo and added some things like YogaSMC.

Tbh I’m pretty hesitant to move from Catalina, the machine is notably slower when compared to Windows 10 and moving up to big sur I’m guessing will only make this more noticeable.

I can switch now between Catalina, Big Sur and Monterey. There is no notable speed difference. I was playing a Olympics stream on Monterey and the PBS 'auto-sensed' it could do that on 1080p, higher than my 1366x768 px LCD. In the beginning it is somewhat slow, because Spotlight is indexing everything, but when that is done it feels snappy.

Jan-E avatar Aug 08 '21 11:08 Jan-E

This is the EFI I am using for Monterey now: EFI.zip

It is based on the T350 repo. Bluetooth, Wifi and Sleep work on Monterey beta 4, but when booting to Catalina or Big Sur you will get no bluetooth or Wifi. Sleep still works on another macOS. There is some support for YogaSMC. For instance it reads my battery thresholds.

Jan-E avatar Aug 08 '21 14:08 Jan-E

O, I always used external USB speakers in Monterey. Just discovered that the internal speakers did not work in the copy of T350 repo. Did not yet check the mic and the camera.

Jan-E avatar Aug 08 '21 20:08 Jan-E

From the changelog:

Updated audio layout-id to 55 support for Dock Station Audio Port (UltraBase Series 3, Mini Dock Plus Series 3).

layout-id set to 55 (or <37000000>.as hex) in the device properties of PciRoot(0x0)/Pci(0x1b,0x0) made the internal mic and speakers work for me.

Jan-E avatar Aug 08 '21 23:08 Jan-E

Have done some port mapping with Hackintool and got the Internal video camera working

Could you share what you did exactly?

Jan-E avatar Aug 08 '21 23:08 Jan-E

From the changelog:

Updated audio layout-id to 55 support for Dock Station Audio Port (UltraBase Series 3, Mini Dock Plus Series 3).

layout-id set to 55 (or <37000000>.as hex) in the device properties of PciRoot(0x0)/Pci(0x1b,0x0) made the internal mic and speakers work for me.

Mine was originally set to 55 , i will try it again this evening.

stredwizard avatar Aug 09 '21 05:08 stredwizard

Have done some port mapping with Hackintool and got the Internal video camera working

Could you share what you did exactly?

I followed this guide https://hackintosher.com/forums/thread/solved-usb-inject-all-kext-is-causing-issues.1426/

stredwizard avatar Aug 09 '21 05:08 stredwizard

On Big Sur and Monterey the camera-indicator lights green, but the recording stays all black. Only on Catalina the camera records really what it sees. Hackintool does not show any indication of a USB camera. On which macOS are you testing this? Screenshot 2021-08-09 at 09 02 45

Jan-E avatar Aug 09 '21 07:08 Jan-E

I’m using Catalina

image

stredwizard avatar Aug 09 '21 07:08 stredwizard

Easy way to create the USB Port mappings.

In terminal:

cd ~/Documents
git clone https://github.com/corpnewt/USBMap
cd USBMap
chmod +x USBMap.command

From Finder: double-click on USBMap.command

D. Discover Ports Q, enter P. Edit & Create USBMap.kext A. Select All K. Build USBMap.kext: USBMap.kext is created Press [enter] to return to the menu... Q. Quit

Copy USBMap.kext to the Kexts folder of your EFI Enable USBMap.kext in Kernel > Add of your Config.plist Be sure to leave the ExecutablePath empty See https://github.com/corpnewt/USBMap/issues/23

Jan-E avatar Aug 09 '21 21:08 Jan-E

Apparently my X230t i7 3520M has a different camera than your X230. This is in Catalina, after adding USBMap.kext. The integrated camera works OK: Screenshot 2021-08-10 at 00 30 34

Jan-E avatar Aug 09 '21 22:08 Jan-E

The camera works OK now in Catalina and Big Sur. But in Monterey beta 4 it lights the green indicator of the webcam, but the recording stays all black.

Jan-E avatar Aug 09 '21 22:08 Jan-E

The strange thing is that the port is mapped by USBMap.kext:

[#] 17. AppleUSB20HubPort | AppleUSB20HubPort |  6 (06000000) | 1a160000 | Type 0
    - Integrated Camera

Jan-E avatar Aug 09 '21 22:08 Jan-E

I updated to Big Sur this morning, everything works as before with the exception of sleep, which didn't work before anyway.

Had to change the Intel Wifi kext back to the one included in this repo and when I try and make the machine sleep it still doesn't of course but the wifi is disabled and requires a toggle and it comes back,I can live with that!

just need to sort the sleep issue........

stredwizard avatar Aug 10 '21 09:08 stredwizard

I am also unable to get audio even with the proper associated Layout ID : 18 or 55 on x230T (tablet i7 version) everything else seems to be working with minor other issues.

I have tried the dortania guide and no results. I do not see any way to proceed. Can someone help. Am I supposed to share my EFI folder?

k4kanwar avatar Aug 17 '21 19:08 k4kanwar

Team I have understood the issue that is why we are unable to get speakers volume and mic etc.

In my case i was using the config file that I prepared using the efi installer and then modified that one for the final one after post install.

Because of this, I was missing essential patches and kexts maybe too due to which some hardware components were not working.

I advise everyone to pick the one for post install and simply update it with your genbios details and then save it as default using the entire folder that @banhbaoxamlan has given.

Best Regards,

k4kanwar avatar Aug 19 '21 21:08 k4kanwar

Maybe it is just a missing or wrong PCI definition in the DeviceProperties > Add This one works for me in Monterey. Pay special attention to the key PciRoot(0x0)/Pci(0x1b,0x0)

	<key>PciRoot(0x0)/Pci(0x1b,0x0)</key>
	<dict>
		<key>AAPL,slot-name</key>
		<string>Internal</string>
		<key>AFGLowPowerState</key>
		<data>AwAAAA==</data>
		<key>device_type</key>
		<string>Audio Device</string>
		<key>hda-gfx</key>
		<string>onboard</string>
		<key>layout-id</key>
		<data>NwAAAA==</data>
		<key>model</key>
		<string>Realtek ALC269</string>
	</dict>

I borrowed it from the T530 repo.

Jan-E avatar Aug 19 '21 22:08 Jan-E

also do you feel the volume is very low compared to windows with Dolby settings. I downloaded a cracked application called boom 3d and it works wonders now.

I can share it with you if you want.

Is your keyboard backlight working?? can you help me with that?

k4kanwar avatar Aug 19 '21 22:08 k4kanwar

Internal sound volume seems low, but I always have USB speakers attached. So I do not mind. But please share the boom 3d app.

Backlight is working OK with this SSDT-PNLF.aml: SSDT-PNLF.aml.zip I also have a bootarg applbkl=1, but I am not sure it is really needed.

Jan-E avatar Aug 19 '21 23:08 Jan-E

that ssdt is for keyboard backlight?

k4kanwar avatar Aug 19 '21 23:08 k4kanwar

This is how it was described in the T530 repo:

<dict>
	<key>Comment</key>
	<string>Adds Backlight Level Control</string>
	<key>Enabled</key>
	<true/>
	<key>Path</key>
	<string>SSDT-PNLF.aml</string>
</dict>

If I disassemble it with MaciASL the source starts with:

DefinitionBlock ("", "SSDT", 2, "ACDT", "PNLF", 0x00000000)
{
    External (_SB_.PCI0.IGPU, DeviceObj)
    External (RMCF.BKLT, IntObj)
    External (RMCF.FBTP, IntObj)
    External (RMCF.GRAN, IntObj)
    External (RMCF.LEVW, IntObj)
    External (RMCF.LMAX, IntObj)

    If (_OSI ("Darwin"))
    {
        Scope (\_SB.PCI0.IGPU)
        {
            OperationRegion (RMP3, PCI_Config, Zero, 0x14)
            Device (IGPU)
            {
                Name (_HID, EisaId ("APP0002"))  // _HID: Hardware ID
                Name (_CID, "backlight")  // _CID: Compatible ID
                Name (_UID, 0x0E)  // _UID: Unique ID
                Name (_STA, 0x0B)  // _STA: Status
......

Just try it after saving your original SSDT-PNLF.aml

Jan-E avatar Aug 19 '21 23:08 Jan-E

In this repo the description is:

	<key>Comment</key>
	<string>Smooth Brightness Adjustment</string>
	<key>Enabled</key>
	<true/>
	<key>Path</key>
	<string>SSDT-PNLF.aml</string>

And the source is much briefer:

DefinitionBlock ("", "SSDT", 2, "X230", "PNLF", 0x00000000)
{
    External (_SB_.PCI0.VID_, DeviceObj)

    Scope (_SB.PCI0.VID)
    {
        OperationRegion (RMP3, PCI_Config, Zero, 0x14)
    }

    Scope (_SB)
    {
        Device (PNLF)
        {
            Name (_HID, EisaId ("APP0002"))  // _HID: Hardware ID
            Name (_CID, "backlight")  // _CID: Compatible ID
            Name (_UID, 0x0E)  // _UID: Unique ID
            Method (_STA, 0, NotSerialized)  // _STA: Status

Jan-E avatar Aug 20 '21 00:08 Jan-E

See https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/Source/SSDT-PNLF.dsl for the annotated source.

Jan-E avatar Aug 20 '21 00:08 Jan-E