Editing Devices

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 3: Line 3:
See also [https://psdevwiki.com/ps5/Devices PS5 devices].
See also [https://psdevwiki.com/ps5/Devices PS5 devices].


== Device Listing ==
TODO: merge from [[Files_on_the_PS4#Devices]].
 
Unique devices are listed here without the "/dev/" prefix for readability.
 
See also prorotype [[SYRUP-11#Devices]].


{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
! Device Path !! Accessible ?by kernel? !! Device Long Name !! Notes
! Device name !! Accessible ?by kernel? !! Description !! 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])
|-
| 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 || -
| 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
| hmd || ? || Head-mounted Display || [[Morpheus]]. https://en.wikipedia.org/wiki/Head-mounted_display
Line 36: Line 26:
|-
|-
| dbggc || Yes || Debug ?GPU/Graphics? ?Controller/Core? || -
| 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 [https://wiki.henkaku.xyz/vita/SceDeci4pCtrlp].
| ctrlp || ? || Control ?Process? || Like on PS Vita DevKit. See [https://wiki.henkaku.xyz/vita/SceDeci4pCtrlp].
|-
|-
| camera || Yes || Camera || Module for the [[PlayStation 4 Camera]].
| camera || Yes || Camera || Camera module for [[Luke]], the PlayStation 4 camera.
|-
|-
| wlan || ? || Wireless LAN || -
| wlan || ? || Wireless LAN || -
Line 57: Line 37:
| regmgr || Yes || Registry Manager || -
| regmgr || Yes || Registry Manager || -
|-
|-
| vce || ? || Video Coding/Codec Engine || -
| vce || ? || Video Coding Engine || -
|-
|-
| hmddfu || Yes || Head-mounted Display Device Firmware Update || [[Morpheus]] firmware updater
| hmddfu || Yes || Head-mounted Display Device Firmware Update || [[Morpheus]] firmware updater
Line 74: Line 54:
|-
|-
| ajm || Yes || Audio Co-processor Job Manager || -
| 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 [https://wiki.henkaku.xyz/vita/SceDeci4pSDbgp].
| sdbgp || ? || System Debug ?Process? || Like on PS Vita DevKit. See [https://wiki.henkaku.xyz/vita/SceDeci4pSDbgp].
Line 91: Line 63:
| bluetooth_hid || ? || Bluetooth Human Interface Device || -
| bluetooth_hid || ? || Bluetooth Human Interface Device || -
|-
|-
| icc_configuration || ? || ICC Configuration || -
| es0 || ? || ? || Exists according to some strings in some modules.
|-
| 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 ===
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]]
* sbram: [[Southbridge#Southbridge_RAM|Southbridge RAM]]


{| class="wikitable"
{| class="wikitable"
! Device Name !! Description !! Notes !! Used in
! Device Name !! Description !! Notes !! Used in
|-
|-
| cd0 || /mnt/disc0 (CD, DVD or BD) || contains 4XXR || 80010002, https://pastebin.com/zP8EZFrW
| cd0 || 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
| da0 || contains 4002XXXX || || 80010002, https://pastebin.com/BxqFjFts
|-
|-
| da0x1.crypt || preinst2 || contains preinst2 image || 80010002, mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self
| da0x0.crypt || contains preinst img || || 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  
| da0x1.crypt || contains preinst2 img || || 80010002, mini-syscore.elf, 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
| da0x2 || contains eap_kernel || 16 MB. Usually named like /dev/sdX5. || 80010002, 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)
| da0x3.crypt || contains eap_vsh img || || 80010002, mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self  
|-
|-
| 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)
| da0x4b.crypt || contains system img || || 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self (mini-syscore.elf and safemode.elf only 4)
|-
|-
| da0x6.crypt || old swap || contains old swap ||  
| da0x5b.crypt || contains system_ex img || || 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self (mini-syscore.elf included  5)
|-
|-
| da0x6x0.crypt || new swap || contains new swap || 80010002, mini-syscore.elf, SceSysCore.elf
| da0x6.crypt || contains old swap || ||  
|-
|-
| da0x6x1.crypt || kernel_log || contains kernel log || 80010002
| da0x6x0.crypt || contains new swap || || 80010002, mini-syscore.elf, SceSysCore.elf
|-
|-
| da0x6x2.crypt || user_log || contains user log || 80010002, mini-syscore.elf
| da0x6x1.crypt || contains kernel log || || 80010002
|-
|-
| da0x8.crypt || app_tmp || contains app_tmp || safemode.elf, SceShellCore.elf
| da0x6x2.crypt || contains user log || || 80010002, mini-syscore.elf
|-
|-
| da0x9.crypt || system_data || contains system_data img || mini-syscore.elf, safemode.elf, SceSysCore.elf, SceShellCore.elf, orbis_swu.self
| da0x8.crypt || contains app_tmp || || safemode.elf, SceShellCore.elf
|-
|-
| da0x12.crypt || update || contains update img || mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self
| da0x9.crypt || contains system_data img || || mini-syscore.elf, safemode.elf, SceSysCore.elf, SceShellCore.elf, orbis_swu.self
|-
|-
| da0x13.crypt || user || contains user img || mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self
| da0x12.crypt || contains update 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
| da0x13.crypt || contains 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
| da0x14.crypt || contains eap_user img || || mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self
|-
|-
| 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
| da0x15.crypt || contains app_reserved || || safemode.elf, libkernel_sys.sprx, SceShellCore.elf
|-
|-
| 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
| da1 || usb 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 || || 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self
|-
|-
| pup_update0 || Alias of ?da0x12.crypt? || contains PUP || 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self
| sc_fw_update0 || contains 4000XXXX/4001XXXX || || 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) ||  
| sflash0 || Entire [[Serial Flash]] || 32MB (0x2000000) ||  
Line 199: Line 117:
| sflash0s1 || [[Serial Flash]] segment 1 || 30MB (0x1E00000) ||  
| sflash0s1 || [[Serial Flash]] segment 1 || 30MB (0x1E00000) ||  
|-
|-
| sflash0s0x0 || Unknown (SceSysCore related) || contains blank/0xFF data. 192kB (0x30000) || SceSysCore.elf
| sflash0s0x0 || 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
| sflash0s0x32, sflash0s0x32b || contains active/inactive southbridge emc (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
| sflash0s0x33 || contains southbridge eap (C001XXXX) || 512kB (0x80000) || 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self
|-
|-
| sflash0s0x34 || nvs || contains [[Serial Flash]] [[Non Volatile Storage]]. 48kB (0xC000) ||  
| sflash0s0x34 || contains [[Serial Flash]] [[Non_Volatile_Storage|NVS]] || 48kB (0xC000) ||  
|-
|-
| sflash0s0x38 || torus2_fw || contains torus firmware (C002XXXX). 512kB (0x80000) || 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self
| sflash0s0x38 || contains wifi firmware (C002XXXX) || 512kB (0x80000) || 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self
|-
|-
| sflash0s1.cryptx1 || idata || contains individual data || 80010002, SceShellCore.elf
| sflash0s1.cryptx1 || contains individual data/idstorage || || 80010002, SceShellCore.elf
|-
|-
| sflash0s1.cryptx2, sflash0s1.cryptx2b || sam_ipl || contains active/inactive [[Secure Loader]] (8000XXXX) || 80010002, safemode.elf, SceShellCore.elf, orbis_swu.self
| sflash0s1.cryptx2, sflash0s1.cryptx2b || 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.cryptx3, sflash0s1.cryptx3b || 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.cryptx6 || contains Virtual TRM || ||  
|-
|-
| sflash0s1.cryptx39 || bd_hrl || contains bd revocation list || 80010002, BdmvPlayerCore.elf , BdvdPlayerCore.elf
| sflash0s1.cryptx39 || 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
| sflash0s1.cryptx40 || contains blank/0xFF data || || 80010002, mini-syscore.elf, safemode.elf, SceShellCore.elf, orbis_swu.self  
|-
| sbram0 || [[Southbridge#Southbridge_RAM|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


{{Reverse Engineering}}
{{Reverse Engineering}}
<noinclude>[[Category:Main]]</noinclude>
<noinclude>[[Category:Main]]</noinclude>
Please note that all contributions to PS4 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS4 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)