• PS3HEN is now supporting 4.93 Firmware

    View Official Release Post for additional information HERE

PS3HEN [Support Thread] PS3HEN Bugs, Problems, and Other Issues

this is after hen installed and you rebooted, using both official hfw and hen?

If so, you can post screenshots, or also try new user profile or reset settings. There shouldnt be any weird artifacts on xmb, unless sony broke something else lol
these are screen shot the notification box is stretched and the letters written on it that user 1 signed in is not written
IMG_20220603_174252425_HDR.jpg
IMG_20220603_174252425_HDR.jpg

these are images plz help me fix this this issue comes after instaling hfw 4.89 and hen 3.1.1
IMG_20220603_174252425_HDR.jpg


how can i attach screen shots on this when i try to upload it says uploads not available
 
Last edited by a moderator:
I brought a new ps3 (console Super slim CECH4004C GA) never modded before... I update first 4.89 OFW.. Then new HFW & new hen 3.1.1 (download link took here - hen via ps3 browser PS3Xploit site).
Double HFW installation before to install hen ( via USB storage in xmb first, recovery then). I always made this proceedings with every ps3 i have owned...

I want to report an incredible increase of console freezes .. it happens immediatly after enabling hen... with an external drive plugged in! it happened with usb fat32 and ntfs drive.. So , i said.. With a drive plugged in, 50-70% after enabling hen, ps3 freezes. And if does not freeze, refreshing xml (L3+select - webman shortcut), then freezes (100%). My other ps3 slim 2504B have the same problems (it happens fewer times but it happens)...
Premise: Freeze problems appeared before installing webman . I think It's not webman problem of course...

I thought: It's my hard disks or hdd case or my usb flash drive .. I tried other hdd & other usb drive.. Same problems... i don't understand...

So... it was time to test my personal dear ps3 4004A... This console runs with HFW 4.88 - hen 3.0.3 (internet disabled at the moment to remain with this Perfect running version)... Webman 1.47.36 with dev_ntfs flag checked and PREPISO1.28 installed at the same time. (they never give me a problem).

With my personal ps3 with old HFW, old hen and old homebrews... No issues...
and most important... No freezes with the same external hard drives that freeze on the other 2 console with new hen..

Do you have some advise & help to give me?
Somethings i'm ignoring?

thank you

EDIT: disabling dev_ntfs in webman, ps3 DOESN'T freeze anymore.
(using and running prepiso1.30, i can scan NTFS drives).
But if i checked dev_ntfs (with or without prepiso installed), i got freezes every time i refresh xml...​
 
I brought a new ps3 (console Super slim CECH4004C GA) never modded before... I update first 4.89 OFW.. Then new HFW & new hen 3.1.1 (download link took here - hen via ps3 browser PS3Xploit site).
Double HFW installation before to install hen ( via USB storage in xmb first, recovery then). I always made this proceedings with every ps3 i have owned...

I want to report an incredible increase of console freezes .. it happens immediatly after enabling hen... with an external drive plugged in! it happened with usb fat32 and ntfs drive.. So , i said.. With a drive plugged in, 50-70% after enabling hen, ps3 freezes. And if does not freeze, refreshing xml (L3+select - webman shortcut), then freezes (100%). My other ps3 slim 2504B have the same problems (it happens fewer times but it happens)...
Premise: Freeze problems appeared before installing webman . I think It's not webman problem of course...

I thought: It's my hard disks or hdd case or my usb flash drive .. I tried other hdd & other usb drive.. Same problems... i don't understand...

So... it was time to test my personal dear ps3 4004A... This console runs with HFW 4.88 - hen 3.0.3 (internet disabled at the moment to remain with this Perfect running version)... Webman 1.47.36 with dev_ntfs flag checked and PREPISO1.28 installed at the same time. (they never give me a problem).

With my personal ps3 with old HFW, old hen and old homebrews... No issues...
and most important... No freezes with the same external hard drives that freeze on the other 2 console with new hen..

Do you have some advise & help to give me?
Somethings i'm ignoring?

thank you

EDIT: disabling dev_ntfs in webman, ps3 DOESN'T freeze anymore.
(using and running prepiso1.30, i can scan NTFS drives).
But if i checked dev_ntfs (with or without prepiso installed), i got freezes every time i refresh xml...​
just curious. what version webman mod were u using on HFW4.89 update?
 
just curious. what version webman mod were u using on HFW4.89 update?

webman 1.47.41... but i have same problem with old perfect workin version .36 that i used nowaday on my personal ps3...
now, after reinstalled hfw&hen, i'll try to use the .40 version ... i'm making a lot of attempts to solve this issue... and i want to understand if it's webman fault or not....
 
