Devices

From PS4 Developer wiki
Revision as of 23:26, 4 January 2025 by CelesteBlue (talk | contribs)
Jump to navigation Jump to search

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:

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