Closed boiimakillu closed 4 years ago
Running 10.14.6 on an AMD system.
Hello, so you use a Hackintosh?
We don't really support those for now, but keeping the issue open just in case.
What does error -31 mean?
I think this issue is related to your Macintosh/the usb controller on your Macintosh. Could you provide more information on the model you are using?
@littlelailo he says AMD system... so a Hackintosh
I'm using a msg b450i gaming plus ac, with OSX 10.14.6, and no USB kexts.
But unless error -31 refers to USB stuff, I think it's probably my device. My install of 12.4 is kinda messed up from being jailbroken and restore-roofs'ed a lot of times.
Error -31 here as well, also an amd hackintosh, gigabyte b450m and an iPad 6th gen
Try an USB 2.0 port (or the reverse if you were trying one)
either stuck on checking if device is ready or -31, AMD B450 Catalina
Try an USB 2.0 port (or the reverse if you were trying one)
Tried 3.0 rear, all result in -31 Tried usb 2.0 rear, it freezes at preparation stage
I get error -31. I'll try on a real MacBook which I wasn't using before because it's hella slow.
Success! Seems to be an issue with MSI boards, because I'm sure other people with hackintoshes would have reported too. Thanks!
ok, changed the issue title
Issue also occurs on a B350 hackintosh
So it's a USB driver issue for the amd hackintoshes that use the b450 (and b350) chipset (b450m, b450i, etc.) perhaps some special usb drivers are needed?
b350 (asus b350 prime plus ) hackintosh as well. On my iphone 8 and ipad it worked. On the iphone 7 it gave me error -31
b350 (asus b350 prime plus ) hackintosh as well. On my iphone 8 and ipad it worked. On the iphone 7 it gave me error -31
What ipad generation?
What ipad generation?
Wrongly tried on the ipad pro 10.5 first gen, checkra1n successfully exploited it (cydia doesn't obviously install since it's not supported)
https://github.com/khronokernel/Opencore-Vanilla-Desktop-Guide/blob/master/AMD/AMD-USB-map.md I used this guide to map my USB ports, managed to get it working.
https://github.com/khronokernel/Opencore-Vanilla-Desktop-Guide/blob/master/AMD/AMD-USB-map.md I used this guide to map my USB ports, managed to get it working.
So if you use Opencore as your bootloader and follow this guide it works? I'm using Clover and curious if there's something similar I can do?
https://github.com/khronokernel/Opencore-Vanilla-Desktop-Guide/blob/master/AMD/AMD-USB-map.md I used this guide to map my USB ports, managed to get it working.
So if you use Opencore as your bootloader and follow this guide it works? I'm using Clover and curious if there's something similar I can do?
well you're making a kext so it should work in clover? not sure. I went through the process and added the kext and it started working,not sure though if this is THE solution.
https://github.com/khronokernel/Opencore-Vanilla-Desktop-Guide/blob/master/AMD/AMD-USB-map.md I used this guide to map my USB ports, managed to get it working.
So if you use Opencore as your bootloader and follow this guide it works? I'm using Clover and curious if there's something similar I can do?
well you're making a kext so it should work in clover? not sure. I went through the process and added the kext and it started working,not sure though if this is THE solution.
I have all of my USBs mapped already and have a patched SSDT for that, I am having an issue where the app stops at - [*] == Checkm8 Preparation stage == is that what was happening for you?
https://github.com/khronokernel/Opencore-Vanilla-Desktop-Guide/blob/master/AMD/AMD-USB-map.md I used this guide to map my USB ports, managed to get it working.
So if you use Opencore as your bootloader and follow this guide it works? I'm using Clover and curious if there's something similar I can do?
well you're making a kext so it should work in clover? not sure. I went through the process and added the kext and it started working,not sure though if this is THE solution.
I have all of my USBs mapped already and have a patched SSDT for that, I am having an issue where the app stops at - [*] == Checkm8 Preparation stage == is that what was happening for you?
yes, but I also tried a different port which had something plugged in. could be a piece of the puzzle aswell 😅
I copied the amd-usb-map.kext file from that guide without making any changes to it, and then I tried the usb port that my wifi adapter usb was using and it worked. No other port seemed to want to work though.
I copied the amd-usb-map.kext file from that guide without making any changes to it, and then I tried the usb port that my wifi adapter usb was using and it worked. No other port seemed to want to work though.
sounds like a workaround, i unplugged my USB sound card and it worked from that port.
Tried it again, and it didn't work. So it's really finicky
I will wait to get a lightning to usb-c cable as that may be the cause of me getting the error on my macbook as im using a usb hub.....but even though I get this error, everything still continues... I get the checkra1n boot screen, the checkra1n app, i can open it but then cydia doesn't install it just crashes, I assume some part of the step is missed when I get that error
@AidanDaniel97 which device? if an iPad it's issue #2
it is an iPad Air (1st gen) on 12.4.1 so most likely is that then thanks @woachk
Alright so I might've figured something out.
When attempting to use the app you will mostly encounter error -31 about 85-90% of the time, you just need to keep trying (don't exit the app, dismiss the submit error report dialog though) keep putting your device into DFU mode, it will keep trying to execute the exploit (and it will restart your iPad every time it fails) on the 10-15% that it works, it will do everything correctly.
Alright so I might've figured something out.
When attempting to use the app you will mostly encounter error -31 about 85-90% of the time, you just need to keep trying (don't exit the app, dismiss the submit error report dialog though) keep putting your device into DFU mode, it will keep trying to execute the exploit (and it will restart your iPad every time it fails) on the 10-15% that it works, it will do everything correctly.
Are you using a B450/350 hackintosh or a legitimate Mac?
Alright so I might've figured something out. When attempting to use the app you will mostly encounter error -31 about 85-90% of the time, you just need to keep trying (don't exit the app, dismiss the submit error report dialog though) keep putting your device into DFU mode, it will keep trying to execute the exploit (and it will restart your iPad every time it fails) on the 10-15% that it works, it will do everything correctly.
Are you using a B450/350 hackintosh or a legitimate Mac?
hackintosh AMD B450M
I am able to confirm this. If I run it, get error -31 and then confirm the report, but don't exit the app, then restart my phone I am able to get the exploit to work consistently on the second try. However the preparing/heap takes multiple minutes and booting is a bit slow. So the USB can work but for some reason only on second try.
Same problem on FX990 chipset (cpu is FX-8350)
@FM1337 THANK YOU, YOUR SOLUTION WORKED!!!!! PEOPLE WITH AMD HACKINTOSH, JUST KEEP TRYING IT'LL WORK
Alright, renamed the issue. :-)
Can you guys provide IORegs and the exact motherboard models you are using? Interested to see which specific AMD controllers are affected.
Also as a workaround, if you have an ASMedia controller on your board (check your motherboard specs), use that, as Apple supports an ASMedia controller out of the box and other ASMedia controllers seem to play nice with the generic drivers.
EDIT: How to provide an IOReg:
Also, do not just blindly download the USB map kext. The provided kext will not work for everyone and may screw up USB if the configuration in the kext does not match yours. Read the guide carefully. And yes, it works on Clover.
Can you guys provide IORegs and the exact motherboard models you are using? Interested to see which specific AMD controllers are affected.
Also as a workaround, if you have an ASMedia controller on your board (check your motherboard specs), use that, as Apple supports an ASMedia controller out of the box and other ASMedia controllers seem to play nice with the generic drivers.
EDIT: How to provide an IOReg:
- Download IORegistryExplorer.zip.
- Open IORegistryExplorer > File > Save As
- Upload it here, and make sure you mention what motherboard you have.
Also, do not just blindly download the USB map kext. The provided kext will not work for everyone and may screw up USB if the configuration in the kext does not match yours. Read the guide carefully. And yes, it works on Clover.
Gigabyte B450M FM1337's AMD Hackintosh Pro.zip
(When I saved the IOReg I had the AMD USB map kext enabled, if you want i can disable it and take it again)
alright so to me it seems like it'll only work when plugged into a specific controller (XHC0 in my case), can anyone verify?
IOReg with USB Kext.zip MSI B450I gaming plus AC with 2600. Does checkra1n have any stored logs, because I'd be happy to test different methods of running it and see the results.
Wow! Ok so I have found something very interesting. The issue is definitely tied to usb, but in a weird way. I've found that for it to be successful the second time I need to unplug it at the Type-A, and then plug it back in. This works 100% when the app recognizes the phone without closing, but it takes 5-10 minutes. Maybe the correct things are executing over USB, but when I replug it makes it fall back to really slow speeds? I've also completely fcked up my USB mapping. The reg isn't showing anything under the controllers and I don't know if the kext is even doing anything. Also, the re-plug method either doesn't care about the port or it doesn't like my XHC0 3.1 ports.
Wow! Ok so I have found something very interesting. The issue is definitely tied to usb, but in a weird way. I've found that for it to be successful the second time I need to unplug it at the Type-A, and then plug it back in. This works 100% when the app recognizes the phone without closing, but it takes 5-10 minutes. Maybe the correct things are executing over USB, but when I replug it makes it fall back to really slow speeds? I've also completely fcked up my USB mapping. The reg isn't showing anything under the controllers and I don't know if the kext is even doing anything. Also, the re-plug method either doesn't care about the port or it doesn't like my XHC0 3.1 ports.
Probably doesn't like your 3.1; USB 2.0 devices are always way more stable than 3 for me. Also the whole 'using unsupported hardware on an unsupported OS' thing.
Wow! Ok so I have found something very interesting. The issue is definitely tied to usb, but in a weird way. I've found that for it to be successful the second time I need to unplug it at the Type-A, and then plug it back in. This works 100% when the app recognizes the phone without closing, but it takes 5-10 minutes. Maybe the correct things are executing over USB, but when I replug it makes it fall back to really slow speeds? I've also completely fcked up my USB mapping. The reg isn't showing anything under the controllers and I don't know if the kext is even doing anything. Also, the re-plug method either doesn't care about the port or it doesn't like my XHC0 3.1 ports.
Probably doesn't like your 3.1; USB 2.0 devices are always way more stable than 3 for me. Also the whole 'using unsupported hardware on an unsupported OS' thing.
Complete opposite in my case, the USB 2.0 ports would lock up at the "Checking if Device is Ready" stage, forcing me to force quit the app.
I think this is great but it’s not just hackintosh that gets an error code -31
My computer which is a MacOS Catalina running in a late 2013 Mac Pro gets the same issue... my fix for non X devices is to hold the home button and not let go for the first part of the exploit. So instead of stopping at the your Iphone is in dfu mode
message, just hold it a little bit longer and it gives a 100% success rate
@boiimakillu likely has to do with what @dhinakg mentioned. ASMedia controllers having proper macOS support, unlike the chipset controller.
Well, I of course got the error-31 on my ryzentosh (b350; 2600). No usbs worked at all. I tried to follow the usb mapping tutorial, but I couldn't save the ports info file he talks about in the beginning. Just gave an error.
Anyway, I tried doing the checkrain on my roommates macbook pro, and I got further... but still error-31. Tried all 3 ports he had with no success.
iPhone X 12.4 (didn't want to update if it failed. 12.4 might be the reason).
My Ryzentosh works, I've jailbroken my i7 on 13.2.2 multiple times
MSI B350, r2700, Mojave 10.14.4, clover
Sounds like it could be a 12.4 issue?
@BitGrub What USB ports did you use, what specific motherboard?
Wow @BitGrub that's lucky haha.
Just for context: I tried 10.14.6 (I think. It's on the supported list) with Clover. My mobo is the ROG Strix B350-F Gaming motherboard. When I would mount my EFI and try to save DSDT with the iregistry stuff in the guide, it would just say "error can't save" or something along those lines. I tried using USB3.0 and 2.0. I definitely exceed the 15 port limit, though. probably 6 usb3.0/3.1 and 4-6 usb 2.0 (going from memory there). I only tried my front usbs, so maybe using the ones that are actually directly on the IO would be more successful?
I wanted to try going to high sierra, but I couldn't get it to get past randomseed even when I downgraded clover and put the ryzen patches in. I figured an older osx might have more support since it's been played with for longer. Also I saw the automated usbmapping command line that I wanted to use, but it said it wasn't compatible with mojave and newer.
What device + iOS version are you on? iPhone 6s on 12.4
What are the steps to reproduce the issue? 1.Use my device and checkra1n on a mackintosh (not vm) 2.Put into DFU mode 3.Run checkra1n ...
What do you expect, and what is happening instead? It to not error out, but I keep getting error 31
Any other info, error logs, screenshots, ...? I've clicked the allow button to send to you guys but don't have the logs. Also Siri doesn't work on my phone idk if that related.