Devices
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 |
|