Giter Site home page Giter Site logo

teamfaps / psvita-storagemgr Goto Github PK

View Code? Open in Web Editor NEW
385.0 385.0 40.0 109 KB

kernel plugin that automatically mounts/redirects any storage device on any mount points you want

License: GNU General Public License v3.0

CMake 2.35% C 97.02% Shell 0.63%

psvita-storagemgr's People

Contributors

gabypcgeek avatar gnuton avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

psvita-storagemgr's Issues

[3.0][3.67][PCH-10xx][GCD=ux0 only][sleep mode] Random wake ups, wifi disabled

Hi.

Thanks a lot for your hard work and a new release. However I still experience random wake ups (PS button lights up - screen stays black - and after a minute of so - PS button flashes couple of times and Vita goes back to sleep) in my PS Vita 1000 model.

Attached are storage_config and storagemgr_log files - https://www.dropbox.com/sh/yb2zubqpoa1npbx/AABYkrB2pAAuWJtux2zuLjg0a?dl=0

My understanding (looking at log file records at the end) is that Vita wakes up randomly to check PS memory card.

Could you please have a look and suggest if this can be fixed maybe in next release?

[PCH-11xx][PSVSD] Automatically disable 3G modem missing annoying popup

Installing this alone does not disable the 3G modem popup that occurs when the vita detects that the 3G modem is missing.

However, running the usbmc installer, and then going in and removing the added usbmc line entry from config.txt removes the 3G functionality and disables the annoying popup.

You aren't appreciated enough

I see you getting way too much flak and not enough props for all the great work you've done(such as this plugin!) So Thanks!!! You're a rock star of the vita Homebrew scene!

[3.0][3.68 h-encore][3.65 enso][GCD=ux0][sd2vita microSD >= 64GB][sleep mode] On resume, "Memory card removed. Data might be corrupted" Need reboot.

Hi,

First, thank you all for the great job !

However I still have an issue when return from suspend mode : each time it gives an error message saying that the memory card has been removed and that data may be corrupted. Just have the possiblity to restart.

When restarted, everything is ok, but the suspend mode cannot be used.

I have tested with 2 SD2VITA adapters, two different memory cards (both sandisk, 64 and 128 gb), different formatting allocation size (default, 32 kb, always in exfat).

PSvita slim, 3.65 enso. In ur0:tai/storage_config.txt :
MCD=uma0
INT=imc0
GCD=ux0

Enclosed is the log file.

storagemgr_log.txt

Thanks for help !

Use with no memory card?

I'm going to guess this is a yes, but I can use everything normally without a vita memory card (only the sd2vita) once installing this, correct?

Ps vita wakes up in sleep mode

After a couple of minutes of my vita being in sleep mode it randomly wakes up and then it goes off again, this repeats every 5-10 minutes

No new mountpoint - I don't know if my sd2vita card work.

I have a psvita 1004 with henkaku in 3.65

I have this log:

# storage_config.txt
MCD=uma0
INT=imc0
GCD=ux0
# storage_log.txt
StorageMgrKernel v3.0 started.
system_sw_version: 03650000
Installing SceSblSsMgr hook...
tm0 : tm0:
exfattm0
sdstor0:int-lp-ign-vtrm
(null)
00000500

ur0 : ur0:
exfatur0
sdstor0:int-lp-ign-user
(null)
00000600

ux0 : ux0:
exfatux0
sdstor0:xmc-lp-ign-userext
(null)
00000800

gro0 : gro0:
exfatgro0
sdstor0:gcd-lp-ign-gamero
(null)
00000900

grw0 : grw0:
exfatgrw0
sdstor0:gcd-lp-ign-gamerw
(null)
00000A00

imc0 : imc0:
exfatimc0
sdstor0:int-lp-ign-userext
(null)
00000D00

xmc0 : xmc0:
exfatxmc0
sdstor0:xmc-lp-ign-userext
(null)
00000E00

uma0 : uma0:
exfatuma0
sdstor0:uma-pp-act-a
sdstor0:uma-lp-act-entire
00000F00

