diff --git a/modules/usbdevice/main.c b/modules/usbdevice/main.c
index 5ebdf483..48b507b3 100644
--- a/modules/usbdevice/main.c
+++ b/modules/usbdevice/main.c
@@ -27,7 +27,7 @@
static tai_hook_ref_t ksceIoOpenRef;
static tai_hook_ref_t ksceIoReadRef;
-static SceUID hooks[3];
+static SceUID hooks[4];
static int first = 1;
@@ -74,19 +74,25 @@ int module_start(SceSize args, void *argp) {
memset(zero, 0, 0x6E);
hooks[0] = taiInjectDataForKernel(KERNEL_PID, info.modid, 0, 0x1738, zero, 0x6E);
+ // Remove sector size check
+ hooks[1] = taiInjectDataForKernel(KERNEL_PID, info.modid, 0, 0x372, zero, 0x4);
+
// Add patches to support exFAT
- hooks[1] = taiHookFunctionImportForKernel(KERNEL_PID, &ksceIoOpenRef, "SceUsbstorVStorDriver", 0x40FD29C7, 0x75192972, ksceIoOpenPatched);
- hooks[2] = taiHookFunctionImportForKernel(KERNEL_PID, &ksceIoReadRef, "SceUsbstorVStorDriver", 0x40FD29C7, 0xE17EFC03, ksceIoReadPatched);
+ hooks[2] = taiHookFunctionImportForKernel(KERNEL_PID, &ksceIoOpenRef, "SceUsbstorVStorDriver", 0x40FD29C7, 0x75192972, ksceIoOpenPatched);
+ hooks[3] = taiHookFunctionImportForKernel(KERNEL_PID, &ksceIoReadRef, "SceUsbstorVStorDriver", 0x40FD29C7, 0xE17EFC03, ksceIoReadPatched);
return SCE_KERNEL_START_SUCCESS;
}
int module_stop(SceSize args, void *argp) {
+ if (hooks[3] >= 0)
+ taiHookReleaseForKernel(hooks[3], ksceIoReadRef);
+
if (hooks[2] >= 0)
- taiHookReleaseForKernel(hooks[2], ksceIoReadRef);
+ taiHookReleaseForKernel(hooks[2], ksceIoOpenRef);
if (hooks[1] >= 0)
- taiHookReleaseForKernel(hooks[1], ksceIoOpenRef);
+ taiInjectReleaseForKernel(hooks[1]);
if (hooks[0] >= 0)
taiInjectReleaseForKernel(hooks[0]);
diff --git a/resources/changeinfo.txt b/resources/changeinfo.txt
index ed6473e0..b3fe383e 100644
--- a/resources/changeinfo.txt
+++ b/resources/changeinfo.txt
@@ -277,4 +277,11 @@
- PS TV will now always open FTP when pressing SELECT.
]]>
+
+
+- Fixed bug where uma0: options were grayed out on non PS TV models.
+- Fixed bug where the QR code scanner showed the result twice.
+ ]]>
+
diff --git a/resources/usbdevice.skprx b/resources/usbdevice.skprx
index 0acd64ed..8e272d72 100644
Binary files a/resources/usbdevice.skprx and b/resources/usbdevice.skprx differ