I brought a new ps3 (console Super slim CECH4004C GA) never modded before... I update first 4.89 OFW.. Then new HFW & new hen 3.1.1 (download link took here - hen via ps3 browser PS3Xploit site).
Double HFW installation before to install hen ( via USB storage in xmb first, recovery then). I always made this proceedings with every ps3 i have owned...

I want to report an incredible increase of console freezes .. it happens immediatly after enabling hen... with an external drive plugged in! it happened with usb fat32 and ntfs drive.. So , i said.. With a drive plugged in, 50-70% after enabling hen, ps3 freezes. And if does not freeze, refreshing xml (L3+select - webman shortcut), then freezes (100%). My other ps3 slim 2504B have the same problems (it happens fewer times but it happens)...
Premise: Freeze problems appeared before installing webman . I think It's not webman problem of course...

I thought: It's my hard disks or hdd case or my usb flash drive .. I tried other hdd & other usb drive.. Same problems... i don't understand...

So... it was time to test my personal dear ps3 4004A... This console runs with HFW 4.88 - hen 3.0.3 (internet disabled at the moment to remain with this Perfect running version)... Webman 1.47.36 with dev_ntfs flag checked and PREPISO1.28 installed at the same time. (they never give me a problem).

With my personal ps3 with old HFW, old hen and old homebrews... No issues...
and most important... No freezes with the same external hard drives that freeze on the other 2 console with new hen..

Do you have some advise & help to give me?
Somethings i'm ignoring?

thank you

EDIT: disabling dev_ntfs in webman, ps3 DOESN'T freeze anymore.
(using and running prepiso1.30, i can scan NTFS drives).
But if i checked dev_ntfs (with or without prepiso installed), i got freezes every time i refresh xml...​
Are you able to post a dump of your directory structure, or are these "clean" drives? And also make and model of flash drive, if possible, So we can try testing that.

EDIT: are you able to test that or those USB drives freshly formatted? If so, can you try fat16, fat32, ntfs, and exfat?

EDIT2: you can also use the debug version of HEN and post a socat log here. It would be helpful, or we could add some debug output to help track down the problem.
 
Are you able to post a dump of your directory structure, or are these "clean" drives? And also make and model of flash drive, if possible, So we can try testing that.

EDIT: are you able to test that or those USB drives freshly formatted? If so, can you try fat16, fat32, ntfs, and exfat?

EDIT2: you can also use the debug version of HEN and post a socat log here. It would be helpful, or we could add some debug output to help track down the problem.

sorry , what do you mean for "post a dump of your directory structure"??? do you want to see the contents of entire drive? (i'm a non-native english.. i can't understand some of the terms you use).

models:
- - - SanDisk U3 Cruzer Micro USB Device 16 gb 2.0 in fat32 https://www.amazon.it/SanDisk-Cruzer-PenDrive-Confezione-originale/dp/B000PD4H38
- - - SanDisk 3.2Gen1 128 gb 3.2 in ntfs https://www.amazon.it/dp/B00P8XQPY4?ref_=cm_sw_r_cp_ud_dp_PNR99FXPEAM2XF15C9JZ
some various hdd used in hdd case Sabrent ‎EC-UASP . https://www.amazon.it/dp/B00OJ3UJ2S?ref_=cm_sw_r_cp_ud_dp_TMM32J0SRA31MTQFH7VJ
One of them is Hitachi HTS542516K9SA00 160,0 GB 5400rpm... this hdd born in a ps3 slim 160 gb model.

anyway... all this hard drives always worked perfectly before 4.89...

i solved when i installed webman .40 version instead .41. ... - in my case - seems a webman issue... webman internal prepntfs seems having a problem to scan.. and this causes the freezes... prepiso1.30 scan perfectly after launching...

Immaginenv.png Immaginee.png Immagineeg.png
 
Last edited:
i solved when i installed webman .40 version instead .41. ... - in my case - seems a webman issue... webman internal prepntfs seems having a problem to scan.. and this causes the freezes... prepiso1.30 scan perfectly after launching...

I can confirm this is a bug in webManMod. Issue is resolved by using prepiso instead of webMans built in prepntfs.
 
I cant connect to my FileZilla since HEN 3.1.1 Update, is there any fix for it?
this has nothing to do with HEN. Make sure your network is setup properly. If you are using WebManMod, it should work after HEN enable, and other homebrew should work fine with FTP. I have not had any problems with any of them.
 
@esc0rtd3w FYI If you want to test it.
https://www.psx-place.com/posts/336363

The changes include:
- Includes PR by xfrcc
- Increased map paths to 32
- Added option to prevent delete remaps if destination path starts with /./
- Added support for custom subchannel data via LSD files
- PSX BIOS patched with product code 0x85 for PAL games
- Option to force PAL or NTSC including the word in the file name
- Changes to HEN plugin attempting to make it unload properly
 
