Popular Post Sinetek Posted February 11, 2017 Popular Post Share Posted February 11, 2017 macOS kext_rtsx Hi, making a new thread. This driver is for Realtek SDHC card readers on a pci/pcie bus, most commonly found in laptops. I would like to get testers. The driver is not yet finalized, but I'm making the tread now anyway since there was interest. expect this post to change in the future. [read below for current status] -- sinetek things to fix eventually - get more pci id's in plist - async task in its own thread instead of blocking the os - prealloc DMA buffer? - cards with sector_size != 512, haven't been tested at all. - clean up src. git push. - power management? what happens when you sleep the machine? - the eject button in finder is broken, do not use for now. - spams the syslog with debug messages. release config? - basic namespace pollution a bit out of hand Update 1: Power management support on the way: see post #43. Latest version from Cholonam 39 2 Link to comment Share on other sites More sharing options...
Sinetek Posted February 11, 2017 Author Share Posted February 11, 2017 well okay, now it's working with fast DMA and big blocks. do do these numbers look right to you? how fast is an SDHC I class 10 card supposed to be? 1 Link to comment Share on other sites More sharing options...
Allan Posted February 12, 2017 Share Posted February 12, 2017 I'll collaborate! Link to comment Share on other sites More sharing options...
Sinetek Posted February 12, 2017 Author Share Posted February 12, 2017 I'll collaborate! great i need testers. have fun. if a card gets stuck try ejecting and inserting back. Sinetek-rtsx.kext-0.1-btest.zip just realized, you'll need to edit the plist to add your pci id, mine is 5227, that's the only one i bothered to add in. report back if the driver loads on your hardware after that. thx For more information just see the OpenBSD man page for rtsx, since that's what the driver is based from. 2 Link to comment Share on other sites More sharing options...
Micky1979 Posted February 12, 2017 Share Posted February 12, 2017 My Sd mounted as expected! S2Controller (1.8.24) 0D7A1F2C-5FEA-3536-857C-5F96AA30476B <10 7 5 4 3 1> 49 0 0xffffff7f826c7000 0xd000 0xd000 com.sinet3k.Sinetek-rtsx (1) EFE6D4FF-6B04-3C18-BAB7-6EB08D406227 <15 11 7 5 4 3 1> thaaaaaaaaaaaaankssssss What program are you using to test speed? ... a link please I want test with same condition as you ps tested a copy of some file... ok! EDITdevice id is 10de 5229. Why not add the "IOPCIClassMatch" instead of the "IOPCIMatch"? EDIT 2System profiler: test Enoch: Disponibile: 7,57 GB (7.570.780.160 byte) Capienza: 7,6 GB (7.604.232.192 byte) Punto di attivazione: /Volumes/test Enoch File System: Journaled HFS+ Scrivibile: Sì Ignora proprietari: Sì Nome BSD: disk3s2 UUID Volume: CECD4C00-F946-3E1E-BD16-8FA9B0B42905 Unità fisica: Nome supporto: RTSX SD Card Reader Media Media Tipo mappa partizione: GPT (GUID Partition Table, Tabella di partizione GUID) EDIT 3 the eject button inside the left bar in Finder here works well EDIT 4 after ejecting it physically a kp happened (see edit 3) EDIT 5the system sleep for some seconds than wakeup by itself EDIT 6 the system is a bit laggy (so good for the first time of this driver!!) Good job! 1 Link to comment Share on other sites More sharing options...
Sinetek Posted February 12, 2017 Author Share Posted February 12, 2017 @Micky1979 very cool! I'm surprised hah.The program I'm using to test disk speed is blackmagic Disk Speed Test. EDITdevice id is 10de 5229. Why not add the "IOPCIClassMatch" instead of the "IOPCIMatch"? Well, this chip is not a generic SDHCI device so it's a bad idea to match on anything. i'll go with adding all the id's the openbsd driver tries to match on, that should do it. there's at most 5-6 of them i think. 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted February 12, 2017 Share Posted February 12, 2017 @Micky1979 very cool! I'm surprised hah. The program I'm using to test disk speed is blackmagic Disk Speed Test. I assure you this is a slow and old SD card: so the test is really good! Well, this chip is not a generic SDHCI device so it's a bad idea to match on anything. i'll go with adding all the id's the openbsd driver tries to match on, that should do it. there's at most 5-6 of them i think. you're right! Link to comment Share on other sites More sharing options...
Sinetek Posted February 12, 2017 Author Share Posted February 12, 2017 that's good to see. the speed I'm seeing seems pretty constant around 4/9. I don't have one of these super fancy fast sd cards, can't test that.in theory since we're attached to a pci bus the driver could go blazing fast. it depends on what clocking the driver configures 2 Link to comment Share on other sites More sharing options...
Micky1979 Posted February 12, 2017 Share Posted February 12, 2017 Tomorrow I'll test wiht a class 10 sd card.. aaah! mine is only a 4 class SD: 3 Link to comment Share on other sites More sharing options...
gujiangjiang Posted February 12, 2017 Share Posted February 12, 2017 Thanks for your hard work but i test this kext with no result. My ID is 0x525A10EC. Link to comment Share on other sites More sharing options...
Sinetek Posted February 12, 2017 Author Share Posted February 12, 2017 Thanks for your hard work but i test this kext with no result. My ID is 0x525A10EC. next revision should have support for your chip 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted February 12, 2017 Share Posted February 12, 2017 Topic pinned! 2 Link to comment Share on other sites More sharing options...
Allan Posted February 12, 2017 Share Posted February 12, 2017 Here didn't work... IOPCIMatch 0x01290BDA EDIT: Used in Clover/kexts folder. 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted February 12, 2017 Share Posted February 12, 2017 EDIT: Used in Clover/kexts folder. me too, not that the problem. Maybe because is USB instead of PCI? Link to comment Share on other sites More sharing options...
Sinetek Posted February 12, 2017 Author Share Posted February 12, 2017 Sorry folks, this is only for PCI/PCIe chips! the good news for USB is that it's a generic mass storage chip, so it should work out of the box with the proper matching injection.I can't help with that much, don't have the hardware 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted February 12, 2017 Share Posted February 12, 2017 Hi found this: https://kb.sandisk.com/app/answers/detail/a_id/1996/~/difference-between-speed-class,-uhs-speed-class,-and-speed-ratings Apparently the driver is +/- aligned (consider mine is 10 y old) Link to comment Share on other sites More sharing options...
Sinetek Posted February 12, 2017 Author Share Posted February 12, 2017 Hi found this: sdhc.png https://kb.sandisk.com/app/answers/detail/a_id/1996/~/difference-between-speed-class,-uhs-speed-class,-and-speed-ratings Apparently the driver is +/- aligned (consider mine is 10 y old) i would compare with my macbook air, but the sd port blew up lol Link to comment Share on other sites More sharing options...
Micky1979 Posted February 12, 2017 Share Posted February 12, 2017 Link to comment Share on other sites More sharing options...
syscl Posted February 12, 2017 Share Posted February 12, 2017 Nice Sinetek, I was wondering how long PCIE card reader can be available on macOS, not too long! So w/ your driver, why necessary buy a new MacBookPro13,x now? Though, I've tested this driver(0.1) on 0x524910EC(Dell Precision M3800), but did not work. I don't think it's hard to implement 0x524910EC, because I saw there's slightly difference between 0x523710EC and 0x524910EC, expect some different register values. So, could you please pm me the source code such that I can see if I can improve this driver(especially for RTS5249)? Again, thank you for making this happen! syscl 1 Link to comment Share on other sites More sharing options...
Allan Posted February 12, 2017 Share Posted February 12, 2017 Sorry folks, this is only for PCI/PCIe chips! Hmmm, but mine Card Reader is not USB, if are, that would be good. Is possible discover more info in IOReg? Link to comment Share on other sites More sharing options...
marco.pisellonio80 Posted February 12, 2017 Share Posted February 12, 2017 Doesn't work for me (anyway thank you ). From linux terminal: 04:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS522A PCI Express Card Reader [10ec:522a] (rev 01) 2 Link to comment Share on other sites More sharing options...
lihuachuan Posted February 13, 2017 Share Posted February 13, 2017 Thanks for your hard work. It is working. My ID is 0x528710EC. Link to comment Share on other sites More sharing options...
Popyura Posted February 13, 2017 Share Posted February 13, 2017 Sinetek you beauty thank you for this, you have another tester here! Will install this today and report back Link to comment Share on other sites More sharing options...
Sinetek Posted February 13, 2017 Author Share Posted February 13, 2017 Hmmm, but mine Card Reader is not USB, if are, that would be good. Is possible discover more info in IOReg? What is your machine? Just the pci listing would work too. Link to comment Share on other sites More sharing options...
Popyura Posted February 13, 2017 Share Posted February 13, 2017 It works! My findings... Like marco below, my card reader is 10EC:522A. I was able to get it working by altering the value in the plist. <key>IOPCIMatch</key> <string>0x522A10EC</string> Card loaded, was able to get full access to it no problem. Changed the card name and loaded it on a real Mac, name had been saved as well as files I'd copied over to it. Yaaaay! Copying speed was very slow but I think that was just the card itself... I'm at work so can only test with an ancient one I found in a draw which I think is probably Class 2! Will test with my class 10 SDHC when I get home When I physically ejected without dismounting, no problems, but like some of the other testers here I received a kernel panic and forced reboot when I physically ejected AFTER dismounting in Finder. Couple of small issues I guess but generally this is excellent. Thank you Sinetek for developing this and I look forward to a second beta Doesn't work for me (anyway thank you ). From linux terminal: 04:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS522A PCI Express Card Reader [10ec:522a] (rev 01) 2 Link to comment Share on other sites More sharing options...
Recommended Posts