mount point id : 0x0800
Reading current device blkdev for mount point 0x800 :
sdstor0:xmc-lp-ign-userext
current blkdev : sdstor0:xmc-lp-ign-userext (null)
Is ux0: redirected : 0
ux0: current device : sdstor0:xmc-lp-ign-userext (null)
Reading config...
Checking if UMA is in config.
Reading config...
Reading config...
Line of size 8 : MCD=uma0
Reading config...
Line of size 8 : INT=imc0
Reading config...
Line of size 7 : GCD=ux0
Checking if GCD is in config.
Reading config...
Reading config...
Line of size 8 : MCD=uma0
Reading config...
Line of size 8 : INT=imc0
Reading config...
Line of size 7 : GCD=ux0
Checking if MCD is in config.
Reading config...
Reading config...
Line of size 8 : MCD=uma0
Checking if INT is in config.
Reading config...
Reading config...
Line of size 8 : MCD=uma0
Reading config...
Line of size 8 : INT=imc0
No UMA config found.
GCD config found at line 2.
GC2SD detection...
GC2SD not detected.
Reading mount point for line 2...
Reading config...
Line of size 7 : GCD=ux0
Line length : 7.
Not read string length (device string) : 4.
Current line mount point of string length 3 : ux0
INT config found at line 1.
Internal storage detection...
Internal storage not detected.
MCD config found at line 0.
MCD detection...
MCD detected.
Reading mount point for line 0...
Reading config...
Line of size 8 : MCD=uma0
Line length : 8.
Not read string length (device string) : 4.
Current line mount point of string length 4 : uma0
mount is now : sdstor0:xmc-lp-ign-userext
mount point id : 0x0800
Reading current device blkdev for mount point 0x800 :
sdstor0:xmc-lp-ign-userext
current blkdev : sdstor0:xmc-lp-ign-userext (null)
Is ux0: redirected : 0
ux0: current device : sdstor0:xmc-lp-ign-userext (null)
mount point id : 0x0A00
Reading current device blkdev for mount point 0xA00 :
sdstor0:gcd-lp-ign-gamerw
current blkdev : sdstor0:gcd-lp-ign-gamerw (null)
Is grw0: redirected : 0
grw0: current device : sdstor0:gcd-lp-ign-gamerw (null)
mount point id : 0x0F00
Reading current device blkdev for mount point 0xF00 :
sdstor0:xmc-lp-ign-userext
current blkdev : sdstor0:xmc-lp-ign-userext (null)
Is uma0: redirected : 1
uma0: current device : sdstor0:xmc-lp-ign-userext (null)
StorageMgrKernel finished starting with success.
uma0: remounting failed. Aborting after 5s.

It seem that with this line :

GCD config found at line 2.
GC2SD detection...
GC2SD not detected.

my sd card doesn't seem detected ...
Thanks for your help

[3.0][GCD=ux0]When using sd2vita, sceIoMkdir becomes very slow

I have made some tests on sceIoMkdir and I get the following results:

  • sceIoOpen("ux0:somefile", SCE_O_CREAT|SCE_O_WRONLY) with or without sd2vita => 2ms
  • sceIoMkdir("ux0:data", 06) or any folder that already exists => 2ms
  • sceIoMkdir("ur0:test", 06) => 40ms
  • sceIoMkdir("ux0:test", 06) without sd2vita and StorageMgr or gamesd => 40ms
  • sceIoMkdir("ux0:test", 06) with sd2vita and StorageMgr or gamesd => 250 ms or more

This issue causes massive download speed drops in pkgj for games that contains hundreds of folders and eventually lead to a download failure due to HTTP timeout. I am also wondering if these 250ms aren't spent doing a FS sync to the sdcard which may wear it out sooner than necessary.

I tried a couple things (on the gamesd plugin, not this one, they are similar though). Replacing

static SceIoDevice uma_ux0_dev = { "ux0:", "exfatux0", "sdstor0:gcd-lp-ign-entire", "sdstor0:gcd-lp-ign-entire", MOUNT_POINT_ID };

with

static SceIoDevice uma_ux0_dev = { "ux0:", "exfatux0", "sdstor0:gcd-lp-ign-entire", NULL, MOUNT_POINT_ID };

Because that's what the structure looks like before being replaced. It did not help.

I also tried using sdstor0:gcd-lp-act-entire because that's a string that appears in the exfat kernel module.

Here is the small c++ snippet I used to benchmark mkdir:

void testmkdir(char const* path, int mode)
{
    sceIoRmdir(path);
    auto const start = std::chrono::high_resolution_clock::now();
    int err = sceIoMkdir(path, mode);
    auto const end = std::chrono::high_resolution_clock::now();
    auto const total =
            std::chrono::duration_cast<std::chrono::milliseconds>(end - start)
                    .count();

    if (err < 0)
        LOGF("sceIoMkdir({}, {:x}) time: {} failed: {:#08x}",
             path,
             mode,
             total,
             static_cast<uint32_t>(err));
    else
        LOGF("sceIoMkdir({}, {:x}) time: {} success", path, mode, total);
}

