Home

Awesome

Lenovo IdeaPad S540-14IML Hackintosh

air14iml-ven

Model:Lenovo IdeaPad S540-14IML - Type 81NF

InfoStatusDetails
Computer model💻Lenovo IdeaPad S540-14IML 2019 (Type 81NF)
System🌌Catalina/Big Sur/Monterey/Ventura/Sonoma
CPU🎛️Intel Core i5-10210U / i7-10510U
Motherboard🎛️Lenovo 5B20W78206
Fingerprint🖐️Synaptics - Fingerprint will never work
GPU👾Nvidia GeForce MX250 ( 2 GB )
IGPU👾Intel UHD 620
Memory💳Internal 4GB 2666 + Changeable 32GB 2666
Disks💽Lenovo SSD 256G PCIe 2280 UMIS / Samsung SSD PM991 256G
Screen🖥️AUO353D/LGD05EC ( 14-inches ) 1920x1080 60~75Hz(OC)
Audio Card🔊Conexant CX8070
Wireless🌐Replaced Atheros card with Broadcom BCM94360NG (Needs config under Sonoma)
Bluetooth🦷BCM94360NG
SD card reader🗂️O2 Micro / Realtek
TrackPad🖐️Works in GPIO mode with Pin=50
HDMI📺able to output 4k@30fps, same as windows
Camera🎦it's pretty easy to drive USB camera
Sleep😴Support native sleep.

Current Status

Related models

How to configure Broadcom WiFi in Sonoma (if not detected automatically)

A collection of instructions and links to make Broadcom Wifi work natively again under macOS 14 (Sonoma Official Release at the time of editing), until such a time as proper support is added. <br/> <br/> This process involves disabling SIP, so be warned. <br/> <br/> Below is a description of what to do.

<details> <summary>Details</summary> <br/> <br/>

STEP 1: Disable Gatekeeper.

Under Terminal, run the following:

sudo spctl --master-disable
<br/>

STEP 2: Download and install Kernel Debug Kit:

From source: Kernel Debug Kit

<br/>

STEP 3: Download OCLP but do not install yet:

From source: OCLP

<br/>

STEP 4: Make a copy of your current and working EFI. Copy /EFI/OC/config.plist as /EFI/OC/config-backup.plist

<br/>

STEP 5: System Integrity Protection must be set to 0x803. How to do that? Editing /EFI/OC/config.plist manually or using OpenCore Configurator (highly advisable). Set your SIP to Disabled: under NVRAM section, search 7C436110-AB2A-4BBB-A880-FE41995C9F82 key, then search csr-active-config key and set to 30800000. Or (manually editing /EFI/OC/config.plist):

                    <key>csr-active-config</key>
                    <data>AwgAAA==</data>
<br/>

STEP 6: Change SecureBootModel to Disabled. How to do that? Under Misc section, security tab, search for SecureBootModel key and set it to Disabled, or (manually editing /EFI/OC/config.plist):

                <key>SecureBootModel</key>
                <string>Disabled</string>
<br/>

STEP 7: Enable Kexts and Block Patch. How to do that? Under Kernel section, under ADD tab, enable IOSkywalkerFamily.kext. Additionally, Under Kernel section, under BLOCK tab, enable Allow IOSkywalker Downgrade.

<br/>

Or (manually editing /EFI/OC/config.plist):

<br/>

To enable IOSkywalkerFamily.kext kext:

                <dict>
                    <key>Arch</key>
                    <string>Any</string>
                    <key>BundlePath</key>
                    <string>IOSkywalkFamily.kext</string>
                    <key>Comment</key>
                    <string>V1.0</string>
                    <key>Enabled</key>
                    <true/>
                    <key>ExecutablePath</key>
                    <string>Contents/MacOS/IOSkywalkFamily</string>
                    <key>MaxKernel</key>
                    <string></string>
                    <key>MinKernel</key>
                    <string>23.0.0</string>
                    <key>PlistPath</key>
                    <string>Contents/Info.plist</string>
                </dict>
<br/>

To enable Allow IOSkywalker Downgrade patch:

                <dict>
                    <key>Arch</key>
                    <string>Any</string>
                    <key>Comment</key>
                    <string>Allow IOSkywalk Downgrade</string>
                    <key>Enabled</key>
                    <true/>
                    <key>Identifier</key>
                    <string>com.apple.iokit.IOSkywalkFamily</string>
                    <key>MaxKernel</key>
                    <string></string>
                    <key>MinKernel</key>
                    <string>23.0.0</string>
                    <key>Strategy</key>
                    <string>Exclude</string>
                </dict>
<br/>

STEP 8: Save your modified EFI and reboot the system. Cross fingers... System must boot smoothly if everything performed as described.

<br/>

STEP 9: Run OCLP and install Root Patch for Modern Wifi (Needed after every update). How to do that? Open OCLP (downloaded at step 3) and click on "Root Patch"

<br/>

STEP 10: Reboot and check for native Broadcom Wifi. If it's not working, simply reset your NVRAM and check again.