Last edited:
this has nothing to do with HEN. Make sure your network is setup properly. If you are using WebManMod, it should work after HEN enable, and other homebrew should work fine with FTP. I have not had any problems with any of them.
Damn really? Bro can you let me know your discord? I can screenshare my PS3 with my capture card so you could help me out? I would gladly appreciate that!!
 
@esc0rtd3w FYI If you want to test it.
https://www.psx-place.com/posts/336363

The changes include:
- Includes PR by xfrcc
- Increased map paths to 32
- Added option to prevent delete remaps if destination path starts with /./
- Added support for custom subchannel data via LSD files
- PSX BIOS patched with product code 0x85 for PAL games
- Option to force PAL or NTSC including the word in the file name
- Changes to HEN plugin attempting to make it unload properly
thanks. I merged your changes locally, except the map_path ones, as @bguerville has rewrote much of the code. So far, i have no issues, but will soon post a new build for testing. Oh, i also commented out the browser clear cache, at least for now until it seems to be actually needed. The only part i have a small issue with is the removal of history.xml, as i use that lol. I think being added as a xai option probably better, in the long run.
 
@aldostools
@Evilnat

Do you guys know whether or not there was a specific reason for using a slot system for map_path in Cobra/Mamba/HEN?
You are probably the only people left standing who might have answers for me at this stage. [emoji6]

I have made a number of changes to the code, added a mutex, replaced the preallocated array of Mapentry structs by a linked list of Mapentry dynamically allocated/deallocated, I am now considering removing the maximum threshold of mappings.
I removed the slot system altogether for the time being, hence my question above, just in case I am missing something and the slots are somehow important enough to be kept.
The only thing I could think of was that the slots might have been used for prioritizing mappings when a path could fit more than one mapping, for instance if folder mappings are involved, speaking of which, are folder mappings actually supposed to be supported by the map_path syscall? Quite frankly, the original code does not seem solid enough to support that kinda stuff properly.

If I don't reintroduce the slot system, I will probably have to implement alternate map_path/get_map_path syscall 8 subcommands, to ensure there's no issue with legacy homebrew that may be using that stuff. Feel free to make suggestions if you have any.
 
Last edited:
@aldostools
@Evilnat

Do you guys know whether or not there was a specific reason for using a slot system for map_path in Cobra/Mamba/HEN?
You are probably the only people left standing who might have answers for me at this stage. [emoji6]

I have made a number of changes to the code, added a mutex, replaced the preallocated array of Mapentry structs by a linked list of Mapentry dynamically allocated/deallocated, I am now considering removing the maximum threshold of mappings.
I removed the slot system altogether for the time being, hence my question above, just in case I am missing something and the slots are somehow important enough to be kept.
The only thing I could think of was that the slots might have been used for prioritizing mappings when a path could fit more than one mapping, for instance if folder mappings are involved, speaking of which, are folder mappings actually supposed to be supported by the map_path syscall? Quite frankly, the original code does not seem solid enough to support that kinda stuff properly.

If I don't reintroduce the slot system, I will probably have to implement alternate map_path/get_map_path syscall 8 subcommands, to ensure there's no issue with legacy homebrew that may be using that stuff. Feel free to make suggestions if you have any.

As far as I know, there is not documentation about why map_path was coded that way.

My guess is because the payload needed a vector with the list of mapped paths to compare the them in the open_path_hook and in sys_aio_copy_root.

The vector provides an easy way to know which paths were mapped, so they can be removed easily if you need a clean system.

Also the main purpose was mapping game paths (e.g. folder games) and maybe a couple of files. So 16 slots was more than enough.
Lately map_paths has gained relevance because it's now used for modding, redirection of system files, mount games and many other applications.

The original code was very basic (add, remove, remove all, and path redirection in open_path_hook or sys_aio_copy_root).
Now it has more features like homebrew block, rif activation, re-enable syscalls, shadow paths redirection, locked mappings, etc.

To allow more applications, the slots were increased to 32.
Also there were changes in the scanning algorithm to make is more efficient, and reduce the loops and string handling.

I also added get_map_path() and an opcode to access it to have a way to get information of the current mappings.
However I think that function needs to be reviewed. The last time I tried to use it I couldn't get the proper information.

One of the main issues that I found is mapping/unmapping subfolders when the parent path is already mapped.
e.g. mapping/unmapping /app_path/PS3_GAME when /app_path is already mapped.
Depending the order in which they were mapped, the path of /app_path/PS3_GAME can be different.

Also mapping between /app_home and /dev_bdvd doesn't work, and some mappings to /dev_flash fail or cause a system panic.
 