PSVSD issues with h-encore

After installing StorageMgr onto my 1101 Vita (3.68 + h-encore) using the PSVSD adaptor (SphereSolid version), h-encore seemed to crash during exit without actually turning the system off. I then received a message stating "Device is not supported" and neither my SD card (128GB) or my memory card (64 GB) were recognized by the Vita. This also gave every app installed a "File Corrupt" error when attempting to load them. (h-encore and VitaShell included). Reinstalling taiHen's config from h-encore solves the problem. Log

[ur0] Doesn't support ur0:

if you set anything to be used as ur0: the vita will not boot so you have to hold L trigger while booting and change it
should be a thing that checks for partition names that are not supported and doesnt load the invalid ones

partition issues? (partition ID)

according to the wiki these are the partitions
some are different than here
i dont know if they cause any problems so ill just point this out

sd0 0x1?
os0 0x3
vs0 0x4
vd0 0x5
tm0 0x6
ur0 0x7
ux0 0x8
gro0 0x9
grw0 0xA
ud0 0xB
sa0 0xC
pd0 0xE

Lockscreen Temporary Unresponsive

After clicking the power button, the LCD is still off for a few seconds. Then once the LCD turns on you can't unlock for a few more seconds. After waiting a bit everything is okay.
After a little more testing, it seems to only happen after a reboot.


System Specs:

- Vita 1000 (v3.65)
- 8gb Official Memory Card (working)
- HENkaku Ensō

storage_config.txt Config:

MCD=uma0
GCD=ux0

storagemgr_logs.txt Log:

StorageMgrKernel started.
system_sw_version: 03650000
Installing SceSblSsMgr hook...
tm0 : tm0:
exfattm0
sdstor0:int-lp-ign-vtrm
(null)
00000500

ur0 : ur0:
exfatur0
sdstor0:int-lp-ign-user
(null)
00000600

ux0 : ux0:
exfatux0
sdstor0:xmc-lp-ign-userext
(null)
00000800

gro0 : gro0:
exfatgro0
sdstor0:gcd-lp-ign-gamero
(null)
00000900

grw0 : grw0:
exfatgrw0
sdstor0:gcd-lp-ign-gamerw
(null)
00000A00

imc0 : imc0:
exfatimc0
sdstor0:int-lp-ign-userext
(null)
00000D00

xmc0 : xmc0:
exfatxmc0
sdstor0:xmc-lp-ign-userext
(null)
00000E00

uma0 : uma0:
exfatuma0
sdstor0:uma-pp-act-a
sdstor0:uma-lp-act-entire
00000F00

