RehabMan Posted July 19, 2016 Share Posted July 19, 2016 Hello Reahb , where i wrong? I created a plist file, copied from your repo Last login: Tue Jul 19 12:00:50 on console Airdimagnifico:~ magnifico$ cd /Users/magnifico/Desktop/NvmeRehabmanRepo/patch_nvme Airdimagnifico:patch_nvme magnifico$ /Users/magnifico/Desktop/NvmeRehabmanRepo/patch_nvme/NVMe_patches_10_11_6.plist -bash: /Users/magnifico/Desktop/NvmeRehabmanRepo/patch_nvme/NVMe_patches_10_11_6.plist: Permission denied Airdimagnifico:patch_nvme magnifico$ I also downloaded from your repo master, but I have this problem Last login: Tue Jul 19 13:25:12 on ttys001 Airdimagnifico:~ magnifico$ cd /Users/magnifico/Desktop/patch_nvme Airdimagnifico:patch_nvme magnifico$ /Users/magnifico/Desktop/patch_nvme/NVMe_patches_10_11_6.plist /Users/magnifico/Desktop/patch_nvme/NVMe_patches_10_11_6.plist: line 1: syntax error near unexpected token `newline' /Users/magnifico/Desktop/patch_nvme/NVMe_patches_10_11_6.plist: line 1: `<?xml version="1.0" encoding="UTF-8"?>' Airdimagnifico:patch_nvme magnifico$ carmine You are not using the repo correctly. Read the README. Hint: a plist is not something you can "run" in Terminal. Link to comment Share on other sites More sharing options...
magnifico Posted July 19, 2016 Share Posted July 19, 2016 I'm doing like readme, but I always make the same mistake Permission denied ok done with this command mkdir ~/Projects && cd Projects git clone https://github.com/RehabMan/patch-nvme.git patch-nvme.git cd patch-nvme.git ./patch_nvme.sh 10_11_6 but with this no ..trusted me reahb cd ~/Downloads/patch-nvme-master ./patch_nvme.sh 10_11_6 Link to comment Share on other sites More sharing options...
RehabMan Posted July 19, 2016 Share Posted July 19, 2016 I'm doing like readme, but I always make the same mistake Permission denied ok done with this command mkdir ~/Projects && cd Projects git clone https://github.com/RehabMan/patch-nvme.git patch-nvme.git cd patch-nvme.git ./patch_nvme.sh 10_11_6but with this no ..trusted me reahb cd ~/Downloads/patch-nvme-master ./patch_nvme.sh 10_11_6 Your previous output was not following the readme. Downloading the ZIP from github works: SPEEDY-OSX:Downloads RehabMan$ cd ~/Downloads/patch-nvme-master SPEEDY-OSX:patch-nvme-master RehabMan$ ./patch_nvme.sh 10_11_6 Creating patched HackrNVMeFamily-10_11_6.kext Comment: IONVMeFamily Pike R. Alpha Patch#01 find: '85f6746141c1e70c4963ffbe20000000' repl: '85f6746141c1e7094963ffbe20000000' patching offset: 21784 Comment: IONVMeFamily Pike R. Alpha Patch#02&03 find: '00000083f90c755841c786a40000000010000048' repl: '00000083f909755841c786a40000000002000048' patching offset: 37272 Comment: IONVMeFamily Pike R. Alpha Patch#04 find: '488d86ff0f000048c1e80c0fb70f81e1' repl: '488d86ff0f000048c1e8090fb70f81e1' patching offset: 55024 Comment: IONVMeFamily Pike R. Alpha Patch#05&06 find: '4881e6ff0f00004801d64881feff0f0000773c48' repl: '4881e6ff0100004801d64881feff010000773c48' patching offset: 55692 Comment: IONVMeFamily Pike R. Alpha Patch#07&08&09 find: '0f000049c1ee0c498b4d004889cb4881e3ff0f00000f95c00fb6c04401f083f8020f85b80000004c8da1001000004c89e0482500f0ffff49898f220100004989872a01000041be001000004929de488d' repl: '0f000049c1ee09498b4d004889cb4881e3ff0f00000f95c00fb6c04401f083f8020f85b80000004c8da1000200004c89e0482500f0ffff49898f220100004989872a01000041be000200004929de488d' patching offset: 56032 Comment: IONVMeFamily Pike R. Alpha Patch#10 find: '872a010000ba001000004829' repl: '872a010000ba000200004829' patching offset: 56360 Comment: IONVMeFamily Pike R. Alpha Patch#11 find: '00004929d4b8001000004d8b' repl: '00004929d4b8000200004d8b' patching offset: 56456 Comment: IONVMeFamily Pike R. Alpha Patch#12&13 find: '4d89d7ba001000004531c94889dee8000000004d89fa4c8b7dd0498b87600100004c896cd8f84981c5001000004981c4' repl: '4d89d7ba000200004531c94889dee8000000004d89fa4c8b7dd0498b87600100004c896cd8f84981c5000200004981c4' patching offset: 56632 Comment: IONVMeFamily Pike R. Alpha Patch#14 find: '0f000048c1e90c66a9ff0f0f' repl: '0f000048c1e90966a9ff0f0f' patching offset: 56860 Comment: IONVMeFamily Pike R. Alpha Patch#15&16&17&18&19 find: '4183f807776d448a5510440fb79fb000000041c1e3100fb687b600000083e008c1e00a4409d883c80289870a01000089b70e010000488997320100008a87b600000024020fb6c0c1e01d09c889873a01000041c1e008410fb6c14409c089c181c9001000004584d20f44c8898f3e0100' repl: '4183f807776d440fb65510440fb79fb000000041c1e3100fb687b600000083e008c1e00a4409d883c80289870a01000089b70e010000488997320100008a87b600000024020fb6c0c1e01d09c889873a01000041c1e008410fb6c1c1e009909090909090904409c04409d089873e0100' patching offset: 58160 Comment: IONVMeFamily Pike R. Alpha Patch#20&21&22 find: '6d696c79004cdfe764eee101031b6877b34392667c466a0cecc6c1928d5439e51185ec73f230b44011e9c2765c380cbed0ce6aefd92d7bd89e3a14377179c7aed0cc7a0966c5952e' repl: '6d696c7900c25802f6e4f3fe418458f17dd4dba9b437ff596dc6c1928d5439e51185ec73f230b44011e9c2765c260a577e0247a7b5327205b852376e150243f908cc7a0966c5952e' patching offset: 199708 Comment: IONVMeFamily Pike R. Alpha Patch#23 - 50 find: '04820100011ce2ad3ad5bbdc289a2a06aa5980945ddc4174cf7208f3a704d73d94057fb25a0bc805edf64f1731379ff1ac8927cfbce23c3f6165ca812efaec51846c2d3cded209c2b2ca5223cd93be24cf41810c624fa3e4213c6430e3903417a16ddc792053533a0a88961fa81d6a04e137d94b0b89be6c33daa51eb06befacb1a3dad89d859d3ad67bd8cf3cc8da3d55ce4c66480386d6aa46884d530b22885d725b4f31c60361654d81137c739fc5c2d2c6221171ecf55e40167b4d2bb2db542bb78e0aa4a719719bb766c8380c6f36c5001ea1725de544b65d70f8b007c9ae6d97a0bdd0000300cf3c5544619941fd87915fa4fa78ef99c52eeed5cbf15c47b1d31300000000' repl: '0482010058e17f639787d0b9a432ea01a3193a5f1043c28364d5486bd76b14a8b0be9f196f5aeb60ec11560bc8c49c8be70161a40295f42218f6eb1706b8226066a15e268199671a0e730094bbb64c7743cc8e21dd737fd360e4f6e2fc46ea542498e1ab87497199dcb3c29dd3b728d8d9a5e67beb1945d5f631c9d848013089b63b18d1bae029b740166ae499fdd8174f5ae573861cc985c20513c252aa66ec2ecf733db4dbf8a8d3c33df41e1a66f01c53352fe5ee78a630ab66bb4c16bcf63a1f214196c5334bd754a0572c418037d8661dede8e75b1aa70cb21e291467cdbb9e54fecb8cc79d600c734bfbafa478b90d7ef2268cc1a7f78018c8958f0adad147923300000000' patching offset: 204676 md5 HackrNVMeFamily-10_11_6.kext/Contents/MacOS/HackrNVMeFamily: 0321befd9cda33edfe50c789d3f310a4 Rename class from AppleNVMeController to HackrNVMeController find: '004170706c654e564d65436f6e74726f6c6c657200' repl: '004861636b724e564d65436f6e74726f6c6c657200' patching offset: 69785 md5 HackrNVMeFamily-10_11_6.kext/Contents/MacOS/HackrNVMeFamily: 040b01cd4bfb18b8df793b96998810b7 Delete: Entry, ":IOKitPersonalities:AppleS1XController", Does Not Exist Delete: Entry, ":IOKitPersonalities:AppleS3ELabController", Does Not Exist Delete: Entry, ":IOKitPersonalities:AppleS3XController", Does Not Exist SPEEDY-OSX:patch-nvme-master RehabMan$ You may have permissions problems if you use something other than the system unzip functionality to unpack the files from the ZIP.The default unzip in Finder works correctly. I cannot comment on other 3rd party unzip programs. Link to comment Share on other sites More sharing options...
magnifico Posted July 19, 2016 Share Posted July 19, 2016 Your previous output was not following the readme. Downloading the ZIP from github works: SPEEDY-OSX:Downloads RehabMan$ cd ~/Downloads/patch-nvme-master SPEEDY-OSX:patch-nvme-master RehabMan$ ./patch_nvme.sh 10_11_6 Creating patched HackrNVMeFamily-10_11_6.kext Comment: IONVMeFamily Pike R. Alpha Patch#01 find: '85f6746141c1e70c4963ffbe20000000' repl: '85f6746141c1e7094963ffbe20000000' patching offset: 21784 Comment: IONVMeFamily Pike R. Alpha Patch#02&03 find: '00000083f90c755841c786a40000000010000048' repl: '00000083f909755841c786a40000000002000048' patching offset: 37272 Comment: IONVMeFamily Pike R. Alpha Patch#04 find: '488d86ff0f000048c1e80c0fb70f81e1' repl: '488d86ff0f000048c1e8090fb70f81e1' patching offset: 55024 Comment: IONVMeFamily Pike R. Alpha Patch#05&06 find: '4881e6ff0f00004801d64881feff0f0000773c48' repl: '4881e6ff0100004801d64881feff010000773c48' patching offset: 55692 Comment: IONVMeFamily Pike R. Alpha Patch#07&08&09 find: '0f000049c1ee0c498b4d004889cb4881e3ff0f00000f95c00fb6c04401f083f8020f85b80000004c8da1001000004c89e0482500f0ffff49898f220100004989872a01000041be001000004929de488d' repl: '0f000049c1ee09498b4d004889cb4881e3ff0f00000f95c00fb6c04401f083f8020f85b80000004c8da1000200004c89e0482500f0ffff49898f220100004989872a01000041be000200004929de488d' patching offset: 56032 Comment: IONVMeFamily Pike R. Alpha Patch#10 find: '872a010000ba001000004829' repl: '872a010000ba000200004829' patching offset: 56360 Comment: IONVMeFamily Pike R. Alpha Patch#11 find: '00004929d4b8001000004d8b' repl: '00004929d4b8000200004d8b' patching offset: 56456 Comment: IONVMeFamily Pike R. Alpha Patch#12&13 find: '4d89d7ba001000004531c94889dee8000000004d89fa4c8b7dd0498b87600100004c896cd8f84981c5001000004981c4' repl: '4d89d7ba000200004531c94889dee8000000004d89fa4c8b7dd0498b87600100004c896cd8f84981c5000200004981c4' patching offset: 56632 Comment: IONVMeFamily Pike R. Alpha Patch#14 find: '0f000048c1e90c66a9ff0f0f' repl: '0f000048c1e90966a9ff0f0f' patching offset: 56860 Comment: IONVMeFamily Pike R. Alpha Patch#15&16&17&18&19 find: '4183f807776d448a5510440fb79fb000000041c1e3100fb687b600000083e008c1e00a4409d883c80289870a01000089b70e010000488997320100008a87b600000024020fb6c0c1e01d09c889873a01000041c1e008410fb6c14409c089c181c9001000004584d20f44c8898f3e0100' repl: '4183f807776d440fb65510440fb79fb000000041c1e3100fb687b600000083e008c1e00a4409d883c80289870a01000089b70e010000488997320100008a87b600000024020fb6c0c1e01d09c889873a01000041c1e008410fb6c1c1e009909090909090904409c04409d089873e0100' patching offset: 58160 Comment: IONVMeFamily Pike R. Alpha Patch#20&21&22 find: '6d696c79004cdfe764eee101031b6877b34392667c466a0cecc6c1928d5439e51185ec73f230b44011e9c2765c380cbed0ce6aefd92d7bd89e3a14377179c7aed0cc7a0966c5952e' repl: '6d696c7900c25802f6e4f3fe418458f17dd4dba9b437ff596dc6c1928d5439e51185ec73f230b44011e9c2765c260a577e0247a7b5327205b852376e150243f908cc7a0966c5952e' patching offset: 199708 Comment: IONVMeFamily Pike R. Alpha Patch#23 - 50 find: '04820100011ce2ad3ad5bbdc289a2a06aa5980945ddc4174cf7208f3a704d73d94057fb25a0bc805edf64f1731379ff1ac8927cfbce23c3f6165ca812efaec51846c2d3cded209c2b2ca5223cd93be24cf41810c624fa3e4213c6430e3903417a16ddc792053533a0a88961fa81d6a04e137d94b0b89be6c33daa51eb06befacb1a3dad89d859d3ad67bd8cf3cc8da3d55ce4c66480386d6aa46884d530b22885d725b4f31c60361654d81137c739fc5c2d2c6221171ecf55e40167b4d2bb2db542bb78e0aa4a719719bb766c8380c6f36c5001ea1725de544b65d70f8b007c9ae6d97a0bdd0000300cf3c5544619941fd87915fa4fa78ef99c52eeed5cbf15c47b1d31300000000' repl: '0482010058e17f639787d0b9a432ea01a3193a5f1043c28364d5486bd76b14a8b0be9f196f5aeb60ec11560bc8c49c8be70161a40295f42218f6eb1706b8226066a15e268199671a0e730094bbb64c7743cc8e21dd737fd360e4f6e2fc46ea542498e1ab87497199dcb3c29dd3b728d8d9a5e67beb1945d5f631c9d848013089b63b18d1bae029b740166ae499fdd8174f5ae573861cc985c20513c252aa66ec2ecf733db4dbf8a8d3c33df41e1a66f01c53352fe5ee78a630ab66bb4c16bcf63a1f214196c5334bd754a0572c418037d8661dede8e75b1aa70cb21e291467cdbb9e54fecb8cc79d600c734bfbafa478b90d7ef2268cc1a7f78018c8958f0adad147923300000000' patching offset: 204676 md5 HackrNVMeFamily-10_11_6.kext/Contents/MacOS/HackrNVMeFamily: 0321befd9cda33edfe50c789d3f310a4 Rename class from AppleNVMeController to HackrNVMeController find: '004170706c654e564d65436f6e74726f6c6c657200' repl: '004861636b724e564d65436f6e74726f6c6c657200' patching offset: 69785 md5 HackrNVMeFamily-10_11_6.kext/Contents/MacOS/HackrNVMeFamily: 040b01cd4bfb18b8df793b96998810b7 Delete: Entry, ":IOKitPersonalities:AppleS1XController", Does Not Exist Delete: Entry, ":IOKitPersonalities:AppleS3ELabController", Does Not Exist Delete: Entry, ":IOKitPersonalities:AppleS3XController", Does Not Exist SPEEDY-OSX:patch-nvme-master RehabMan$ You may have permissions problems if you use something other than the system unzip functionality to unpack the files from the ZIP.The default unzip in Finder works correctly. I cannot comment on other 3rd party unzip programs. Rehab i use unzip of OSX ...never used 3rd party ... wait not try again with master zip and tell you PS: OMG SPEEDY OSX and I believe, with an ssd nvme is super system Link to comment Share on other sites More sharing options...
nmano Posted July 24, 2016 Share Posted July 24, 2016 Laptop M.2 (NGFF) SSD Compatibility List http://laptopmedia.com/laptop-m-2-ngff-ssd-compatibility-list/ Link to comment Share on other sites More sharing options...
WeBeRiO Posted July 25, 2016 Share Posted July 25, 2016 Thank you for the patch, work perfectly in my OCZ RD400, but show external and icon orange in El Capitan. Link to comment Share on other sites More sharing options...
RehabMan Posted July 25, 2016 Share Posted July 25, 2016 Thank you for the patch, work perfectly in my OCZ RD400, but show external and icon orange in El Capitan. You need appropriate ACPI changes to make it internal. All that is required is an ACPI identity for the PCI device. 1 Link to comment Share on other sites More sharing options...
WeBeRiO Posted July 25, 2016 Share Posted July 25, 2016 You need appropriate ACPI changes to make it internal. All that is required is an ACPI identity for the PCI device. How can I do it? Link to comment Share on other sites More sharing options...
RehabMan Posted July 25, 2016 Share Posted July 25, 2016 How can I do it? See post #83. Your SSD seems to be under _SB.PCI0.RP01. 1 Link to comment Share on other sites More sharing options...
WeBeRiO Posted July 25, 2016 Share Posted July 25, 2016 Thank you, it is working perfectly, you are very friendly.This setting is not possible with Clover Configurator on the fly?My performance is very slow, this disk Read to 2600 and write to 1500EDIT: IONVMeFamily.kext is not loader Link to comment Share on other sites More sharing options...
RehabMan Posted July 25, 2016 Share Posted July 25, 2016 This setting is not possible with Clover Configurator on the fly? I don't use Clover Configurator. And there is not a specific feature in Clover to address this problem. Also, such a feature is not necessary as the SSDT approach is efficient and works without issue. My performance is very slow, this disk Read to 2600 and write to 1500 EDIT: IONVMeFamily.kext is not loader Attach ioreg from IORegistryExplorer v2.1. 1 Link to comment Share on other sites More sharing options...
WeBeRiO Posted July 25, 2016 Share Posted July 25, 2016 Rehabman, thank you for your help. Archivo comprimido.zip Link to comment Share on other sites More sharing options...
RehabMan Posted July 25, 2016 Share Posted July 25, 2016 Rehabman, thank you for your help. As far as the HackrNVMe, everything looks fine. I'm not familiar with device 1b85:6018 though. You should test/benchmark the hardware on Windows. Link to comment Share on other sites More sharing options...
bengal stripes Posted July 26, 2016 Share Posted July 26, 2016 Hey RehabMan and Mork, many thanks for your work on this. With your help, it was easy to get my Samsung NVMe Pro 256GB showing up in 10.11.5. The only issue I have is that it's showing up as a removable drive (orange). I've been looking at Rehab's SSDT add-in but the whole DSDT and SSDT thing is new to me and although I'm desperate to learn, I also know that it's not going to happen overnight, LOL. Anyway, RehabMan, can you tell me what part of your add-in pertains to the identification of your NVMe? I can get a device ID from whatever but I don't recognise anything in your add-in that looks like a device ID... or am I barking up the wrong tree? By the way, my system is an AsusX99A/USB3.1 running a 5820k. Although the system is running fine and I get a GeekBench score of 19800 with standard clocking, I'm not convinced that everything is right but getting the NVMe to be acknowledged as an internal drive is my first port of call. PEACE guys Guys, I forgot to mention that I'm using a Nvidia GT750 with 10.11.5 web drivers. Whn I got the system going, I threw in GT640 that was in my X79 system (which has been running 10.8.2 very smoothly for a long time). I'm also using the on-board NVMe slot on the X79A/USB3.1 and NOT a PCIe adapter. I don't know if that will make a difference. Other things I am looking into are processor ID and speedstep. In some ways this build was much easier than my last one on the X79-UD3 but in other ways, it's a lot more complicated. I didn't bother with DSDT last time and made a legacy boot system. This time around, I can see that I've really got to use UEFI and that if I want things running properly, I will need to edit my DSDT and SSDT. I don't actually have a DSDT yet but I did generate a SSDT yesterday and the NVMe issue is an excuse to get to know how things work. Link to comment Share on other sites More sharing options...
RehabMan Posted July 26, 2016 Share Posted July 26, 2016 Anyway, RehabMan, can you tell me what part of your add-in pertains to the identification of your NVMe? I can get a device ID from whatever but I don't recognise anything in your add-in that looks like a device ID... or am I barking up the wrong tree? Attach ioreg collected with IORegistryExplorer v2.1. Also might be helpful if you attach native DSDT/SSDT files (from ACPI/origin). And if you have patched ACPI, ACPI/patched. Link to comment Share on other sites More sharing options...
ergot Posted July 26, 2016 Share Posted July 26, 2016 Thank you for the patch, work perfectly in my OCZ RD400, but show external and icon orange in El Capitan. Are you using in on M.2 slot on MB or PCIe card? When I use my SSD with PCIe i get full speed of r/w 1 Link to comment Share on other sites More sharing options...
bengal stripes Posted July 26, 2016 Share Posted July 26, 2016 Sorry for the delay, Rehab. I don't have anything in ACPI/origin but here are the other files... IOReg_16_07_26_01.zip ssdt.aml.zip Link to comment Share on other sites More sharing options...
joevt Posted July 26, 2016 Share Posted July 26, 2016 Sorry for the delay, Rehab. I don't have anything in ACPI/origin but here are the other files... Press F1 in Clover for a list of keys you can press. I think F4 will populate the ACPI/origin folder. Link to comment Share on other sites More sharing options...
WeBeRiO Posted July 26, 2016 Share Posted July 26, 2016 Are you using in on M.2 slot on MB or PCIe card? When I use my SSD with PCIe i get full speed of r/w I use directly in MB, has a port m.2. Link to comment Share on other sites More sharing options...
bengal stripes Posted July 26, 2016 Share Posted July 26, 2016 Thanks Joevt. I've popped home to have some dinner. I'll do the F1 / F4 thing when I go back to the studio. Thanks for the info! Hi WeBeRio. I've got in in the on-board slot (on the motherboard). I've got my SMNIOS set to MacPro5.1 but I'm not sure if that's right for my system (Asus X99A/USB3.1 with 5820k). I tried to find out what other people are using but nothing definitive. When I get this running the way I want, I'm going to prepare a detailed procedure of exactly how I did it. I'll have to include references as the forums have been so, so helpful. The tools available when I built my last system (GA-X79-UD3) blew me away when I looked back at my first build which was on an Asus P7P55D-EVO. The Gigabyte system is running Mountain Lion 10.8.2 and the Asus system is running Snow Leopard. I have NEVER had any issues with either of these systems and they both have been working hard. The X79-UD3 has two RME FireFace 800s and a MOTU MTP A/V hanging off the back of it. I always use Sonnet PCIe FireWire cards. They just work. This time around, I'm in absolute awe of the tools that people have developed to aid this work. It's amazing. Last time I thought I would get more into looking at code and stuff but I'm just so busy. This time, I'm really quite excited about it all and there are so many clued up people, I think I will have to reconsider, LOL. RehabMan is still around, LOL and there are a lot of other names that bring back memories. To give some timeline, my P7P55D-EVO build was 2010 and my GA-X79-UD3 builds (yeah, I made two) was at the end of 2012, I think. Link to comment Share on other sites More sharing options...
RehabMan Posted July 26, 2016 Share Posted July 26, 2016 Sorry for the delay, Rehab. I don't have anything in ACPI/origin but here are the other files... The ioreg is corrupt. Probably not captured with IORegistryExplorer v2.1 as requested. Link to comment Share on other sites More sharing options...
bengal stripes Posted July 26, 2016 Share Posted July 26, 2016 Ah... I wondered why you were being so specific. I'm going back to the studio shortly (yeah... the night shift, LOL) so I'll see if I can dig it out. If I remember correctly, don't you have to extract it from something like a Snow Leopard installation disk? Link to comment Share on other sites More sharing options...
bengal stripes Posted July 26, 2016 Share Posted July 26, 2016 Hey RehabMan, the only Snow Leopard DVD I have only has version 2.02 on it. I have a couple of Snow Leopard Combo updates but can't find any XCode, IOReg stuff. I'll keep on looking. Link to comment Share on other sites More sharing options...
bengal stripes Posted July 27, 2016 Share Posted July 27, 2016 I got there in the end, I think. Thanks again joevt for the heads-up on the F4 thing at the Clover boot screen. Bengal_Stripes_IOReg_27_07_16.zip origin.zip patched.zip Link to comment Share on other sites More sharing options...
RehabMan Posted July 27, 2016 Share Posted July 27, 2016 I got there in the end, I think. Thanks again joevt for the heads-up on the F4 thing at the Clover boot screen. Your DSDT already defines an ACPI identity at _SB.PCI0.BR1B.H000, but it also defines _SUN. Might help to remove it, or you can inject "built-in" with a _DSM. 1 Link to comment Share on other sites More sharing options...
Recommended Posts