<br/> <br/>

All credits go to the OCLP team, I merely put everything together for ease of use (for me, at least).

</details>

BIOS

https://newsupport.lenovo.com.cn/driveDownloads_detail.html?driveId=78312

<details> <summary>Details</summary> 2022/05/13 BIOS Version: CKCN19WW http://newdriverdl.lenovo.com.cn/newlenovo/alldriversupload/94976/BIOS-CKCN19WW.exe <br /> 2022/03/18 BIOS Version: CKCN18WW http://newdriverdl.lenovo.com.cn/newlenovo/alldriversupload/92231/BIOS-CKCN18WW.exe <br /> 2021/07/23 BIOS Version: CKEC17WW http://newdriverdl.lenovo.com.cn/newlenovo/alldriversupload/83713/BIOS-CKCN17WW.exe <br /> 2021/01/18 BIOS Version: CKCN16WW http://newdriverdl.lenovo.com.cn/newlenovo/alldriversupload/78312/BIOS-CKCN16WW.exe <br /> 2020/07/24 BIOS Version: CKCN15WW http://newdriverdl.lenovo.com.cn/newlenovo/alldriversupload/73409/BIOS-CKCN15WW.exe <br /> 2020/06/22 BIOS Version: CKCN14WW http://newdriverdl.lenovo.com.cn/newlenovo/alldriversupload/72386/BIOS-CKCN14WW.exe <br /> 2019/12/16 BIOS Version: CKCN12WW http://newdriverdl.lenovo.com.cn/newlenovo/alldriversupload/67169/BIOS-CKCN12WW.exe <br /> 2019/08/08 BIOS Version: CKCN11WW http://newdriverdl.lenovo.com.cn/newlenovo/alldriversupload/60449/BIOS-CKCN11WW.exe <br /> </details>

Microcode

https://newsupport.lenovo.com.cn/driveDownloads_detail.html?driveId=77695

<details> <summary>Details</summary> 2021/07/23 Version: CKME05WW http://newdriverdl.lenovo.com.cn/newlenovo/alldriversupload/83714/FW-CKME05WW.exe <br /> 2020/12/17 Version: CKME03WW http://newdriverdl.lenovo.com.cn/newlenovo/alldriversupload/77695/FW-CKME03WW.exe <br /> 2020/06/23 Version: CKME02WW http://newdriverdl.lenovo.com.cn/newlenovo/alldriversupload/72429/ME-CKME02WW.exe <br /> 2019/12/16 Version: CKME01WW http://newdriverdl.lenovo.com.cn/newlenovo/alldriversupload/67174/FW-CKME01WW.exe <br /> </details>

Changelog

Installation (For U-Disks larger than 4GB)

  1. If you are using OpenCore, Please use BIOS except for 1.0.2 (1.0.2 you need to turn off the Hyper-Threading to use OC.)
  2. Change BIOS settings
  3. Change DVMT and CFG Lock.
  4. Download balenaEtcher, use it to flash 2022-06-19-XiaoXinAir14IML-4in1-installerV7.dmg(Password:q27r)
  5. Boot the Second EFI partition and choose the system you want to install.

macOS12 recovery+EFI (format your u-disk with FAT32, then unzip this package)(suitable for 1G/2G U-disk)

Advice

VoltageShift Highly dangerous

YogaSMC: Experimental

Synchronize bluetooth link keys from macOS to windows

https://github.com/lietxia/BT-LinkkeySync

Hi-DPI (Big Sur and upper)

bash -c "$(curl -fsSL https://raw.githubusercontent.com/xzhih/one-key-hidpi/dev/hidpi.sh)"

Catalina Hi-DPI

bash -c "$(curl -fsSL https://raw.githubusercontent.com/xzhih/one-key-hidpi/master/hidpi.sh)"

DW1820A Windows 10 driver

https://www.dell.com/support/home/zh-cn/drivers/driversdetails?driverid=98wfd

Change DVMT and CFG Lock

You must unlock CFG Lock , otherwise, you can't use both OpenCore and Clover.
We recommend to change DVMT into 64M, there's no damage to your computer.

MacForge

How to make it better?

SSDT

SSDTsInfoNecessaryRecommendedOptional
SSDT-SBUS-MCHCFake BUS0, DVL0, MCHC device
SSDT-EC-USBXFake EC device, USB Power Patch
SSDT-TPAD-Air14IMLI2C Trachpad patch (AIR14IML only)
SSDT-DMACFake DMA controller
SSDT-GPRWAnti immediate wakeup: 0D/6D
SSDT-PMCFake PMC device
SSDT-HPTEDisable HPET patch
SSDT-PNLFCFLCoffee Lake PNLF patch
SSDT-PR00X86 CPU Power Management (Enable XCPM)
SSDT-RMCF-Air14IMLPS2 key mapping patch
SSDT-UIACCustom USB
SSDT-BATX-Air14IMLBattery extra info
SSDT-AWAC“Fake” RTC timer
SSDT-ECRWYogaSMC EC accessibility

Notes

Credits