Following his PS4 Auxiliary Ports and PS4Eyecam / PS4 Camera Firmware Kernel Analysis, PlayStation 4 developer BigBoss recently acquired Sony's new PlayStation Camera version 2 that supports PS VR and shared details on compatibility, open-source PlayStation VR Software and the PlayStation VR USB Descriptor today.
Below are the related tweets, and of note he confirmed Sony's new PlayStation Camera is not compatible with PS4 Firmware 1.76 which PlayStation 4 hackers have exploited and requires new Firmware.
He's also quite excited about the morpheus_bridge open source software used in PlayStation VR (a Dev hint, perhaps?), busted out a PS4 camera plug and play mod and is currently seeking access to a Beagle USB 3 Sniffer to get a valid USB Dump for reverse-engineering and further examination. Rock on!
Code:Bus 020 Device 002: ID 054c:09af Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x054c idProduct 0x09af bcdDevice 1.07 iManufacturer 1 Sony iProduct 2 PlayStation?VR iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 383 bNumInterfaces 9 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 2mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 255 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 3 PS VR 3D Audio Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 255 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 3 PS VR 3D Audio Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 bInterfaceSubClass 1 bInterfaceProtocol 0 iInterface 4 PS VR Audio AudioControl Interface Descriptor: bLength 10 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 1.00 wTotalLength 74 bInCollection 2 baInterfaceNr( 0) 2 baInterfaceNr( 1) 3 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0201 bAssocTerminal 0 bNrChannels 1 wChannelConfig 0x0000 iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 5 bSourceID 1 bControlSize 1 bmaControls( 0) 0x03 Mute Control Volume Control bmaControls( 1) 0x00 iFeature 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 3 wTerminalType 0x0101 bAssocTerminal 0 bSourceID 5 iTerminal 0 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 2 wTerminalType 0x0101 bAssocTerminal 0 bNrChannels 2 wChannelConfig 0x0003 Left Front (L) Right Front (R) iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 13 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 6 bSourceID 2 bControlSize 2 bmaControls( 0) 0x01 bmaControls( 0) 0x00 Mute Control bmaControls( 1) 0x02 bmaControls( 1) 0x00 Volume Control bmaControls( 2) 0x02 bmaControls( 2) 0x00 Volume Control iFeature 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 4 wTerminalType 0x0301 bAssocTerminal 0 bSourceID 6 iTerminal 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 5 PS VR Audio Mic Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 5 PS VR Audio Mic AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 3 bDelay 0 frames wFormatTag 1 PCM AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 1 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x00c0 1x 192 bytes bInterval 4 bRefresh 0 bSynchAddress 0 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x80 MaxPacketsOnly bLockDelayUnits 0 Undefined wLockDelay 0 Undefined Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 6 PS VR Audio Chat Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 6 PS VR Audio Chat AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 2 bDelay 0 frames wFormatTag 1 PCM AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x00c0 1x 192 bytes bInterval 4 bRefresh 0 bSynchAddress 0 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x80 MaxPacketsOnly bLockDelayUnits 0 Undefined wLockDelay 0 Undefined Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 7 PS VR Sensor HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Unknown bNumDescriptors 1 bDescriptorType 34 (null) wDescriptorLength 21 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 3 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 5 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 3 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 8 PS VR Control HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Unknown bNumDescriptors 1 bDescriptorType 34 (null) wDescriptorLength 23 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 4 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 4 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 6 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 255 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 9 PS VR H.264 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 6 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 255 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 9 PS VR H.264 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x05 EP 5 OUT bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 3 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 6 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 255 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x05 EP 5 OUT bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 2 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 6 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 255 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x05 EP 5 OUT bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 7 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 255 bInterfaceSubClass 1 bInterfaceProtocol 0 iInterface 10 PS VR BulkIn Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x87 EP 7 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 8 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 3 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 11 PS VR Control2 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Unknown bNumDescriptors 1 bDescriptorType 34 (null) wDescriptorLength 159 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x86 EP 6 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 4 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x06 EP 6 OUT bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 4 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0001 Self Powered
Finally, from tokkyo_tw comes PSVRTest to read PSVR's Accelerometer data for developers with some research feedback from yojiro:
Download: PSVRTest-master.zip / GIT
From the README.md file: PSVRTest
Read PSVR's Accelerometer data
Summary
- Access PSVR via USB
- Using Raw Input API (Win32) for capturing HID reports
- Still need analyzing these byte's meaning... (currently just showing byte [19-48])
Requirements:Code:00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 00-00-00-19-00-0A-04-20-00-05-27-01-FF-7F-00-00-42-5F-E2-26-00-B2-FF-FF-FF-0E-00-71-43-CF-04-41-07-53-E4-26-00-B6-FF-FB-FF-0A-00-01-44-AF-04-21-07-27-01-00-00-00-03-FF-5D-02-00-00-00-00-61-01-7A 00-00-00-19-00-0A-04-20-00-05-27-01-FF-7F-00-00-42-47-E6-26-00-C2-FF-04-00-00-00-F1-42-6F-04-21-07-3B-E8-26-00-C5-FF-19-00-03-00-91-43-DF-04-D1-07-27-01-00-00-00-03-FF-5D-02-00-00-00-00-D7-01-7B 00-00-00-19-00-0A-04-20-00-05-27-01-FF-7F-00-00-42-2F-EA-26-00-C1-FF-21-00-EE-FF-A1-43-AF-04-11-08-23-EC-26-00-B7-FF-20-00-EE-FF-C1-43-6F-04-71-07-27-01-00-00-00-03-FF-5D-02-00-00-00-00-DE-01-7C 00-00-00-19-00-0A-04-20-00-05-27-01-FF-7F-00-00-42-17-EE-26-00-B5-FF-0F-00-F1-FF-21-44-CF-04-01-08-0C-F0-26-00-C3-FF-00-00-03-00-D1-43-5F-04-21-07-27-01-00-00-00-03-FF-5D-02-00-00-00-00-E0-01-7D
Develop Environment:
- PSVR
- Visual Studio 2015
- Windows 10 x64
- .NET Framework 2.0
![]()