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[edit | edit source]
Unique devices are listed here without the "/dev/" prefix for readability.
See also prorotype SYRUP-11#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]) |
fd | ? | File Descriptor | Opening the file /dev/fd/n is equivalent to duplicating descriptor n (assuming that descriptor n is open). |
dce | ? | Display Controller Engine | - |
dmem{0,1?,2?} | ? | ?Direct? Memory | - |
dipsw | ? | DIP Switches | - |
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? | - |
deci_stderr | ? | DECI4 stderr | - |
deci_stdin | ? | DECI4 stdin | - |
deci_stdout | ? | DECI4 stdout | - |
deci_tty{2-7} | ? | DECI4 tty{2-7} | - |
deci_tty{a-c}0 | ? | DECI4 deci_tty{a-c}0 | - |
ctrlp | ? | Control ?Process? | Like on PS Vita DevKit. See [2]. |
camera | Yes | Camera | Module for the PlayStation 4 Camera. |
wlan | ? | Wireless LAN | - |
wlanbt | Wireless LAN Bluetooth | - | - |
regmgr | Yes | Registry Manager | - |
vce | ? | Video Coding/Codec 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 | - |
bpf | ? | BSD Packet Filter | Since System Software 5.50, opening BPF has been blocked for unprivileged processes such as WebKit and applications/games. Attempting to open it yields EPERM. |
bpf0 | ? | BSD Packet Filter 0 | - |
console | ? | Console | Probably a debug log console. It provides the kernel a guaranteed place to output its log messages, especially during boot time. It is a symbolic link pointing to another device, usually tty0. |
ctty | ? | ?Console? TTY | Probably an alias to the terminal of the active process (tty0), regardless of the type of terminal. |
sdbgp | ? | System Debug ?Process? | Like on PS Vita DevKit. See [3]. |
audioout | ? | Audio Out | - |
screenshot | ? | Screenshot | - |
bluetooth_hid | ? | Bluetooth Human Interface Device | - |
icc_configuration | ? | ICC Configuration | - |
icc_device_power | ? | ICC Device Power | - |
icc_indicator | ? | ICC Indicator | - |
icc_nvs | ? | ICC NVS | - |
icc_power | ? | ICC Power | - |
notification0 | ? | Notification 0 | - |
notification1 | ? | Notification 1 | - |
null | ? | Null device | - |
random | ? | Blocking CSPRNG | - |
rng | ? | Random number generator | - |
sce_zlib | ? | Sony Computer Entertainment zlib | - |
srtc | ? | Secure Real Time Clock | - |
ugen0.4 | ? | ? | - |
urandom | ? | Never-blocking CSPRNG | - |
usb | ? | USB | - |
usbctl | ? | USB Control | - |
zero | ? | Zero | - |
Disk Device Listing[edit | edit source]
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
- sbram: Southbridge RAM
Device Name | Description | Notes | Used in |
---|---|---|---|
cd0 | /mnt/disc0 (CD, DVD or BD) | 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 |
da0x4.crypt, da0x4b.crypt | system | contains active/inactive system img | 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self (mini-syscore.elf and safemode.elf only 4) |
da0x5.crypt, da0x5b.crypt | system_ex | contains active/inactive 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 Storage device (raw) | 80010002, mini-syscore.elf, safemode.elf, libSceWebKit2.sprx, libSceWebKit2Secure.sprx, mscorlib.dll.sprx, System.Core.dll.sprx, NPXS20001 app.exe.sprx, orbis_swu.self | |
da1s1 | /mnt/usb0 (USB Storage device first partition) | 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 VTRM | |
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 |
sbram0 | Southbridge RAM | Maybe not accessible from x86 kernel. Accessible from ?EAP or EMC?. | |
iccnvs{0-4} | Serial Flash Non Volatile Storage segment {0-4} |
source: https://web.archive.org/web/20161013104012/http://pastie.org/pastes/9706000
|