As far as I know, there is not documentation about why map_path was coded that way.

My guess is because the payload needed a vector with the list of mapped paths to compare the them in the open_path_hook and in sys_aio_copy_root.

The vector provides an easy way to know which paths were mapped, so they can be removed easily if you need a clean system.

Also the main purpose was mapping game paths (e.g. folder games) and maybe a couple of files. So 16 slots was more than enough.
Lately map_paths has gained relevance because it's now used for modding, redirection of system files, mount games and many other applications.

The original code was very basic (add, remove, remove all, and path redirection in open_path_hook or sys_aio_copy_root).
Now it has more features like homebrew block, rif activation, re-enable syscalls, shadow paths redirection, locked mappings, etc.

To allow more applications, the slots were increased to 32.
Also there were changes in the scanning algorithm to make is more efficient, and reduce the loops and string handling.

I also added get_map_path() and an opcode to access it to have a way to get information of the current mappings.
However I think that function needs to be reviewed. The last time I tried to use it I couldn't get the proper information.

One of the main issues that I found is mapping/unmapping subfolders when the parent path is already mapped.
e.g. mapping/unmapping /app_path/PS3_GAME when /app_path is already mapped.
Depending the order in which they were mapped, the path of /app_path/PS3_GAME can be different.

Also mapping between /app_home and /dev_bdvd doesn't work, and some mappings to /dev_flash fail or cause a system panic.
I see. Thanks for the info.

Looks like the implementation was only ever meant to handle the couple of mappings done at payload level but never improved to handle a syscall to be used by any user app.
Whatever fixes added along the way might have helped avoid some crashes but they were simply not sufficient.
It's not surprising that every dev that used this feature has experienced one problem after another.

I just made additional changes to keep the slot system although without a new map_path_by_slot syscall, the system has always been pretty useless. Anyway now the get_map_path syscall remains unchanged so there should be no legacy issues.
esc0 will post a build here when we have a version ready for extensive testing.

Regarding the folder remapping issues such as the ones you had with app_home, we would need to set up a priority system with clear rules as a given folder path could potentially have 2, 3 or more mappings that could fit it.
 
Last edited:
I see. Thanks for the info.

Looks like the implementation was only ever meant to handle the couple of mappings done at payload level but never improved to handle a syscall to be used by any user app.
Whatever fixes added along the way might have helped avoid some crashes but they were simply not sufficient.
It's not surprising that every dev that used this feature has experienced one problem after another.

I just made additional changes to keep the slot system although without a new map_path_by_slot syscall, the system has always been pretty useless. Anyway now the get_map_path syscall remains unchanged so there should be no legacy issues.
esc0 will post a build here when we have a version ready for extensive testing.

Regarding the folder remapping issues such as the ones you had with app_home, we would need to set up a priority system with clear rules as a given folder path could potentially have 2, 3 or more mappings that could fit it.

I think now I understand what you mean by "slot". I think you're refering to the function map_first_slot().
I don't know about map_path_by_slot(). Maybe you modified map_first_slot() to make it generic using index instead of [0].

The function map_first_slot(). was introduced in PS3HEN, probably by Habib or Joonie. There is not a "slot" system at all for map_paths.
Backup managers (like multiMAN or IRISMAN) clear all mapped paths when they start and can break the XMB menus.
map_first_slot() was added to prevent the deletion of the first mapped path, which is for hfw_settings.xml.

I added a similar system to Mamba and Cobra 8.3, keeping the same syscall 35 parameters: if the target path starts with /./ the path is not deleted by the backup managers when syscall(35, NULL, NULL) is called.

So that map_first_slot() is just an internal function of PS3HEN, that does not exist in Cobra or Mamba.

The function get_map_path() is also a new function introduced in Cobra 8.1 or 8.2.
I haven't seen any application using it yet. If you have a working version without changes, that's very good.

In regards to the priority system, it's a good idea. I hope it doesn't require a new syscall or break compatibility with existing apps.
That's why I implemented the "shadow path" and "protected path" using // or /./ respectively as prefix of the target path, instead of using a new parameter.

For now the workaround for the priority is deleting the existing mappings, and creating the new mappings in order (subdirectories first, then the parent directory).

@esc0rtd3w I updated payload/scsi.h and payload/storage_ext.c to add support for .sbi files and improve the performance seeking the custom subchannels. I attached the full project with compiled binaries, but you can take only these 2 files.

In my tests with .sbi (that format doesn't include the crc-16 data) I found that the PSX games work fine without calculating that hash. It looks like it's calculated internally by the SCSI driver. So I commented the function calculate_subq_crc() and the vector q_crc_lut[256]. It should be tested on HEN in case it behaves different.
 

Attachments

Back
Top