mount point id : 0x0800
Reading current device blkdev for mount point 0x800 :
sdstor0:xmc-lp-ign-userext
current blkdev : sdstor0:xmc-lp-ign-userext (null)
Is ux0: redirected : 0
ux0: current device : sdstor0:xmc-lp-ign-userext (null)
Reading config...
Config entries : 2.
Checking if UMA is in config.
Reading config...
Reading line...
Reading config...
Reading line 0 with padding 0...
Line of size 8 : MCD=uma0
Current line device of string length 3 : MCD
Reading line...
Reading config...
Reading line 1 with padding 9...
Line of size 7 : GCD=ux0
Current line device of string length 3 : GCD
Checking if GCD is in config.
Reading config...
Reading line...
Reading config...
Reading line 0 with padding 0...
Line of size 8 : MCD=uma0
Current line device of string length 3 : MCD
Reading line...
Reading config...
Reading line 1 with padding 9...
Line of size 7 : GCD=ux0
Current line device of string length 3 : GCD
Checking if MCD is in config.
Reading config...
Reading line...
Reading config...
Reading line 0 with padding 0...
Line of size 8 : MCD=uma0
Current line device of string length 3 : MCD
Checking if INT is in config.
Reading config...
Reading line...
Reading config...
Reading line 0 with padding 0...
Line of size 8 : MCD=uma0
Current line device of string length 3 : MCD
Reading line...
Reading config...
Reading line 1 with padding 9...
Line of size 7 : GCD=ux0
Current line device of string length 3 : GCD
No UMA config found.
GCD config found at line 1.
GC2SD detection...
GC2SD detected.
Reading mount point for line 1...
Reading line...
Reading config...
Reading line 1 with padding 9...
Line of size 7 : GCD=ux0
Line length : 7.
Not read string length (device string) : 4.
Current line mount point of string length 3 : ux0
mount is now : sdstor0:gcd-lp-ign-entire
No INT config found.
MCD config found at line 0.
MCD detection...
MCD detected.
Reading mount point for line 0...
Reading line...
Reading config...
Reading line 0 with padding 0...
Line of size 8 : MCD=uma0
Line length : 8.
Not read string length (device string) : 4.
Current line mount point of string length 4 : uma0
mount is now : sdstor0:xmc-lp-ign-userext
mount point id : 0x0800
Reading current device blkdev for mount point 0x800 :
sdstor0:gcd-lp-ign-entire
current blkdev : sdstor0:gcd-lp-ign-entire (null)
Is ux0: redirected : 1
ux0: current device : sdstor0:gcd-lp-ign-entire (null)
mount point id : 0x0A00
Reading current device blkdev for mount point 0xA00 :
sdstor0:gcd-lp-ign-gamerw
current blkdev : sdstor0:gcd-lp-ign-gamerw (null)
Is grw0: redirected : 0
grw0: current device : sdstor0:gcd-lp-ign-gamerw (null)
mount point id : 0x0F00
Reading current device blkdev for mount point 0xF00 :
sdstor0:xmc-lp-ign-userext
current blkdev : sdstor0:xmc-lp-ign-userext (null)
Is uma0: redirected : 1
uma0: current device : sdstor0:xmc-lp-ign-userext (null)
StorageMgrKernel finished starting with success.
uma0: remounting failed. Aborting after 5s.
uma0: remounting failed. Aborting after 5s.
uma0: remounting failed. Aborting after 5s.
uma0: remounting failed. Aborting after 5s.
uma0: remounting failed. Aborting after 5s.
uma0: remounting failed. Aborting after 5s.
uma0: remounting failed. Aborting after 5s.
uma0: remounting failed. Aborting after 5s.
uma0: remounting failed. Aborting after 5s.

Missing Apps

I got an sd card after buying a sd2vita, and after getting this set up and working things worked. Then I rebooted after a live refresh. And now all my games and dlc are gone. As if they didn't exist. The space is still used on the sd card but the folders are just empty. Loaded up on pc on 3 different micro sd readers and all have the files just gone
Any idea or help would be great.
Also. Got an error 80070570 File or directory is corrupt
Err. just in case its needed. Phat vita with 3.65 enso. 64gb microsdcard

[GCD=ux0] Vita shuts down from sleep

my psvita slim running with sd2vita is shutting down from sleep whenever i enable storagemgr plugin, issue doesnt occur when storagemgr is disabled.
my plugins
nonpdrm
taihen
henkaku

music does not work

h-encore ps vita 3.68 when installing plugin storagemgr.skprx music does not work. I can export music to music app, but when I try to play it there, there is always an error appeared.

[3.0][3.68][GCD=ux0 or GCD=uma0][boot time] Boot time takes noticeably longer with v3.0 compared to gamesd by xyz

With the latest version (v3.0), when restarting or powering on Vita, the boot time is now considerably longer compared to using previous versions of storagemgr or having the plugin disabled. Upon boot, vita hangs on the henkaku/enso logo for about 5-10 seconds longer.

Not a big issue, difference is only a few seconds, just like to point this out in case it could be fixed.

By the way, thank you for your hard work on v3.0 and fixing all the other issues!

PSTV issues with sd2vita adapter

I have an sd2vita adapter that works perfectly fine with StorageMgr on my Vita-1000 but with the same setup I can't get it to work at all on my PSTV. On the TV I have it setup where the internal memory card should mount as uma0 and the sd2vita should mount as ux0 but if the sd2vita adapter is inserted, the TV see no memory cards at all.

The sd card is setup properly as I can use it with my Vita-1000.

[3.0][3.68][GCD=ux0][sleep mode] auto wake up (black screen but blue light glowing)

It doesn't turn on completely, the screen stays dark, but the blue light continues to glow until I exit and re-initiate sleep mode. I'm on FW 3.68, have an sd2vita mounted as ux and the only plug-ins I use are henkaku, homebrew browser, storagemgr, adrenaline and adrenaline bubbles (although the problem existed before I installed the latter two).

H-encore 3.68 pstv

