Jump to content

MaLd0n

Administrators
  • Posts

    95,072
  • Joined

  • Last visited

Everything posted by MaLd0n

  1. Automatic handling of brightness keys based on ACPI Specification. Link HERE Boot arguments -brkeysdbg to enable debug printing (available in DEBUG binaries). Special cases Typically no DSDT patches are required. Please remove old _Qxx to XQxx ones. On some models, may be required add ACPI patch _OSI to XOSI and SSDT-XOSI. Spoiler: On some old ThinkPad models, additional handling may be required. Credits Apple for macOS usr-sse2 for separating this driver from VoodooPS2 vit9696 for DeviceInfo API from Lilu zhen-zen for implementation
  2. An open source kernel extension providing a way to emulate some offsets in CMOS (RTC) memory. It can help you to avoid some conflicts between macOS AppleRTC and firmware/BIOS of your PC. It can also help you to find out at which offsets you have a conflict. In most cases it is enough to boot with some offsets in boot-args, perform sleep, wake and reboot. If you don't see any CMOS errors or some unexpected reboots, it means you have managed to exclude conflicted CMOS offsets. Offsets in boot-args rtcfx_exclude can have value from 00 to FF (wihout prefix 0x). Be careful: Offsets from 0 to 0D usually are more or less 'compatible' and should not cause any conflicts. Offsets from 0x80 to 0xAB are used to store some hibernation information (IOHibernateRTCVariables). If any offset in this range causes a conflict, you can exclude it, but hibernation won't work. In my case it was only the one offset: B2. B0 - B4 offsets are used for PowerManagement features, but they don't work on hacks anyway) Link HERE Compilation This kext is not Lilu-plugin, but it still relies on some useful methods from Lilu libraries, so you have to put Lilu.kext into project folder. Boot-args rtcfx_exclude=offset1,offset2,start_offset-end_offset... - list of offsets or ranges of offsets where writing is not allowed -rtcfxdbg turns on debugging output Credits Apple for macOS vit9696 for Lilu.kext and great help in implementing some features lvs1974 for writing the software and maintaining it
  3. Intel onboard LAN driver for macOS. Courtesy of Laura Müller. This copy includes alterations that are of concern in Acidanthera as well as kernel debugging support initially provided by aerror2 in IntelMausiEthernetWithKernelDebugger repository. Do use the original version when uncertain. No support or troubleshooting provided. Wake on LAN functionality should work out of the box. On misconfigured hardware one may try to force-enable it by injecting mausi-force-wol device property (with any value, recommended), or -mausiwol boot argument (for testing purposes). Link HERE A few days before Christmas I started my latest project, a new driver for recent Intel onboard LAN controllers. My intention was not to replace hnak's AppleIntelE1000e.kext completely but to deliver best performance and stability on recent hardware. That's why I dropped support for a number of older NICs. Currently the driver supports: 5 Series 82578LM 82578LC 82578DM 82578DC 6 and 7 Series 82579LM 82579V 8 and 9 Series I217LM I217V I218LM I218V I218LM2 I218V2 I218LM3 100 Series I219V I219LM I219V2 I219LM2 I219LM3 200 Series I219LM I219V 300 Series I219LM I219V Key Features of the Driver Support for multisegment packets relieving the network stack of unnecessary copy operations when assembling packets for transmission. No-copy receive and transmit. Only small packets are copied on reception because creating a copy is more efficient than allocating a new buffer. TCP, UDP and IPv4 checksum offload (receive and transmit). Support for TCP/IPv6 and UDP/IPv6 checksum offload. Makes use of the chip's TCP Segmentation Offload (TSO) feature with IPv4 and IPv6 in order to reduce CPU load while sending large amounts of data (disabled due to hardware bugs). Fully optimized for Mavericks or newer (64-bit architecture). Support for Energy Efficient Ethernet (EEE). VLAN support is implemented but untested as I have no need for it. The driver is published under GPLv2.
  4. An open source kernel extension providing a set of patches required for non-native Airport Broadcom Wi-Fi cards. Link HERE Notes This repository should be compiled with Lilu v1.2.4 or greater, otherwise the compilation will fail! Currently requires macOS 10.10 or newer. Note: Debug version of Lilu.kext should be put in the same folder as BrcmWLFixup! And they should be also used together! Features Supports AirPort_Brcm4360, AirPort_BrcmNIC and AirPort_BrcmNIC_MFG Implements patch for chip identificator checking (0xaa52), in <=10.12 it's required for successful driver starting Implements patch for "Failed PCIe configuration patch", required for some cards Implements patch for "Third Party Device" (returns vendor name "Apple") Implements patch for removing of white-list check Implements 5Ghz and country code patch (US by default) Implements WOWL (WoWLAN) disabler (turned on by default) - no low speed after wake Implements patch to disable LPO panic in AirPortBrcmNIC Installation types Clover Airport Fix + AirportBrcmFixup Clover Airport Fix + AddProperties(fake device-id) + AirportBrcmFixup (preferable) Clover Airport Fix + AirportBrcmFixup + FakePCIID + FakePCIID_Broadcom_WiFi.kext AirportBrcmFixup + FakePCIID + FakePCIID_Broadcom_WiFi.kext Boot-args -brcmfxdbg turns on debugging output -brcmfxbeta enables loading on unsupported osx -brcmfxoff disables kext loading -brcmfxwowl enables WOWL (WoWLAN) - it is disabled by default -brcmfx-alldrv allows patching for all supported drivers, disregarding current system version (see Matching device-id and kext name in different macOS versions) Specific boot-args and ioreg properties brcmfx-country=XX changes the country code to XX (US, CN, #a, ...), also can be injected via DSDT or Properties → DeviceProperties in bootloader brcmfx-aspm overrides value used for pci-aspm-default brcmfx-wowl enables/disables WoWLAN patch brcmfx-delay delays start of native broadcom driver for specified amount of milliseconds. It can solve panics or missing wi-fi device in Monterey. You can start with 15 seconds (brcmfx-delay=15000) and successively reduce this value until you notice instability in boot. brcmfx-alldrv allows patching for all supported drivers, disregarding current system version (see Matching device-id and kext name in different macOS versions) brcmfx-driver=0|1|2|3 enables only one kext for loading, 0 - AirPortBrcmNIC-MFG, 1 - AirPortBrcm4360, 2 - AirPortBrcmNIC, 3 - AirPortBrcm4331, also can be injected via DSDT or Properties → DeviceProperties in bootloader Possible values for brcmfx-aspm (and pci-aspm-default): 0 disables ASPM kIOPCIExpressASPML0s = 0x00000001, kIOPCIExpressASPML1 = 0x00000002, kIOPCIExpressCommonClk = 0x00000040, kIOPCIExpressClkReq = 0x00000100 Credits Apple for macOS vit9696 for Lilu.kext and great help in implementing some features PMheart for the initial idea and implementation darkvoid & RehabMan for FakePCIID implementation (partly used in AirportBrcmFixup) al3xtjames for disabling LPO panic in AirPortBrcmNIC lvs1974 for writing the software and maintaining it Matching device-id and kext name in different macOS versions [10.8] AirPortBrcm4360: 43a0, IOProbeScore = 641 AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 615 [10.9] AirPortBrcm4360: 43a0, IOProbeScore = 842 AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 700 [10.10] AirPortBrcm4360: 43ba, 43a3, 43a0, 4331, 4353, IOProbeScore = 930 AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 900 [10.11] AirPortBrcm4360: 43ba, 43a3, 43a0, 4331, 4353, IOProbeScore = 1040 AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 800 [10.12] AirPortBrcm4360: 43ba, 43a3, 43a0, 4331, 4353, IOProbeScore = 1152 AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 800 [10.13] AirPortBrcm4360: 4331, 4353, IOProbeScore = 1240 AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 800 AirPortBrcmNIC: 43ba, 43a3, 43a0, IOProbeScore = 1241 AirPortBrcmNIC-MFG: 43ba, 43a3, 43a0, IOProbeScore = -1000 [10.14] AirPortBrcm4360: 4331, 4353, IOProbeScore = 1400 AirPortBrcm4331: 4331, 4353, 432b, IOProbeScore = 800 AirPortBrcmNIC: 43ba, 43a3, 43a0, IOProbeScore = 1400 AirPortBrcmNIC-MFG: 43ba, 43a3, 43a0, IOProbeScore = -1000 [10.15] AirPortBrcm4360: 4331, 4353, IOProbeScore = 1400 AirPortBrcm4331: removed AirPortBrcmNIC: 43ba, 43a3, 43a0, IOProbeScore = 1400 AirPortBrcmNIC-MFG: removed [11] AirPortBrcm4360: removed AirPortBrcm4331: removed AirPortBrcmNIC: 43ba, 43a3, 43a0, IOProbeScore = 1400 AirPortBrcmNIC-MFG: removed [12] AirPortBrcm4360: removed AirPortBrcm4331: removed AirPortBrcmNIC: 43ba, 43a3, 43a0, IOProbeScore = 1400, kext is moved to the new location - IO80211FamilyLegacy.kext/Contents/PlugIns AirPortBrcmNIC-MFG: removed [13] AirPortBrcm4360: removed AirPortBrcm4331: removed AirPortBrcmNIC: 43ba, 43a3, 43a0, IOProbeScore = 1400, kext is moved to the new location - IO80211FamilyLegacy.kext/Contents/PlugIns AirPortBrcmNIC-MFG: removed Until version [10.13] there were only two kexts and for the most cases FakeID = 43a0 was enough to get working Wi-Fi. In [10.13] (and later) one family was separated into AirPortBrcm4360 (probably will be removed in 10.15), AirPortBrcmNIC and AirPortBrcmNIC-MFG. A proper fake-id has to be considered to load appropriate kext. Some device-id have limitations in one kext (like 5 Ghz range), but do not have it another. Please pay attention In 11+ class AirPortBrcm4360 has been completely removed. Using of injector kext with such class name and matched vendor-id:device-id blocks loading of original airport kext. To address this issue and keep compatibility with older systems injectors for AirPortBrcm4360 and AirPortBrcmNIC were removed from main Info.plist file. Instead, the two new kext injectors are deployed in PlugIns folder: AirPortBrcm4360_Injector.kext and AirPortBrcmNIC_Injector.kext. You have to block (or remove) AirPortBrcm4360_Injector.kext in 11+. In OpenCore you can specify MaxKernel 19.9.9 for AirPortBrcm4360_Injector.kext. In Clover you can have two different AirportBrcmFixup.kext, but in kext folder with version name 11 and 12 and 13 AirportBrcmFixup.kext must not contain AirPortBrcm4360_Injector.kext. You don't need these injectors at all if your vendor-id:device-id is natively supported by AirPortBrcmNIC or AirPortBrcm4360 (your device-id is included into Info.plist in these kexts).
  5. It is a Lilu plugin, combining functionality of VoodooTSCSync and disabling xcpm_urgency if TSC is not in sync. It should solve some kernel panics after wake. WARNING: CPUs without MSR_IA32_TSC_ADJUST (03Bh) are currently unsupported on macOS 12 and newer. WARNING: if you still get kernel panic like "Non-monotonic time: invoke at 0xxxxxxxxxxx, runnable....", you can try to add TSC_sync_margin=0 into your boot-args. Link HERE Boot-args -cputsdbg turns on debugging output -cputsbeta enables loading on unsupported osx -cputsoff disables kext loading -cputsclock forces using of method clock_get_calendar_microtime to sync TSC (the same method is used when boot-arg TSC_sync_margin is specified) Credits Apple for macOS vit9696 for Lilu.kext Voodoo Projects Team for initial idea and implementation RehabMan for improved implementation lvs1974 for writing the software and maintaining it
  6. A Lilu plugin intended to enable debug output in the macOS kernel, the original idea belongs to Piker-Alpha, see https://github.com/Piker-Alpha/debugMachKernel.sh for more details. Link HERE Boot-args -dbgenhdbg turns on debugging output -dbgenhbeta enables loading on unsupported osx -dbgenhoff disables kext loading -dbgenhiolog redirect IOLog output to kernel vprintf (the same as for kdb_printf and kprintf)
  7. A Lilu plug-in for dynamic power management data injection. Link HERE Notes This repository must be compiled with latest Lilu and MacKernelSDK, otherwise the compilation will fail! Note: Debug version of Lilu.kext and MacKernelSDK project folder should be put in the same folder as CPUFriend! And debug versions of Lilu and CPUFriend should also be used together when debugging! Configuration This kext is most likely not required when the CPU is natively supported by XNU (macOS kernel). In case of necessity, please see Instructions for configuration. Credits Apple for macOS vit9696 for Lilu.kext and various helps PMheart for writing the software and maintaining it
  8. Lilu Kernel extension for blocking unwanted processes causing compatibility issues on different hardware and unlocking the support for certain features restricted to other hardware. The list of blocks currently includes: /System/Library/CoreServices/ExpansionSlotNotification /System/Library/CoreServices/MemorySlotNotification The list of patches currently includes: Disabled MacBookAir model memory replacement UI (comes in pair with SystemMemoryStatus = Upgradable quirk). Disabled MacPro7,1 PCI Expansion view and RAM view. CPU brand string patch for non-Intel CPUs (can be forced for Intel with revcpu=1). Disabled uninitialized disk UI Note: Apple CPU identifier must be 0x0F01 for 8 core CPUs or higher and 0x0601 for 1, 2, 4, or 6 cores. This is the default in OpenCore for non-natively supported CPUs. Link HERE Boot arguments -revoff (or -liluoff) to disable -revdbg (or -liludbgall) to enable verbose logging (in DEBUG builds) -revbeta (or -lilubetaall) to enable on macOS older than 10.8 or newer than 13 -revproc to enable verbose process logging (in DEBUG builds) revpatch=value to enable patching as comma separated options. Default value is auto. memtab - enable memory tab in System Information on MacBookAir and MacBookPro10,x platforms pci - prevent PCI configuration warnings in System Settings on MacPro7,1 platforms cpuname - custom CPU name in System Information diskread - disables uninitialized disk warning in Finder asset - allows Content Caching when sysctl kern.hv_vmm_present returns 1 on macOS 11.3 or newer sbvmm - forces VMM SB model, allowing OTA updates for unsupported models on macOS 11.3 or newer none - disable all patching auto - same as memtab,pci,cpuname, without memtab and pci patches being applied on real Macs revcpu=value to enable (1, non-Intel default)/disable (0, Intel default) CPU brand string patching. revcpuname=value custom CPU brand string (max 48 characters, 20 or less recommended, taken from CPUID otherwise) revblock=value to block processes as comma separated options. Default value is auto. pci - prevent PCI and RAM configuration notifications on MacPro7,1 platforms gmux - block displaypolicyd on Big Sur+ (for genuine MacBookPro9,1/10,1) media - block mediaanalysisd on Ventura+ (for Metal 1 GPUs) none - disable all blocking auto - same as pci Note: 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:revpatch, 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:revcpu, 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:revcpuname and 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:revblock NVRAM variables work the same as the boot arguments, but have lower priority. Credits Apple for macOS vit9696 for Lilu.kext and great help in implementing some features
  9. NVMeFix is a set of patches for the Apple NVMe storage driver, IONVMeFamily. Its goal is to improve compatibility with non-Apple SSDs. It may be used both on Apple and non-Apple computers. Link HERE The following features are implemented: Autonomous Power State Transition to reduce idle power consumption of the controller. Host-driver active power state management. Workaround for timeout panics on certain controllers (VMware, Samsung PM981). Other incompatibilities with third-party SSDs may be addressed provided enough information is submitted to our bugtracker. Unfortunately, some issues cannot be fixed purely by a kernel-side driver. For example, MacBookPro 11,1 EFI includes an old version of NVMHCI DXE driver that causes a hang when resuming from hibernaton with full disk encryption on. Installation NVMeFix requires at least Lilu 1.4.1 and at least 10.14 system version. It may be compatible with older systems, but has not been tested. It may be installed to /Library/Extensions on 10.15 and earlier, or injected by the bootloader on all versions. Configuration -nvmefdbg enables detailed logging for DEBUG build. -nvmefoff disables the kext. -nvmefaspm forces ASPM L1 on all the devices. This argument is recommended exclusively for testing purposes, as for daily usage one could inject pci-aspm-default device property with <02 00 00 00> value into the SSD devices and bridge devices they are connected to onboard. Updated values will be visible as pci-aspm-custom in the affected devices. Some SSDs misbehave when APST is on. NVMeFix attempts to detect broken motherboard and SSD combinations and work around them. Motherboard is detected via IORegistry keys injected by Clover, or NVRAM variables provided by OpenCore. APST table entries specify minimum idle latency for the transition to occur. Maximum acceptable latency is 100000 microseconds, and may be overriden via little-endian 8-byte property ps-max-latency-us of parent PCI device (e.g. IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP06@1C,5/IOPP/SSD0@0). If set to 0, APST will be disabled completely. Diagnostics RELEASE build will only log high-level information about failures. DEBUG build will additionally log used power states, detailed error messages, and attempt to fetch APST status and table from the controller. APST enable status is posted to the IONVMeController IORegistry entry apst key. If active power management initialisation is successful, an NVMePMProxy entry will be created in the IOPower IORegistry plane with IOPowerManagement dictionary. Information about power states supported by the controller may be obtained e.g. using smartmontools. For example, in the following output the controller reports 5 states, where the former three high-power states will be used by NVMeFix for active power management, and the latter two may be used for APST depending on ps-max-latency-us. Supported Power States St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat 0 + 9.00W - - 0 0 0 0 0 0 1 + 4.60W - - 1 1 1 1 0 0 2 + 3.80W - - 2 2 2 2 0 0 3 - 0.0450W - - 3 3 3 3 2000 2000 4 - 0.0040W - - 4 4 4 4 6000 8000 IONVMeFamily supports the following debug flag bitfield, which are passed either via nvme bootarg or debug.NVMe sysctl: 1: Log some events via kprintf 2: Detailed event trace via kernel_debug with 0x61500xx debugid 4: PRP-related event trace via kernel_debug with 0x61540xx debugid 8: Force disable LPSR for Apple controllers 16: Perform only PCI initialisation of NVMe controller 32: Ignore initialisation errors 128: Disable LPSR for Apple controllers 512: Disable Unmap feature for IONVMeBlockStorageDevice IONVMeFamily supports the following additional bootargs: nand-io-timeoutms: Timeout for NVMe requests in ms, 35 s by default enable-IO-log: Issue CORE_DEBUG_ENABLE_IOLOG ASP command (for Apple controllers)
  10. Hyper-V integration services for macOS. Requires a Generation 2 virtual machine on Windows Server 2012 R2 / Windows 8.1 or higher. Windows Server 2016 is currently unsupported. Link HERE Supported Hyper-V devices and services Heartbeat Guest shutdown (with daemon) Time synchronization (with daemon) Host to guest file copy (with daemon) PCI passthrough (partial support) Synthetic graphics (partial support) Synthetic keyboard Synthetic mouse Synthetic network controller Synthetic SCSI controller Binaries MacHyperVSupport.kext: Core Hyper-V support kext for macOS 10.4 to 11.0. MacHyperVSupportMonterey.kext: Core Hyper-V support kext for macOS 12.0 and newer. hvfilecopyd: File copy userspace daemon. hvshutdownd: Shutdown userspace daemon. hvtimesyncd: Time synchronization userspace daemon. OpenCore configuration ACPI SSDT-HV-VMBUS: Enables correct Startup Disk operation, ensure patches described within are also configured. SSDT-HV-DEV: Required on Windows Server 2019 / Windows 10 and newer, provides proper processor objects and disables incompatible virtual devices under macOS. SSDT-HV-DEV-WS2022: Required on Windows Server 2022 / Windows 11 and newer, disables addiitonal incompatible virtual devices under macOS. SSDT-HV-PLUG: Ensures VMPlatformPlugin loads on Big Sur and above, avoids freezes with the default PlatformPlugin. Ensure all patches described in above SSDTs are present in ACPI->Patch. Booter quirks AllowRelocationBlock - required for macOS 10.7 and older AvoidRuntimeDefrag - required ForceExitBootServices - required for macOS 10.7 and older ProvideCustomSlide - required RebuildAppleMemoryMap - required for macOS 10.6 and older Kernel Quirks ProvideCurrentCpuInfo - required for proper TSC/FSB values and CPU topology values. The following additional kernel extensions are required: Lilu - patching and library functions VirtualSMC - SMC emulator Blockcom.apple.driver.AppleEFIRuntime Required for 32-bit versions of macOS (10.4 and 10.5, and 10.6 in 32-bit mode). EFI runtime services and NVRAM are unavailable in those versions due to incompatiblities with the Hyper-V UEFI. Force On older versions of macOS, the following kernel extensions may need to be Force injected. Refer to the OpenCore Configuration manual for details. IONetworkingFamily (com.apple.iokit.IONetworkingFamily) IOSCSIParallelFamily (com.apple.iokit.IOSCSIParallelFamily) PatchDisable _hpet_init Arch = i386 Base = _hpet_init Comment = Disables _hpet_init due to no HPET hardware present Count = 1 Identifier = kernel MaxKernel = 9.5.99 Replace = C3 Disable IOHIDDeviceShim::newTransportString() Arch = i386 Base = __ZNK15IOHIDDeviceShim18newTransportStringEv Comment = Fix crash in IOHIDDeviceShim::newTransportString() caused by NULL _deviceType Count = 1 Identifier = com.apple.iokit.IOHIDFamily MaxKernel = 9.6.99 MinKernel = 9.5.0 Replace = 31C0C3 Disable scaling factor for X/Y mouse movement Arch = i386 Base = __ZN16IOHIDEventDriver21handleInterruptReportE12UnsignedWideP18IOMemoryDescriptor15IOHIDReportTypem Comment = Workaround for absence of AbsoluteAxisBoundsRemovalPercentage in 10.4 Identifier = com.apple.iokit.IOHIDFamily Find = BA1F85EB51 MaxKernel = 8.11.99 MinKernel = 8.0.0 Replace = BA00000000 Emulate DummyPowerManagement and CPU spoofing may be required depending on the host CPU for older versions of macOS. NVRAM Boot arguments -legacy is required for running 32-bit versions of macOS (10.4 - 10.5, 10.6 if running in 32-bit mode). 64-bit applications and NVRAM support are unavailable in those versions. UEFI Quirks DisableSecurityPolicy - required on Windows Server 2019 / Windows 10 and newer Installer image creation Installer images can either be passed in from USB hard disks, or converted from a DMG to a VHDX image using qemu-img: DMGs need to be in a read/write format first. qemu-img convert -f raw -O vhdx Installer.dmg Installer.vhdx Boot arguments See the module list for boot arguments for each module. Credits Apple for macOS Goldfish64 for this software vit9696 for Lilu.kext and providing assistance flagers for file copy implementation and providing assistance Microsoft Hypervisor Top-Level Functional Specification Linux and FreeBSD Hyper-V integration services
  11. try with updated kexts EFI 01.zip
  12. Start with this efi folder and save one ioreg with ioreg explorer EFI.zip -Delete old EFI folder and paste new. Don't use merge files -Don't use Drag and Drop into EFI partition. Use Copy/Paste instead -Reset NVRAM one time - with OpenCore use entry "Reset Nvram" / with Clover use F11 key on boot screen
  13. u can run but need use some tricks with OpenCore Legacy Patcher
  14. -Desktop CoffeeLake Download HERE
  15. Faça um usb bootavél com tudo atualizado e faço o boot.
  16. Save one ioreg and post here
  17. Have project about this but i never test Check WhateverRed project
  18. No idea. try with default efi folder from here https://www.olarila.com/topic/25111-hackintosh-efi-folders-with-opencore-mod/
  19. delete these efi folders and pasta only one use opencore configurator https://www.olarila.com/topic/24542-opencore-no-acpi-how-to-use-this-fork/
×
×
  • Create New...