~~Resolving One of the Vita's Most Cryptic Errors~~


Just a quick note regarding a PSVita with the PSVSD mod crashing with the SCE_ERROR_ERRNO_EFORMAT (C1-2783-0) error after a long period of sleep



Allow me to provide the context real quick, so you can hopefully quickly determine if this could apply to your situation.


I've modded my 3G capable PSVita 1000 to use the PSVSD mod. I use the usbmc plugin to mount the uSD card as the memory card and use a decent quality Samsung uSD card, so I would be very surprised if it was developing bad blocks already.


Since performing the mod a few months ago I've stayed fairly light on the homebrew applications, but after doing some experimentation, I ended up installing a few programs (including, spoiler alert, the problem Adrenaline Bubble Manager).

Now, I'm the type to leave my Vita in sleepmode most of the time, and I noticed that shortly afterwards, whenever I'd leave it in sleepmode overnight the Vita would come back up as if the memory card (uSD card) didn't initialize right.

Essentially, the game I was currently playing would eventually crash with a C2-12828-1 error, then attempting to relaunch it (or launch any other game) would crash with SCE_ERROR_ERRNO_EFORMAT (C1-2783-0). I noticed as well that things like app backgrounds (i.e., the background you see when you click a bubble) wouldn't load.


Interestingly when I would try and open homebrew apps (e.g., VitaShell), I would get this error: SCE_KERNEL_ERROR_MODULEMGR_NOEXEC (C1-9654-4)


Thankfully, I could resolve the problem by rebooting the PSVita, but as someone who enjoys long uptimes this was an obnoxious step. As I mentioned before, this felt like an issue where the uSD card wasn't being initialized properly upon waking up. I performed a fsck on the uSD card, which came up with no errors, so I was fairly sure the uSD card wasn't suffering from any sort of fault.


I tried a few of the troubleshooting steps that I found online: i.e., rebuilding the databse, turning off trophy sync and networking in general, reinstalling the game I was currently playing. To no avail.

One thing I wanted to avoid was performing a backup/restore, simply due to how time consuming that'd be and I don't know how that'd play with CFW.


Anyways, to cut to the chase, the issue turned out to be the version of the adrenaline_kernel.skprx kernel module installed by Adrenaline Bubble Manager. By reinstalling the latest version of Adrenaline, I lost the ability to launch PSP ISOs directly from the Live Area, but in turn, my Vita doesn't get in this weird state overnight consistently.


At first I thought the issue was related to the PSVSD recovering from sleep, my knowledge of how the Vita recovers from sleep is limited to this post by Yifan Lu, and attempts to find more detail weren't particularly successful. Regardless, I suspected, that when coming out of sleep the uSD card (or perhaps something on the PSVSD mod itself like the IC) takes longer than expected to initialize and the kernel tries to load the adrenaline_kernel.skprx module from the still non-existant-from-the-perspective-of-the-recovering-Vita memory card which could cause issues. Unfortunately, when I tried copying the kernel module to the internal NAND the issue persisted.

I'm still experimenting, but if I find anything new I'll update this post.


Update: I ended up experimenting some more and learned some more about what was actually going on. Originally I blamed the problem on Adrenaline, but that wasn't quite right, the issue was actually caused by the Adrenaline Bubble Manager, or more accurately, the modified adrenaline_kernel.skprx by LMAN that's installed with it to support the "bubble booter" plugin. The issue was triggered by the Vita's online sync, whenever the Vita would wake up to check for notifications and sync trophies the problem would manifest. The interesting thing I learned, was even when the network is disabled and sync is turned off, the Vita seems to still wake up briefly. Wherein it sees sync is off and returns to standby mode. This brief check was enough to cause the problem.

Unfortunately, from what I can tell the source code to the AdrBubbleBooter is lost media. I was hoping to take a look at it and see if I could spot anything (despite having limited experience looking at PSVita/PSP code). Alas, I ended up simply installing Adrenaline 8.0.2 and consequentially overwriting the plugins from ABM. One check I didn't perform, that I'm still somewhat curious about, I'm not sure if the problem would manifest after launching Adrenaline twice with a disabled plugin (i.e., the kernel module is disabled in config.txt but Adrenaline has done whatever it does when launched the first time without the module, presumably, insert the module at runtime). But for now, I've accepted my Bubble-less life. That said, I might make a fork of Adrenaline because I hate having to press the PS Button twice to return to the live area. Who's bright idea was it to not make that a setting? That said, it seems the build instructions for Adrenaline are out-of-date, because when I tried building it for myself following the directions on the readme it didn't work and I didn't feel like debugging someone else's build system today.


Anyways just a short little post about this, I've found that Vita troubleshooting discourse online isn't exactly helpful (though this error code is quite vague), so I hope this can help someone out there. I don't have much social media so this is the easiest way for me to share what I've learned.

Update 2: I actually did end up feeling like debugging someone else's build system: my fork of Adrenaline v8.0.2


back    home