I got a h-encore pstv on 3.68 i moved on 3.65 enso so i could games that require 3.68 i need some help my h-encore crashes and says file is corrupted and also my usb is not mounting as my memory card like other people what am i doing thats so different?

[3.0][3.60 enso][PCH-1xxx][GCD=ux0, MCD=uma0][sleep mode] sd2vita and memory card unmount after sleeping for longer time. Need reboot.

I'm mounting the sd2vita on ux0 and the mem card on uma0. (on a Vita OLED)
The sd card is 64gb and the mem card is 8gb.

Like the title says after having my Vita in sleep mode for longer time both cards stop working.
The game or program will still work until i want to save or it needs to load something.
And if i get out and try to launch an app the Vita will throw error codes.

I'm sure that the SD2Vita unmounts but i also believe the mem card does since psp games on uma0 won't work either.

Only unplugging and plugging the SD2Vita again with a few restarts fixes this issue until it happens again.

Not working on 3.65 ?

Just updated to 3.65 Henkaku.

I deleted the ux0:tai/config.txt file, edit the ur0:tai/config.txt added below Kernel to use ur0:tai/storagemgr.skprx restarted device and my PSVSD is not recognized. I'm using the default storage_config.txt

# For users plugins, you must refresh taiHEN from HENkaku Settings for
# changes to take place.
# For kernel plugins, you must reboot for changes to take place.
*KERNEL
ur0:tai/storagemgr.skprx
# henkaku.skprx is hard-coded to load and is not listed here
*main
# main is a special titleid for SceShell

Support multiple partitions/greater than 2TB

Hi @CelesteBlue-dev

Great work on the storage manager :)

Is it possible to support partitions larger than 2TB, or if you could use multiple partitions via:

  • Multiple USB HDD

  • Larger 2-4TB USB HDD with 2 or more partitions

The current 2TB hard drive (ExFat) im using only for the PSTV seems to be maxed out when i check on the PSTV both using content manager or Vita Shell v1.97 - even though MacOS says the ExFat drive is only using 180GB of data? (meaning 1.52TB of free space?)

Using PSVita v3.65 with v3 storagemgr.skprx

I have a 4TB external USB HDD that i could use to test, or use 2 partitions, just need a way for the storage manager to support it

Thanks :)

[3.68 MCD=uma0] disappears after suspend

Mostly happens when the system is in sleep mode. When waking the system, uma0 will simply be gone. Also, how do I get rid of the system check for the SIM card board?

Firmware: 3.68
Ux0: 128 GB micro SD w/ SpheresSolid PSVSD adaptor
Uma0: Standard Vita memory card (64GB)

[Request] Add fallbacks to mounting points

It is better for the plugin to have fallbacks for mounting points to handle complex configurations.

For example, a user may want to mount GCD (SD2VITA) to ux0, but if mounting fails (bad or no Micro SD card is installed), the plugin may automatically mount Vita memory card (and if neither works, internal storage) to ux0, allowing the device to boot properly.

A possible strategy for the plugin is to parse each line in order and mount only when both the device and the mounting point are available, otherwise do nothing.

The config file may look like:

GCD=ux0
MCD=ux0
INT=ux0
UMA=uma0

Another example is for a PS TV to attempt to mount USB Drive as ux0 and memory card if there are none. If a USB drive is mounted and the memory card is idle, then mount it to xmc0.

UMA=ux0
MCD=ux0
MCD=xmc0
INT=imc0
GCD=grw0

I think this will be helpful to prevent the system being rendered unusable by a single storage failure and provide more configuration options to user.

psvita shutting down from sleep

my psvita slim running with sd2vita is shutting down from sleep whenever i enable storagemgr plugin, issue doesnt occur when storagemgr is disabled.
my plugins
nonpdrm
taihen
henkaku

uma0 still fails to remount after Vita goes into sleep mode

I'm currently using:

  • Vita 2000 model
  • 32GB Sandisk Ultra microsd card
  • 64GB Sony memory card
  • storagemgr v2.1

This seems to happen randomly whenever I leave my vita on sleep after a while. The only soft fix for this is to restart the Vita. Also I like to add that the issue where the vita would randomly wake up to the lockscreen during its sleep is still present as of storagemgr version 2.1

@CelesteBlue-dev , It also seems like you've been asking this on other issues but yes I do have a Sony memory card inserted as I use it with my sd2vita as well.

Storagemgr is configured as:

MCD = ux0
INT = imc0
GCD = uma0
(no UMA line as I do not use it)

Here is the log file:
storagemgr_log.txt

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.