Closed zanechua closed 4 years ago
There was a RealSense user who posted a method for restoring an SR300 and its Virtual Driver and getting Windows Hello working again. It is not an officially recommended procedure so it is at your own risk to try it.
https://support.intelrealsense.com/hc/en-us/community/posts/360038275074/
You can reduce the risk of the process by using Intel's official SR300 offline driver installation package if possible instead of the guide creator's own driver package. This is available by visiting the link below, finding the section headed 'Intel RealSense Camera SR300 Firmware' and clicking on the 'Drivers' link beneath it to launch a download of the SR300 Depth Camera Manager (DCM) driver installation program.
https://software.intel.com/en-us/realsense-sdk-windows-eol
I would recommend trying the official DCM package first to see if it restores your camera's functionality to that of an original SR300, and start to consider the repair method in the guide if installing the DCM does not correct it or the DCM will not run correctly on your modern Windows version.
Hmm. My virtual driver was working prior to this update, it was erractic but it did register and was present. However with the upgrade to the new 3.27 firmware, it's totally gone.
I'm not sure that my SR300 is even being recognised as an SR300 anymore. It's recognised as an SR305 which shouldn't be the case. Wouldn't it be a better idea to not recommend the SR305 firmware for SR300 owners? Removing functionality via firmware update without a way to revert back seems like a misstep.
Yesterday I did an update of my old SR300 to the recommended firmware in the RealSense Viewer and it is now detected as SR305 even though it was an SR300 originally (the SR305 still has an SR300 camera circuit board inside it). So the update to a detected status of SR305 that you experienced seems to be normal.
The original purpose of the Virtual Driver was to allow the original generation of RealSense devices to be able to be accessed by non-RealSense applications such as video chat if the camera was currently also being accessed by a RealSense camera application.
Intel did not continue with Windows Hello support for RealSense cameras after the SR300. For a lot of people the Windows Hello functionality did not work or had problems.
If Windows Hello support and ensured compatibility with old software that supports SR300 is important to you then the DCM program, or the linked-to guide if that does not fix the problem on its own, may be your best chance of restoring the camera to the status of an original SR300. I apologise for the inconvenience.
I see. Understood.
I'll test out the guide and see if that works. Will update this.
Thanks, I look forward to your update. Good luck!
Do you require further assistance please, or can this case be closed? Thanks!
Case closed due to no further comments.
I'm revisiting this issue again and unfortunately I was unable to recover the camera into a working condition. After the update, the camera now only detects as an Audio Device and does not even seem to be able to see an Imaging Device at all. Guess the camera is bricked.
Can you check whether you have a Cameras category in your Device Manager when the SR300 is plugged in and if you do, whether it contains the SR300 drivers (Depth, RGB, Virtual). Thanks very much.
It doesn't at all. Can't get any of the imaging devices to appear in Device Manager. All I see is the BlasterX Senz3D Audio Device
Have you tried the DCM program recently to reinstall the firmware and drivers?
https://github.com/IntelRealSense/librealsense/issues/6401#issuecomment-629594160
Yup. Tried the latest DCM program available and still nothing. Was intending to try Linux but at this point I don't even see the imaging device appear in USBView. Here's the relevant debug information:
[Port2] : USB Composite Device
Is Port User Connectable: no
Is Port Debug Capable: no
Companion Port Number: 0
Companion Hub Symbolic Link Name:
Protocols Supported:
USB 1.1: yes
USB 2.0: yes
USB 3.0: no
Device Power State: PowerDeviceD0
---===>Device Information<===---
English product name: "BlasterX Senz3D VF0810"
ConnectionStatus:
Current Config Value: 0x01 -> Device Bus Speed: Full (is not SuperSpeed or higher capable)
Device Address: 0x28
Open Pipes: 1
===>Device Descriptor<===
bLength: 0x12
bDescriptorType: 0x01
bcdUSB: 0x0200
bDeviceClass: 0x00 -> This is an Interface Class Defined Device
bDeviceSubClass: 0x00
bDeviceProtocol: 0x00
bMaxPacketSize0: 0x40 = (64) Bytes
idVendor: 0x041E = Creative Labs
idProduct: 0x409B
bcdDevice: 0x0102
iManufacturer: 0x01
English (United States) "Creative Technology Ltd"
iProduct: 0x02
English (United States) "BlasterX Senz3D VF0810"
iSerialNumber: 0x03
English (United States) "170427183848"
bNumConfigurations: 0x01
---===>Open Pipes<===---
===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x84 -> Direction: IN - EndpointID: 4
bmAttributes: 0x03 -> Interrupt Transfer Type
wMaxPacketSize: 0x0025 = 0x25 bytes
bInterval: 0x01
---===>Full Configuration Descriptor<===---
===>Configuration Descriptor<===
bLength: 0x09
bDescriptorType: 0x02
wTotalLength: 0x0096 -> Validated
bNumInterfaces: 0x03
bConfigurationValue: 0x01
iConfiguration: 0x00
bmAttributes: 0xC0 -> Self Powered
MaxPower: 0x00 = 0 mA
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x00
bAlternateSetting: 0x00
bNumEndpoints: 0x00
bInterfaceClass: 0x01 -> Audio Interface Class
bInterfaceSubClass: 0x01 -> Audio Control Interface SubClass
bInterfaceProtocol: 0x00
iInterface: 0x00
===>Audio Control Interface Header Descriptor<===
bLength: 0x09
bDescriptorType: 0x24 (CS_INTERFACE)
bDescriptorSubtype: 0x01 (HEADER)
bcdADC: 0x0100
wTotalLength: 0x0028
bInCollection: 0x01
baInterfaceNr[1]: 0x01
===>Audio Control Input Terminal Descriptor<===
bLength: 0x0C
bDescriptorType: 0x24 (CS_INTERFACE)
bDescriptorSubtype: 0x02 (INPUT_TERMINAL)
bTerminalID: 0x01
wTerminalType: 0x0205 (Microphone array)
bAssocTerminal: 0x00
bNrChannels: 0x02
wChannelConfig: 0x0003
(Left Front (L))
(Right Ront (R))
iChannelNames: 0x00
iTerminal: 0x00
===>Audio Control Feature Unit Descriptor<===
bLength: 0x0A
bDescriptorType: 0x24 (CS_INTERFACE)
bDescriptorSubtype: 0x06 (FEATURE_UNIT)
bUnitID: 0x02
bSourceID: 0x01
bControlSize: 0x01
bmaControls[master]: 01
(Mute)
bmaControls[channel 0]: 02
(Volume)
bmaControls[channel 1]: 02
(Volume)
iFeature: 0x00
===>Audio Control Output Terminal Descriptor<===
bLength: 0x09
bDescriptorType: 0x24 (CS_INTERFACE)
bDescriptorSubtype: 0x03 (OUTPUT_TERMINAL)
bTerminalID: 0x03
wTerminalType: 0x0101 (USB streaming)
bAssocTerminal: 0x00
bSourceID: 0x02
iTerminal: 0x00
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x01
bAlternateSetting: 0x00
bNumEndpoints: 0x00
bInterfaceClass: 0x01 -> Audio Interface Class
bInterfaceSubClass: 0x02 -> Audio Streaming Interface SubClass
bInterfaceProtocol: 0x00
iInterface: 0x00
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x01
bAlternateSetting: 0x01
bNumEndpoints: 0x01
bInterfaceClass: 0x01 -> Audio Interface Class
bInterfaceSubClass: 0x02 -> Audio Streaming Interface SubClass
bInterfaceProtocol: 0x00
iInterface: 0x00
===>Audio Streaming Class Specific Interface Descriptor<===
bLength: 0x07
bDescriptorType: 0x24 (CS_INTERFACE)
bDescriptorSubtype: 0x01 (AS_GENERAL)
bTerminalLink: 0x03
bDelay: 0x01
wFormatTag: 0x0001 (PCM)
===>Audio Streaming Format Type Descriptor<===
bLength: 0x1A
bDescriptorType: 0x24 (CS_INTERFACE)
bDescriptorSubtype: 0x02 (FORMAT_TYPE)
bFormatType: 0x01 (FORMAT_TYPE_I)
bNrChannels: 0x02
bSubframeSize: 0x02
bBitResolution: 0x10 (16)
bSamFreqType: 0x06 (Discrete)
tSamFreq[1]: 0x001F40 (8000 Hz)
tSamFreq[2]: 0x003E80 (16000 Hz)
tSamFreq[3]: 0x005DC0 (24000 Hz)
tSamFreq[4]: 0x007D00 (32000 Hz)
tSamFreq[5]: 0x00AC44 (44100 Hz)
tSamFreq[6]: 0x00BB80 (48000 Hz)
===>Endpoint Descriptor<===
bLength: 0x09
bDescriptorType: 0x05
bEndpointAddress: 0x81 -> Direction: IN - EndpointID: 1
bmAttributes: 0x05 -> Isochronous Transfer Type, Synchronization Type = Asynchronous, Usage Type = Data Endpoint
wMaxPacketSize: 0x00C8 = 0xC8 bytes
wInterval: 0x0001
bSyncAddress: 0x00
===>Audio Streaming Class Specific Audio Data Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x25 (CS_ENDPOINT)
bDescriptorSubtype: 0x01 (EP_GENERAL)
bmAttributes: 0x01
(Sampling Frequency control)
bLockDelayUnits: 0x00 (Undefined)
wLockDelay: 0x0000
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x02
bAlternateSetting: 0x00
bNumEndpoints: 0x01
bInterfaceClass: 0x03 -> HID Interface Class
bInterfaceSubClass: 0x00
bInterfaceProtocol: 0x00
iInterface: 0x00
===>HID Descriptor<===
bLength: 0x09
bDescriptorType: 0x21
bcdHID: 0x0111
bCountryCode: 0x00
bNumDescriptors: 0x01
bDescriptorType: 0x22 (Report Descriptor)
wDescriptorLength: 0x007C
===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x84 -> Direction: IN - EndpointID: 4
bmAttributes: 0x03 -> Interrupt Transfer Type
wMaxPacketSize: 0x0025 = 0x25 bytes
bInterval: 0x01
And you are plugging it into a USB 3 port? The SR300 does not work with USB 2.0.
Reporting back after almost 2 years from my last response.
Decided to pull the camera out again for one last try before I threw it out and what do you know, on my current system I managed to downgrade the firmware via the steps listed:
https://github.com/IntelRealSense/librealsense/issues/4435#issuecomment-525617614
I was using USB 3 before but perhaps it was some kind of controller issue with my old system or something.
So this issue is truly resolved.
That's excellent news, @zanechua - thanks so much for the update :)
Issue Description
SR300 was updated to the latest 3.27.3.0 firmware and I noticed that the virtual driver is no longer installed and Windows Hello functionality no longer works. I am also unable to revert to the previous 3.26.3.0 firmware as the installation always fail with realsense viewer reporting that the recovery device failed to connect in time or no device was detected in fw update mode.
Already saw this and tried it: https://support.intelrealsense.com/hc/en-us/community/posts/360037842634-SR300-firmware-updated-and-is-now-detected-as-SR305
Trying to downgrade via the
rs-fw-update
tool doesn't work eitherTried the following also but it does not work: https://github.com/IntelRealSense/librealsense/issues/4435