Austere.J Posted June 18, 2021 Share Posted June 18, 2021 (edited) I made a new driver for Realtek card readers, and I would like to invite people to join the beta testing. Please use this thread for general discussion and test reports. This driver is based on the Linux driver module `rtsx_pci/usb` which is contributed by engineers from Realtek and therefore is more mature than the FreeBSD/OpenBSD driver. But I wrote this driver from scratch instead of blindly copying the code from Linux to macOS, so there is no compatibility layer (and performance degradation introduced by the compatibility layer) at all. This driver supports SDSC/HC/XC cards and UHS-I SDR12/25/50/104 and DDR50 modes. I tested my RTS525A with a SDXC card and got about 75MB/s read speed and 60MB/s write speed. Note that your card may support even higher speed but your card reader may be limited by the OEM. Always test your card under Windows or Linux to get an estimate on the threshold. Use the `dd` command to get a precise estimate on the I/O speed under macOS. As a bonus, your card reader will be recognized as a native one and is listed under Card Reader in System Information. You need to install the companion Lilu plugin `RealtekCardReaderFriend` which is available at https://github.com/0xFireWolf/RealtekCardReaderFriend/. As of v0.9.5, USB-based RTS5129, RTS5139 and RTS5179 are supported. Please give a try and report any issues, as I don't have these chips thus cannot test them. Feel free to report any issues. Detailed information can be found in the Github repo (https://github.com/0xFireWolf/RealtekCardReader). Downloads: https://github.com/0xFireWolf/RealtekCardReader/releases Enjoy -- FireWolf Edited August 28, 2021 by Austere.J Update the title. 11 3 Link to comment Share on other sites More sharing options...
Austere.J Posted June 19, 2021 Author Share Posted June 19, 2021 1 hour ago, Hervé said: Systematic instantaneous/immediate KP 1s after initiating boot when injecting or caching this kext (whether Debug or Release version) in Big Sur 11.4 (Clover r5133) on my Skylake Dell Latitude E7270 laptop fitted with PCie Realtek RTS525a: No log produced... 😪 Had to revert to Cholonam's sinetek-rtsx kext. I hate my plist editor. It changed the value type of IOProbeScore from interger to real. That's why you saw the serialization error. v0.9.1 should fix the issue and is working fine on my machine. Please give a try. Thank you. 1 Link to comment Share on other sites More sharing options...
Allan Posted June 20, 2021 Share Posted June 20, 2021 Tested here, but my RTL8411B PCI Express Card Reader (0x10EC5287) is on the Not Yet list 😕 I've followed the instruction to use the Debug version btw, if there's anything I can do to help, count with me. I'm waiting 😁 Link to comment Share on other sites More sharing options...
Austere.J Posted June 20, 2021 Author Share Posted June 20, 2021 18 hours ago, Hervé said: not all cards are not readable; I've tried 3 x cards: 2 x older 2GB SanDisk microSD (SC?) and 1 x recent 16GB SanDisk microSD HC that are all RW-able with cholonam's sinetek-rtsx driver. the older 2GB SanDisk microSD (SC?) cards could not be mounted/read only the more recent 16GB SanDisk microSD HC card could be mounted RW. system crashes abruptly and laptop resets after a few short minutes after unreadable cards are inserted or a few longer minutes after my readable SDHC card was inserted. Thanks for your report. According to your kernel log, it seems that you tried the SDHC card before the other two SDSC cards. Your SDHC card supports the UHS-I SDR104 mode, so the bus clock was switched to 208MHz. That's why you got a read speed of about 75MB/s. However, when you removed the SDHC card and inserted the SDSC one, the bus was still operating at 208MHz (another bug), so the driver failed to initialize your SDSC card due to mismatched card clock. Please try the 0.9.1 (v2) kext and see if your SDSC card can be recognized. Specifically, please try the following steps: 1) Boot your computer with the new kext. 2) Insert the SDSC card and check whether the card is recognized and whether the system crashes. <Dump the kernel log at this moment and rename it to "1.log".> 3) If the card can be recognized, try to read a file from the card and see if the file is corrupted or not. <Dump the kernel log at this moment and rename it to "2.log".> 4) Remove the SDSC card and insert your SDHC card. Check whether your SDHC card can be recognized properly. If somthing is wrong, dump the kernel log and rename it to "3.log". To remove your card from the system, right click the icon on the Desktop and click "Eject". I could only reproduce the kernel panic when I removed the card without clicking "Eject", but 0.9.1v2 should fix this issue. RealtekPCIeCardReader_0.9.1_v2_DEBUG.zip Link to comment Share on other sites More sharing options...
b0ltun Posted June 20, 2021 Share Posted June 20, 2021 (edited) @Austere.J hello! Just interested if it's possible to add support for Realtek SD card readers with USB-based "system"? (ex. RTS5129) I had the same USB card-reader which is placed in Xiaomi laptops (here). There is only one way to make it work right now > using VM method But on Linux and Windows it's working properly. Edited June 20, 2021 by b0ltun add RTS Link to comment Share on other sites More sharing options...
Austere.J Posted June 20, 2021 Author Share Posted June 20, 2021 2 hours ago, Hervé said: SDSC cards remain unrecognised, no changes in that respect. [ 117.813682]: RTSX: bool IOSDCard::enable4BitWideBus() DInfo: The host device will use the 4-bit bus for data transfer. [ 117.813694]: RTSX: bool IOSDCard::initHighSpeedMode() DInfo: The 4-bit bus has been enabled. [ 117.813702]: RTSX: bool IOSDCard::initHighSpeedMode() DInfo: The card has been initialized with the high speed mode enabled. [ 117.813770]: RTSX: void IOSDHostDriver::recyclePendingBlockRequest() DInfo: Recycling a pending request... [ 117.813786]: RTSX: bool IOSDHostDriver::attachCard(UInt32) DInfo: The card has been created and initialized. [ 117.813793]: RTSX: void IOSDHostDriver::attachCard() DInfo: The card has been initialized at 400000 Hz. [ 117.813801]: RTSX: bool IOSDHostDriver::publishBlockStorageDevice() DInfo: Publishing the block storage device... [ 117.813831]: RTSX: virtual bool IOSDBlockStorageDevice::start(IOService *) DInfo: ======================================= [ 117.813840]: RTSX: virtual bool IOSDBlockStorageDevice::start(IOService *) DInfo: Starting the SD block storage device... [ 117.813847]: RTSX: virtual bool IOSDBlockStorageDevice::start(IOService *) DInfo: ======================================= [ 117.813858]: RTSX: bool IOSDBlockStorageDevice::fetchCardCharacteristics() DInfo: Card Vendor = SanDisk; Name = SU02G; Revision = 8.0; Serial Number = 0x902EB808. [ 117.813872]: RTSX: bool IOSDBlockStorageDevice::fetchCardCharacteristics() DInfo: Card Block Size = 1024 Bytes; NumBlocks = 1931264; Capacity = 1977614336 Bytes. [ 117.813934]: RTSX: virtual bool IOSDBlockStorageDevice::start(IOService *) DInfo: ==================================== [ 117.813948]: RTSX: virtual bool IOSDBlockStorageDevice::start(IOService *) DInfo: The SD block storage device started. [ 117.813960]: RTSX: virtual bool IOSDBlockStorageDevice::start(IOService *) DInfo: ==================================== [ 117.813971]: RTSX: bool IOSDHostDriver::publishBlockStorageDevice() DInfo: The block storage device has been published. [ 117.813981]: RTSX: void IOSDHostDriver::attachCard() DInfo: The SD card has been attached. [ 117.813990]: RTSX: virtual bool IOSDCardEventSource::checkForWork() DInfo: The card event has been processed. // The driver begins the eject the SDSC card. [ 117.814000]: RTSX: virtual bool IOSDCardEventSource::checkForWork() DInfo: The card event source is invoked by the processor work loop. [ 117.814011]: RTSX: virtual bool IOSDCardEventSource::checkForWork() DInfo: Processing the card event... [ 117.814021]: RTSX: void IOSDHostDriver::detachCard() DInfo: Detaching the SD card... [ 117.814029]: RTSX: void IOSDHostDriver::detachCard() DInfo: Stopping the block storage device... [ 117.814306]: RTSX: void IOSDHostDriver::detachCard() DInfo: The block storage device has been stopped. [ 117.814313]: RTSX: void IOSDHostDriver::detachCard() DInfo: Stopping the card device... [ 117.814327]: RTSX: void IOSDHostDriver::detachCard() DInfo: The card device has been stopped. This time, your SDSC card was properly initialized (1.84GB) but then was ejected by the driver. Your kernel log is incomplete, so I cannot find why the detach function is triggered. Please make sure that your dmesg buffer is set to 10MB, i.e. msgbuf=10485760, and try the v3 kext with your SDSC card. Thank you. RealtekPCIeCardReader_0.9.1_v3_DEBUG.zip Link to comment Share on other sites More sharing options...
Austere.J Posted June 20, 2021 Author Share Posted June 20, 2021 2 hours ago, b0ltun said: @Austere.J hello! Just interested if it's possible to add support for Realtek SD card readers with USB-based "system"? (ex. RTS5129) I had the same USB card-reader which is placed in Xiaomi laptops (here). There is only one way to make it work right now > using VM method But on Linux and Windows it's working properly. Unfortunately, this driver targets at PCIe-based Realtek SD card readers only. Adding support for USB-based ones (e.g., RTS5129, 5139, 5179, 5170) requires a USB driver and therefore is a different story. Link to comment Share on other sites More sharing options...
1Ale1 Posted June 20, 2021 Share Posted June 20, 2021 Thanks for this kext @Austere.J! On 6/19/2021 at 9:40 AM, Austere.J said: I hate my plist editor. I suggest ProperTree if you're on macOS (I personally prefer to build it with the latest python3 version installed with brew) or PlistEdPlus for Linux/macOS/Windows 1 Link to comment Share on other sites More sharing options...
Austere.J Posted June 21, 2021 Author Share Posted June 21, 2021 22 hours ago, Allan said: Tested here, but my RTL8411B PCI Express Card Reader (0x10EC5287) is on the Not Yet list 😕 I've followed the instruction to use the Debug version btw, if there's anything I can do to help, count with me. I'm waiting 😁 RTS8411B is now supported as of v0.9.2. Give a try. Link: https://github.com/0xFireWolf/RealtekPCIeCardReader/releases/tag/v0.9.2 1 Link to comment Share on other sites More sharing options...
Allan Posted June 22, 2021 Share Posted June 22, 2021 Hello @Austere.J I did test the new version, but it's not working. 🥲 The card reader isn't showing on System Information neither my cards are mounted. I'm using the Debug version, with the boot-arg recommended. Here's my log: rtsx.log Thank you Link to comment Share on other sites More sharing options...
Austere.J Posted June 22, 2021 Author Share Posted June 22, 2021 3 hours ago, Allan said: Hello @Austere.J I did test the new version, but it's not working. 🥲 The card reader isn't showing on System Preferences neither my cards are mounted. I'm using the Debug version, with the boot-arg recommended. Here's my log: rtsx.log Thank you [ 1.714516]: RTSX: virtual IOReturn RealtekRTS5287Controller::initVendorSpecificParameters() DInfo: Initializing the vendor-specific parameters... [ 1.714523]: RTSX: virtual IOReturn RealtekRTS5287Controller::initVendorSpecificParameters() Error: Vendor settings are invalid. [ 1.714527]: RTSX: bool RealtekPCIeCardReaderController::setupCardReader() Error: Failed to initialize vendor-specific parameters. [ 1.714531]: RTSX: virtual bool RealtekPCIeCardReaderController::start(IOService *) Error: Failed to set up the card reader. [ 1.714565]: RTSX: virtual bool RealtekPCIeCardReaderController::start(IOService *) DInfo: =========================================== [ 1.714570]: RTSX: virtual bool RealtekPCIeCardReaderController::start(IOService *) DInfo: Failed to start the card reader controller. [ 1.714574]: RTSX: virtual bool RealtekPCIeCardReaderController::start(IOService *) DInfo: =========================================== It seems that your laptop vendor messes up the vendor-specific parameters. I change the code to continue the initialization process with the default parameters. Please give a try. RealtekPCIeCardReader_0.9.3b1_DEBUG.zip 1 Link to comment Share on other sites More sharing options...
Allan Posted June 22, 2021 Share Posted June 22, 2021 7 minutes ago, Austere.J said: [ 1.714516]: RTSX: virtual IOReturn RealtekRTS5287Controller::initVendorSpecificParameters() DInfo: Initializing the vendor-specific parameters... [ 1.714523]: RTSX: virtual IOReturn RealtekRTS5287Controller::initVendorSpecificParameters() Error: Vendor settings are invalid. [ 1.714527]: RTSX: bool RealtekPCIeCardReaderController::setupCardReader() Error: Failed to initialize vendor-specific parameters. [ 1.714531]: RTSX: virtual bool RealtekPCIeCardReaderController::start(IOService *) Error: Failed to set up the card reader. [ 1.714565]: RTSX: virtual bool RealtekPCIeCardReaderController::start(IOService *) DInfo: =========================================== [ 1.714570]: RTSX: virtual bool RealtekPCIeCardReaderController::start(IOService *) DInfo: Failed to start the card reader controller. [ 1.714574]: RTSX: virtual bool RealtekPCIeCardReaderController::start(IOService *) DInfo: =========================================== It seems that your laptop vendor messes up the vendor-specific parameters. I change the code to continue the initialization process with the default parameters. Please give a try. RealtekPCIeCardReader_0.9.3b1_DEBUG.zip 161.64 kB · 1 download Now the card reader it's showing at the System Information: But my cards isn't mounted. 😭 Another log: rtsx.log Link to comment Share on other sites More sharing options...
Austere.J Posted June 22, 2021 Author Share Posted June 22, 2021 43 minutes ago, Allan said: Now the card reader it's showing at the System Information: But my cards isn't mounted. 😭 Another log: rtsx.log What's the model of your SD card? Brand, type (i.e. SDSC/HC/XC), and capacity? Your card did not respond to the CMD8, which means that it is probably a v1.00/v1.01 SD card. (i.e. an old SDSC card.) Your card was then timed out when the host driver issued an ACMD41 to request the card to switch to 1.8V. In this case, I have not implemented any fallback mechanism yet. Do you have other more recent SD cards to test the driver? Link to comment Share on other sites More sharing options...
b105 Posted June 22, 2021 Share Posted June 22, 2021 Hello! First off, thanks for making an SD card reader driver, as these aren't too common. Unfortunately, it's not working for my 8411B based reader yet. The logs indicate that it seems to start and it does show up in system information, but SD cards aren't mounted and don't show up in Finder or Disk utility. I tried using both 0.9.2 and the 0.9.3b1 that you uploaded here, and 3 different SDHC cards which I know work on other machines (and in Windows on this laptop). Thanks in advance for any help you can offer. test.log Link to comment Share on other sites More sharing options...
Austere.J Posted June 24, 2021 Author Share Posted June 24, 2021 On 6/22/2021 at 2:47 PM, Allan said: Now the card reader it's showing at the System Information: But my cards isn't mounted. 😭 Another log: rtsx.log On 6/22/2021 at 3:44 PM, b105 said: Hello! First off, thanks for making an SD card reader driver, as these aren't too common. Unfortunately, it's not working for my 8411B based reader yet. The logs indicate that it seems to start and it does show up in system information, but SD cards aren't mounted and don't show up in Finder or Disk utility. I tried using both 0.9.2 and the 0.9.3b1 that you uploaded here, and 3 different SDHC cards which I know work on other machines (and in Windows on this laptop). Thanks in advance for any help you can offer. test.log 3.4 MB · 1 download Both of you have the RTS8411B (0x10EC5287) card reader, and the card initialization routine failed because your card did not respond to ACMD41 and the timeout handler was triggered. I updated the code to retry up to 10 times if the response to an ACMD is timed out. Please try v0.9.3b2 and see if it solves the problem. RealtekPCIeCardReader_0.9.3v2_DEBUG.zip 1 Link to comment Share on other sites More sharing options...
Allan Posted June 24, 2021 Share Posted June 24, 2021 Sorry for my late reply 😬 On 6/22/2021 at 7:42 PM, Austere.J said: What's the model of your SD card? Brand, type (i.e. SDSC/HC/XC), and capacity? Using the app HWiNFO64, I got this result, it helps? Spoiler On 6/22/2021 at 7:42 PM, Austere.J said: Do you have other more recent SD cards to test the driver? Hmm, no. The current SD Cards that I have to test are these: Spoiler 11 hours ago, Austere.J said: I updated the code to retry up to 10 times if the response to an ACMD is timed out. Please try v0.9.3b2 and see if it solves the problem I've test this version too, I got the same results. But I need to extract the .log for you. Link to comment Share on other sites More sharing options...
theroadw Posted June 25, 2021 Share Posted June 25, 2021 (edited) Hi, thank you for your work on this kext, however it's not working and when loaded I experience a KP. No bootlog is generated Device is RTS525a HP Zbook G5 I also wonder if it would be possible to make it compatible with Mojave Spoiler Anonymous UUID: C623883A-25DF-825B-5813-A9DB33A66A3E Thu Jun 24 22:00:38 2021 *** Panic Report *** panic(cpu 4 caller 0xffffff80102449ea): Kernel trap at 0xffffff80106890e0, type 14=page fault, registers: CR0: 0x0000000080010033, CR2: 0xffffff7f9316d568, CR3: 0x0000000017eec000, CR4: 0x00000000003626e0 RAX: 0xffffff8010a676b8, RBX: 0xffffff7f91637838, RCX: 0x000000000000008b, RDX: 0xffffff7f9316d558 RSP: 0xffffff83aadebbb0, RBP: 0xffffff83aadebbd0, RSI: 0x000000000000008b, RDI: 0x0000000000000000 R8: 0x0000000100000201, R9: 0xffffff80174fb033, R10: 0x0000000000000003, R11: 0x0000000000000000 R12: 0xffffff804f067140, R13: 0xffffff7f915c3200, R14: 0xffffff7f91637838, R15: 0xffffff8010c1d230 RFL: 0x0000000000010282, RIP: 0xffffff80106890e0, CS: 0x0000000000000008, SS: 0x0000000000000000 Fault CR2: 0xffffff7f9316d568, Error code: 0x0000000000000000, Fault CPU: 0x4, PL: 0, VF: 1 Backtrace (CPU 4), Frame : Return Address 0xffffff83aadeb610 : 0xffffff801011868d 0xffffff83aadeb660 : 0xffffff8010252ab5 0xffffff83aadeb6a0 : 0xffffff801024463e 0xffffff83aadeb6f0 : 0xffffff80100bea40 0xffffff83aadeb710 : 0xffffff8010117d57 0xffffff83aadeb810 : 0xffffff8010118147 0xffffff83aadeb860 : 0xffffff80108bf2bc 0xffffff83aadeb8d0 : 0xffffff80102449ea 0xffffff83aadeba50 : 0xffffff80102446e8 0xffffff83aadebaa0 : 0xffffff80100bea40 0xffffff83aadebac0 : 0xffffff80106890e0 0xffffff83aadebbd0 : 0xffffff7f915cfb83 0xffffff83aadebbf0 : 0xffffff7f915d86b2 0xffffff83aadebc00 : 0xffffff80107b21a6 0xffffff83aadebc70 : 0xffffff80107b1c57 0xffffff83aadebce0 : 0xffffff801079e402 0xffffff83aadebd30 : 0xffffff801079b503 0xffffff83aadebda0 : 0xffffff80107a9a69 0xffffff83aadebdf0 : 0xffffff80108229de 0xffffff83aadebe40 : 0xffffff80108041b5 0xffffff83aadebef0 : 0xffffff8010803c9e 0xffffff83aadebf50 : 0xffffff8010806456 0xffffff83aadebfa0 : 0xffffff80100be13e Kernel Extensions in backtrace: com.apple.iokit.IOUSBFamily(900.4.2)[15879BD6-8025-376B-9085-F56C7C002FB1]@0xffffff7f915c3000->0xffffff7f9165bfff dependency: com.apple.iokit.IOPCIFamily(2.9)[2F37AE58-E6B9-3B18-9092-3B80D34C334B]@0xffffff7f90b31000 dependency: com.apple.iokit.IOUSBHostFamily(1.2)[80AD6206-0EDB-39B5-A7B9-8FEAFD6407F3]@0xffffff7f91426000 dependency: com.apple.driver.usb.AppleUSBCommon(1.0)[B5515CE4-E548-3AEE-9980-1967FB191C23]@0xffffff7f91414000 BSD process name corresponding to current thread: Unknown Boot args: kext-dev-mode=1 -igfxblr msgbuf=10485760 -v Mac OS version: Not yet set Kernel version: Darwin Kernel Version 19.6.0: Thu Oct 29 22:56:45 PDT 2020; root:xnu-6153.141.2.2~1/RELEASE_X86_64 Kernel UUID: 9B5A7191-5B84-3990-8710-D9BD9273A8E5 Kernel slide: 0x000000000fe00000 Kernel text base: 0xffffff8010000000 __HIB text base: 0xffffff800ff00000 System model name: MacBookPro15,1 (Mac-937A206F2EE63C01) System shutdown begun: NO Panic diags file unavailable, panic occurred prior to initialization System uptime in nanoseconds: 15696366490 When loaded directly: rtsx-kp-mod.mp4 Edited June 25, 2021 by theroadw more info Link to comment Share on other sites More sharing options...
Austere.J Posted June 25, 2021 Author Share Posted June 25, 2021 (edited) @theroadw 1) Add the boot argument `keepsyms=1` so that you can see which function triggers the kernel panic. 2) Remove the SD card while your system is booting. 3) Use your bootloader to inject the kernel extension. 4) Once your system boots, insert your card and check whether the same kernel panic occurs. If so, please attach the full kernel panic report as well as your kernel log. It is hard to see the log and debug the issue by watching the recording. Note that I don't have macOS Mojave installed on my machine, so I have not checked the compatibility and tested the driver yet. Edited June 25, 2021 by Austere.J Link to comment Share on other sites More sharing options...
theroadw Posted June 25, 2021 Share Posted June 25, 2021 5 hours ago, Austere.J said: @theroadw 1) Add the boot argument `keepsyms=1` so that you can see which function triggers the kernel panic. 2) Remove the SD card while your system is booting. 3) Use your bootloader to inject the kernel extension. 4) Once your system boots, insert your card and check whether the same kernel panic occurs. If so, please attach the full kernel panic report as well as your kernel log. It is hard to see the log and debug the issue by watching the recording. Note that I don't have macOS Mojave installed on my machine, so I have not checked the compatibility and tested the driver yet. 1- Will do and report back 2- No SD card present 3-Using OC injecting generates that KP in the video 4-System doesn't boot, will do #1 to have more information, I know the video is crappy, sorry. @Hervé I noticed that and I tried compiling in Mojave but there are a couple of errors I don't know how to remove. I guess my post wasn't very clear, the KP is on my Catalina boot. I prefer to use Mojave for day to day and it would be great to also make this kext 10.14 compatible Link to comment Share on other sites More sharing options...
theroadw Posted June 25, 2021 Share Posted June 25, 2021 Stalls for a few seconds in this page then... KP.mp4 Link to comment Share on other sites More sharing options...
b105 Posted June 26, 2021 Share Posted June 26, 2021 I tried 0.9.3 beta 2 on my 8111B and it's still not working. Here are the logs: test.log Link to comment Share on other sites More sharing options...
1Revenger1 Posted June 26, 2021 Share Posted June 26, 2021 (edited) 19 hours ago, Hervé said: @theroadw Afaik, the current kext(s) can on load/run on Catalina and Big Sur (and presumably later). It certainly does not load under Mojave. Not surprisingly given the information available in the Info.plist file which is indicative of the way it was compiled: <key>LSMinimumSystemVersion</key> <string>10.15</string> <key>NSHumanReadableCopyright</key> <string>Copyright © 2021 FireWolf. All rights reserved.</string> <key>OSBundleLibraries</key> <dict> <key>com.apple.iokit.IOPCIFamily</key> <string>2.9</string> <key>com.apple.iokit.IOStorageFamily</key> <string>2.1</string> <key>com.apple.kpi.iokit</key> <string>16.4</string> <key>com.apple.kpi.libkern</key> <string>16.4</string> </dict> You could try to edit this to match Mojave's versions but would most likely need to try and recompile the code under Mojave directly. Xcode 10.x required... It's possible to compile for Mojave and earlier fairly easy. You need to set the target macOS version within the project settings (I admittedly forget where, it's called MACOSX_DEPLOYMENT_TARGET though within the xcode project file) I've gone as far back as 10.7 with it with ECEnabler. I do compile this though using Acidanthera's MacKernelSDK, though I believe it's still possible with the SDK that comes with Xcode Edited June 26, 2021 by 1Revenger1 Post duplicated for some reason Link to comment Share on other sites More sharing options...
theroadw Posted June 26, 2021 Share Posted June 26, 2021 1 hour ago, 1Revenger1 said: It's possible to compile for Mojave and earlier fairly easy. You need to set the target macOS version within the project settings (I admittedly forget where, it's called MACOSX_DEPLOYMENT_TARGET though within the xcode project file) I've gone as far back as 10.7 with it with ECEnabler. I do compile this though using Acidanthera's MacKernelSDK, though I believe it's still possible with the SDK that comes with Xcode Thank you @1Revenger1, I've also done this in the past, but in this case it's not that simple. I've tried both, compiling in Catalina but setting the target OS to 10.14 and it compiles, but it refuses to load in Mojave, and I get KP in Catalina. If I try to compile in Mojave I get a couple of errors: I'm not sure why my KP seems to point at IOUSBFamily in my case. If I don't inject this kext I don't have any USB or booting problems, and Cholonam's Sinetek works correctly on both Mojave and Catalina, so the device itself works. Link to comment Share on other sites More sharing options...
wern apfel Posted June 27, 2021 Share Posted June 27, 2021 Thanks for this driver. I tried it with the RTS522a controller, but the card initialization fails. See the log. rtsx.522a_log.zip Link to comment Share on other sites More sharing options...
Austere.J Posted July 2, 2021 Author Share Posted July 2, 2021 On 6/25/2021 at 5:43 AM, theroadw said: 1- Will do and report back 2- No SD card present 3-Using OC injecting generates that KP in the video 4-System doesn't boot, will do #1 to have more information, I know the video is crappy, sorry. I guess my post wasn't very clear, the KP is on my Catalina boot. I prefer to use Mojave for day to day and it would be great to also make this kext 10.14 compatible It seems that AppleSDXC.kext is loaded under macOS Catalina and therefore causes the kernel panic. 0.9.3v3 should resolve this issue but as a consequence your card reader will not be list by System Profiler. (I need to find a robust way to prevent AppleSDXC from loading...) Please use IORegistryExplorer to see the kext is loaded and attached. RealtekPCIeCardReader_0.9.3v3_DEBUG.zip Link to comment Share on other sites More sharing options...
Recommended Posts