Devices: Difference between revisions
CelesteBlue (talk | contribs) No edit summary |
CelesteBlue (talk | contribs) No edit summary |
||
Line 11: | Line 11: | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
! Device | ! Device Path !! Accessible ?by kernel? !! Device Long Name !! Notes | ||
|- | |- | ||
| gc || Yes || ?GPU/Graphics? ?Controller/Core? || It could also stand for Graphics Core (from [https://en.wikipedia.org/wiki/Graphics_Core_Next]) | | gc || Yes || ?GPU/Graphics? ?Controller/Core? || It could also stand for Graphics Core (from [https://en.wikipedia.org/wiki/Graphics_Core_Next]) | ||
Line 66: | Line 66: | ||
|- | |- | ||
| bluetooth_hid || ? || Bluetooth Human Interface Device || - | | bluetooth_hid || ? || Bluetooth Human Interface Device || - | ||
|} | |} | ||
=== Disk Device Listing === | |||
Some devices acts as RW storage devices and aim to be mounted as partitions. | |||
See also [[Partitions]], [https://docs.freebsd.org/en/books/handbook/geom FreeBSD GEOM handbook] and [https://docs.freebsd.org/en/books/handbook/disks/ FreeBSD Storage handbook]. | |||
Format: | |||
<code><Device Name><ID><Optional: .crypt><Optional: XN where X is "s" for segment or "x" for partition and N is a decimal number><Optional: .crypt><Optional: XN where X is "s" for segment or "x" for partition and N is a decimal number><Optional: b for (active or inactive) backup bank></code> | |||
Type can be: | |||
* cd: [[Bluray Drive]] | |||
* da: [[HDD SSD|Internal HDD]] and [[USB]] storage removable devices | |||
* es: [[USB Extended Storage]] | |||
* pup_update: Maybe alias for da0x12.crypt | |||
* sc_fw_update: Unknown physical location | |||
* sflash: [[Serial Flash]] | |||
{| class="wikitable" | {| class="wikitable" | ||
! Device Name !! Description !! Notes !! Used in | ! Device Name !! Description !! Notes !! Used in | ||
|- | |- | ||
| cd0 || contains 4XXR || || 80010002, https://pastebin.com/ | | cd0 || Bluray Drive || contains 4XXR || 80010002, https://pastebin.com/zP8EZFrW | ||
|- | |||
| da0 || Internal HDD (raw) || contains 4002XXXX || 80010002, https://pastebin.com/BxqFjFts | |||
|- | |- | ||
| | | da0x0.crypt || preinst || contains preinst image || 80010002, mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self | ||
|- | |- | ||
| | | da0x1.crypt || preinst2 || contains preinst2 image || 80010002, mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self | ||
|- | |- | ||
| | | da0x2 || eap_kernel || contains eap_kernel. 16 MB. Usually named like /dev/sdX5. || 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self | ||
|- | |- | ||
| | | da0x3.crypt || eap_vsh || contains eap_vsh img || 80010002, mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self | ||
|- | |- | ||
| | | da0x4b.crypt || system || contains system img || 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self (mini-syscore.elf and safemode.elf only 4) | ||
|- | |- | ||
| | | da0x5b.crypt || system_ex || contains system_ex img || 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self (mini-syscore.elf included 5) | ||
|- | |- | ||
| | | da0x6.crypt || old swap || contains old swap || | ||
|- | |- | ||
| | | da0x6x0.crypt || new swap || contains new swap || 80010002, mini-syscore.elf, SceSysCore.elf | ||
|- | |- | ||
| | | da0x6x1.crypt || kernel_log || contains kernel log || 80010002 | ||
|- | |- | ||
| | | da0x6x2.crypt || user_log || contains user log || 80010002, mini-syscore.elf | ||
|- | |- | ||
| | | da0x8.crypt || app_tmp || contains app_tmp || safemode.elf, SceShellCore.elf | ||
|- | |- | ||
| | | da0x9.crypt || system_data || contains system_data img || mini-syscore.elf, safemode.elf, SceSysCore.elf, SceShellCore.elf, orbis_swu.self | ||
|- | |- | ||
| | | da0x12.crypt || update || contains update img || mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self | ||
|- | |- | ||
| | | da0x13.crypt || user || contains user img || mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self | ||
|- | |- | ||
| | | da0x14.crypt || eap_user || contains eap_user img || mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self | ||
|- | |- | ||
| | | da0x15.crypt || app_reserved || contains app_reserved || safemode.elf, libkernel_sys.sprx, SceShellCore.elf | ||
|- | |- | ||
| | | da1 || usb (USB Storage device) || || 80010002, mini-syscore.elf, safemode.elf, libSceWebKit2.sprx, libSceWebKit2Secure.sprx, mscorlib.dll.sprx, System.Core.dll.sprx, NPXS20001 app.exe.sprx, orbis_swu.self | ||
|- | |- | ||
| | | es0.crypt || ext_hdd (Extended Storage 0) || || AES-XTS decrypted USB Extended Storage | ||
|- | |- | ||
| pup_update0 || contains PUP | | pup_update0 || Alias of ?da0x12.crypt? || contains PUP || 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self | ||
|- | |- | ||
| sc_fw_update0 || contains 4000XXXX/4001XXXX | | sc_fw_update0 || Unknown physical location || contains 4000XXXX/4001XXXX || 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self | ||
|- | |- | ||
| sflash0 || Entire [[Serial Flash]] || 32MB (0x2000000) || | | sflash0 || Entire [[Serial Flash]] || 32MB (0x2000000) || | ||
Line 121: | Line 138: | ||
| sflash0s1 || [[Serial Flash]] segment 1 || 30MB (0x1E00000) || | | sflash0s1 || [[Serial Flash]] segment 1 || 30MB (0x1E00000) || | ||
|- | |- | ||
| sflash0s0x0 || contains blank/0xFF data | | sflash0s0x0 || Unknown (SceSysCore related) || contains blank/0xFF data. 192kB (0x30000) || SceSysCore.elf | ||
|- | |- | ||
| sflash0s0x32, sflash0s0x32b || contains active/inactive | | sflash0s0x32, sflash0s0x32b || emc_ipl || contains active/inactive emc_ipl (0xC000XXXX). 384kB (0x60000) || 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self | ||
|- | |- | ||
| sflash0s0x33 || contains | | sflash0s0x33 || eap_kbl || contains eap_kbl (C001XXXX). 512kB (0x80000) || 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self | ||
|- | |- | ||
| sflash0s0x34 || contains [[Serial Flash]] [[ | | sflash0s0x34 || nvs || contains [[Serial Flash]] [[Non Volatile Storage]]. 48kB (0xC000) || | ||
|- | |- | ||
| sflash0s0x38 || contains | | sflash0s0x38 || torus2_fw || contains torus firmware (C002XXXX). 512kB (0x80000) || 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self | ||
|- | |- | ||
| sflash0s1.cryptx1 || contains individual data | | sflash0s1.cryptx1 || idata || contains individual data || 80010002, SceShellCore.elf | ||
|- | |- | ||
| sflash0s1.cryptx2, sflash0s1.cryptx2b || contains active/inactive [[Secure Loader]] (8000XXXX) | | sflash0s1.cryptx2, sflash0s1.cryptx2b || sam_ipl || contains active/inactive [[Secure Loader]] (8000XXXX) || 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self | ||
|- | |- | ||
| sflash0s1.cryptx3, sflash0s1.cryptx3b || contains active/inactive CoreOS (Secure Kernel, Kernel, Secure Modules) (8001XXXX) | | sflash0s1.cryptx3, sflash0s1.cryptx3b || coreos || contains active/inactive CoreOS (Secure Kernel, Kernel, Secure Modules) (8001XXXX) || 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self, BdmvPlayerCore.elf, BdvdPlayerCore.elf | ||
|- | |- | ||
| sflash0s1.cryptx6 || contains Virtual TRM | | sflash0s1.cryptx6 || vtrm || contains Virtual TRM || | ||
|- | |- | ||
| sflash0s1.cryptx39 || contains bd revocation list | | sflash0s1.cryptx39 || bd_hrl || contains bd revocation list || 80010002, BdmvPlayerCore.elf , BdvdPlayerCore.elf | ||
|- | |- | ||
| sflash0s1.cryptx40 || contains blank/0xFF data | | sflash0s1.cryptx40 || Unknown (safemode related) || contains blank/0xFF data || 80010002, mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self | ||
|} | |} | ||
{{Reverse Engineering}} | {{Reverse Engineering}} | ||
<noinclude>[[Category:Main]]</noinclude> | <noinclude>[[Category:Main]]</noinclude> |
Revision as of 23:26, 4 January 2025
The PS4 has many kernel devices that can be accessed through IOCTL. Some of them have usermode module equivalents, some like "sbl" consist in Secure Modules and some like "camera" make use of a dedicated firmware stored in kernel memory.
See also PS5 devices.
Device Listing
Unique devices are listed here without the "/dev/" prefix for readability. Benign devices like /dev/null are omitted for brevity's sake.
TODO: merge from Files_on_the_PS4#Devices.
Device Path | Accessible ?by kernel? | Device Long Name | Notes |
---|---|---|---|
gc | Yes | ?GPU/Graphics? ?Controller/Core? | It could also stand for Graphics Core (from [1]) |
dce | ? | Display Controller Engine | - |
hmd | ? | Head-mounted Display | Morpheus. https://en.wikipedia.org/wiki/Head-mounted_display |
mas | ? | ?Mass Storage? | - |
bt | ? | Bluetooth | - |
sdma | ? | (GPU) System DMA Kernel | - |
hdmi | ? | HDMI | - |
s3da | ?System/Software? 3D Acceleration | See Marcan's slides about PS4 GPU Linux driver. | |
dbggc | Yes | Debug ?GPU/Graphics? ?Controller/Core? | - |
ctrlp | ? | Control ?Process? | Like on PS Vita DevKit. See [2]. |
camera | Yes | Camera | Camera module for Luke, the PlayStation 4 camera. |
wlan | ? | Wireless LAN | - |
wlanbt | Wireless LAN Bluetooth | - | - |
regmgr | Yes | Registry Manager | - |
vce | ? | Video Coding Engine | - |
hmddfu | Yes | Head-mounted Display Device Firmware Update | Morpheus firmware updater |
mbus | ? | ?Media/Memory/Management? Bus | See libSceMbus.sprx. |
uvd | ? | Unified Video Decoder | GPKMD? |
hid | Yes | Human Interface Device | - |
sbl | Yes | SBL Kernel module | - |
av_control | ? | Audio/Video Controller | - |
ipmimgr | Yes | IPMI Manager | Used by ShellCore for tasks. |
ajm | Yes | Audio Co-processor Job Manager | - |
sdbgp | ? | System Debug ?Process? | Like on PS Vita DevKit. See [3]. |
audioout | ? | Audio Out | - |
screenshot | ? | Screenshot | - |
bluetooth_hid | ? | Bluetooth Human Interface Device | - |
Disk Device Listing
Some devices acts as RW storage devices and aim to be mounted as partitions.
See also Partitions, FreeBSD GEOM handbook and FreeBSD Storage handbook.
Format:
<Device Name><ID><Optional: .crypt><Optional: XN where X is "s" for segment or "x" for partition and N is a decimal number><Optional: .crypt><Optional: XN where X is "s" for segment or "x" for partition and N is a decimal number><Optional: b for (active or inactive) backup bank>
Type can be:
- cd: Bluray Drive
- da: Internal HDD and USB storage removable devices
- es: USB Extended Storage
- pup_update: Maybe alias for da0x12.crypt
- sc_fw_update: Unknown physical location
- sflash: Serial Flash
Device Name | Description | Notes | Used in |
---|---|---|---|
cd0 | Bluray Drive | contains 4XXR | 80010002, https://pastebin.com/zP8EZFrW |
da0 | Internal HDD (raw) | contains 4002XXXX | 80010002, https://pastebin.com/BxqFjFts |
da0x0.crypt | preinst | contains preinst image | 80010002, mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self |
da0x1.crypt | preinst2 | contains preinst2 image | 80010002, mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self |
da0x2 | eap_kernel | contains eap_kernel. 16 MB. Usually named like /dev/sdX5. | 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self |
da0x3.crypt | eap_vsh | contains eap_vsh img | 80010002, mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self |
da0x4b.crypt | system | contains system img | 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self (mini-syscore.elf and safemode.elf only 4) |
da0x5b.crypt | system_ex | contains system_ex img | 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self (mini-syscore.elf included 5) |
da0x6.crypt | old swap | contains old swap | |
da0x6x0.crypt | new swap | contains new swap | 80010002, mini-syscore.elf, SceSysCore.elf |
da0x6x1.crypt | kernel_log | contains kernel log | 80010002 |
da0x6x2.crypt | user_log | contains user log | 80010002, mini-syscore.elf |
da0x8.crypt | app_tmp | contains app_tmp | safemode.elf, SceShellCore.elf |
da0x9.crypt | system_data | contains system_data img | mini-syscore.elf, safemode.elf, SceSysCore.elf, SceShellCore.elf, orbis_swu.self |
da0x12.crypt | update | contains update img | mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self |
da0x13.crypt | user | contains user img | mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self |
da0x14.crypt | eap_user | contains eap_user img | mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self |
da0x15.crypt | app_reserved | contains app_reserved | safemode.elf, libkernel_sys.sprx, SceShellCore.elf |
da1 | usb (USB Storage device) | 80010002, mini-syscore.elf, safemode.elf, libSceWebKit2.sprx, libSceWebKit2Secure.sprx, mscorlib.dll.sprx, System.Core.dll.sprx, NPXS20001 app.exe.sprx, orbis_swu.self | |
es0.crypt | ext_hdd (Extended Storage 0) | AES-XTS decrypted USB Extended Storage | |
pup_update0 | Alias of ?da0x12.crypt? | contains PUP | 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self |
sc_fw_update0 | Unknown physical location | contains 4000XXXX/4001XXXX | 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self |
sflash0 | Entire Serial Flash | 32MB (0x2000000) | |
sflash0s0 | Serial Flash segment 0 | 2MB (0x200000) | |
sflash0s1 | Serial Flash segment 1 | 30MB (0x1E00000) | |
sflash0s0x0 | Unknown (SceSysCore related) | contains blank/0xFF data. 192kB (0x30000) | SceSysCore.elf |
sflash0s0x32, sflash0s0x32b | emc_ipl | contains active/inactive emc_ipl (0xC000XXXX). 384kB (0x60000) | 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self |
sflash0s0x33 | eap_kbl | contains eap_kbl (C001XXXX). 512kB (0x80000) | 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self |
sflash0s0x34 | nvs | contains Serial Flash Non Volatile Storage. 48kB (0xC000) | |
sflash0s0x38 | torus2_fw | contains torus firmware (C002XXXX). 512kB (0x80000) | 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self |
sflash0s1.cryptx1 | idata | contains individual data | 80010002, SceShellCore.elf |
sflash0s1.cryptx2, sflash0s1.cryptx2b | sam_ipl | contains active/inactive Secure Loader (8000XXXX) | 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self |
sflash0s1.cryptx3, sflash0s1.cryptx3b | coreos | contains active/inactive CoreOS (Secure Kernel, Kernel, Secure Modules) (8001XXXX) | 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self, BdmvPlayerCore.elf, BdvdPlayerCore.elf |
sflash0s1.cryptx6 | vtrm | contains Virtual TRM | |
sflash0s1.cryptx39 | bd_hrl | contains bd revocation list | 80010002, BdmvPlayerCore.elf , BdvdPlayerCore.elf |
sflash0s1.cryptx40 | Unknown (safemode related) | contains blank/0xFF data | 80010002, mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self |
|