fix: update USB rules for Gemini 338L and 331L devices

This commit is contained in:
ob-yalian
2026-04-13 20:44:35 +08:00
parent 0db8fdc5d3
commit fcd741f541
4 changed files with 331 additions and 2 deletions
Binary file not shown.
Binary file not shown.
@@ -1756,7 +1756,336 @@
<Format>Y8</Format>
</RightIR>
</Gemini338>
<Gemini338Lg>
<!-- Default backend for Linux UVC devices. If the LinuxUVCBackend is set to "Auto,"
this item will determine the device's speciality. Optional values: V4L2, LibUVC -->
<LinuxUVCDefaultBackend>LibUVC</LinuxUVCDefaultBackend>
<Misc>
<GlobalTimestampFitterEnable>true</GlobalTimestampFitterEnable>
<!-- Global timestamp fitter refresh interval, unit: milliseconds, default value: 1000,
minimum value: 100, it is recommended not to be greater than 1000 -->
<GlobalTimestampFitterInterval>1000</GlobalTimestampFitterInterval>
<!-- Global timestamp fitter queue size, default value: 100, minimum value: 20 -->
<GlobalTimestampFitterQueueSize>100</GlobalTimestampFitterQueueSize>
</Misc>
<DepthPostProcessing>
<HardwareNoiseRemoveFilter>true</HardwareNoiseRemoveFilter>
<SoftwareNoiseRemoveFilter>false</SoftwareNoiseRemoveFilter>
</DepthPostProcessing>
<!-- Whether to enable heartbeat by default -->
<DefaultHeartBeat>0</DefaultHeartBeat>
<!-- Whether to enable firmware upgrade foolproof by default, only internal version
supports -->
<FirmwareUpgradeFoolproof>1</FirmwareUpgradeFoolproof>
<!-- Depth Filter Params -->
<!--
<DepthFilterDDOConfig>./Gemini2_v1.0.json</DepthFilterDDOConfig>
-->
<Depth>
<!-- Number of retries for open stream failures, 0 means no retries -->
<StreamFailedRetry>1</StreamFailedRetry>
<!-- Open flow waits for the timeout period of the first frame of data, after which
the open flow will fail -->
<MaxStartStreamDelayMs>3000</MaxStartStreamDelayMs>
<!-- The maximum frame interval time, if this value is exceeded, it will be judged
that the stream is interrupted -->
<MaxFrameIntervalMs>3000</MaxFrameIntervalMs>
<!-- The resolution width is enabled by default, int type -->
<Width>848</Width>
<!-- High resolution is enabled by default, int type -->
<Height>480</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>30</FPS>
<Format>Y16</Format>
</Depth>
<Color>
<!-- Number of retries for open stream failures, 0 means no retries -->
<StreamFailedRetry>1</StreamFailedRetry>
<!-- Open flow waits for the timeout period of the first frame of data, after which
the open flow will fail -->
<MaxStartStreamDelayMs>3000</MaxStartStreamDelayMs>
<!-- The maximum frame interval time, if this value is exceeded, it will be judged
that the stream is interrupted -->
<MaxFrameIntervalMs>3000</MaxFrameIntervalMs>
<!-- The resolution width is enabled by default, int type -->
<Width>1280</Width>
<!-- High resolution is enabled by default, int type -->
<Height>720</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>30</FPS>
<Format>MJPG</Format>
</Color>
<LeftIR>
<!-- The resolution width is enabled by default, int type -->
<Width>848</Width>
<!-- High resolution is enabled by default, int type -->
<Height>480</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>30</FPS>
<Format>Y8</Format>
</LeftIR>
<RightIR>
<!-- The resolution width is enabled by default, int type -->
<Width>848</Width>
<!-- High resolution is enabled by default, int type -->
<Height>480</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>30</FPS>
<Format>Y8</Format>
</RightIR>
</Gemini338Lg>
<!-- Gemini338Le config -->
<Gemini338Le>
<!-- Whether to enable heartbeat by default -->
<DefaultHeartBeat>0</DefaultHeartBeat>
<!-- Whether to enable firmware upgrade foolproof by default, only internal version
supports -->
<FirmwareUpgradeFoolproof>1</FirmwareUpgradeFoolproof>
<Misc>
<GlobalTimestampFitterEnable>true</GlobalTimestampFitterEnable>
<!-- Global timestamp fitter refresh interval, unit: milliseconds, default value: 1000,
minimum value: 100, it is recommended not to be greater than 1000 -->
<GlobalTimestampFitterInterval>1000</GlobalTimestampFitterInterval>
<!-- Global timestamp fitter queue size, default value: 100, minimum value: 20 -->
<GlobalTimestampFitterQueueSize>100</GlobalTimestampFitterQueueSize>
</Misc>
<DepthPostProcessing>
<HardwareNoiseRemoveFilter>false</HardwareNoiseRemoveFilter>
<SoftwareNoiseRemoveFilter>true</SoftwareNoiseRemoveFilter>
</DepthPostProcessing>
<!-- Whether to enable heartbeat by default -->
<DefaultHeartBeat>0</DefaultHeartBeat>
<!-- Whether to enable firmware upgrade foolproof by default, only internal version
supports -->
<FirmwareUpgradeFoolproof>1</FirmwareUpgradeFoolproof>
<!-- Depth Filter Params -->
<!--
<DepthFilterDDOConfig>./Gemini2_v1.0.json</DepthFilterDDOConfig>
-->
<Depth>
<!-- Number of retries for open stream failures, 0 means no retries -->
<StreamFailedRetry>0</StreamFailedRetry>
<!-- Open flow waits for the timeout period of the first frame of data, after which
the open flow will fail -->
<MaxStartStreamDelayMs>2000</MaxStartStreamDelayMs>
<!-- The maximum frame interval time, if this value is exceeded, it will be judged
that the stream is interrupted -->
<MaxFrameIntervalMs>2000</MaxFrameIntervalMs>
<!-- The resolution width is enabled by default, int type -->
<Width>640</Width>
<!-- High resolution is enabled by default, int type -->
<Height>400</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>15</FPS>
<Format>Y16</Format>
</Depth>
<Color>
<!-- Number of retries for open stream failures, 0 means no retries -->
<StreamFailedRetry>0</StreamFailedRetry>
<!-- Open flow waits for the timeout period of the first frame of data, after which
the open flow will fail -->
<MaxStartStreamDelayMs>2000</MaxStartStreamDelayMs>
<!-- The maximum frame interval time, if this value is exceeded, it will be judged
that the stream is interrupted -->
<MaxFrameIntervalMs>2000</MaxFrameIntervalMs>
<!-- The resolution width is enabled by default, int type -->
<Width>640</Width>
<!-- High resolution is enabled by default, int type -->
<Height>400</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>15</FPS>
<Format>MJPG</Format>
</Color>
<LeftIR>
<!-- The resolution width is enabled by default, int type -->
<Width>640</Width>
<!-- High resolution is enabled by default, int type -->
<Height>400</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>15</FPS>
<Format>Y8</Format>
</LeftIR>
<RightIR>
<!-- The resolution width is enabled by default, int type -->
<Width>640</Width>
<!-- High resolution is enabled by default, int type -->
<Height>400</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>15</FPS>
<Format>Y8</Format>
</RightIR>
</Gemini338Le>
<Gemini338L>
<!-- Default backend for Linux UVC devices. If the LinuxUVCBackend is set to "Auto,"
this item will determine the device's speciality. Optional values: V4L2, LibUVC -->
<LinuxUVCDefaultBackend>LibUVC</LinuxUVCDefaultBackend>
<Misc>
<GlobalTimestampFitterEnable>true</GlobalTimestampFitterEnable>
<!-- Global timestamp fitter refresh interval, unit: milliseconds, default value: 1000,
minimum value: 100, it is recommended not to be greater than 1000 -->
<GlobalTimestampFitterInterval>1000</GlobalTimestampFitterInterval>
<!-- Global timestamp fitter queue size, default value: 100, minimum value: 20 -->
<GlobalTimestampFitterQueueSize>100</GlobalTimestampFitterQueueSize>
</Misc>
<DepthPostProcessing>
<HardwareNoiseRemoveFilter>true</HardwareNoiseRemoveFilter>
<SoftwareNoiseRemoveFilter>false</SoftwareNoiseRemoveFilter>
</DepthPostProcessing>
<!-- Whether to enable heartbeat by default -->
<DefaultHeartBeat>0</DefaultHeartBeat>
<!-- Whether to enable firmware upgrade foolproof by default, only internal version
supports -->
<FirmwareUpgradeFoolproof>1</FirmwareUpgradeFoolproof>
<!-- Depth Filter Params -->
<!--
<DepthFilterDDOConfig>./Gemini2_v1.0.json</DepthFilterDDOConfig>
-->
<Depth>
<!-- Number of retries for open stream failures, 0 means no retries -->
<StreamFailedRetry>0</StreamFailedRetry>
<!-- Open flow waits for the timeout period of the first frame of data, after which
the open flow will fail -->
<MaxStartStreamDelayMs>2000</MaxStartStreamDelayMs>
<!-- The maximum frame interval time, if this value is exceeded, it will be judged
that the stream is interrupted -->
<MaxFrameIntervalMs>2000</MaxFrameIntervalMs>
<!-- The resolution width is enabled by default, int type -->
<Width>848</Width>
<!-- High resolution is enabled by default, int type -->
<Height>480</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>30</FPS>
<Format>Y16</Format>
</Depth>
<Color>
<!-- Number of retries for open stream failures, 0 means no retries -->
<StreamFailedRetry>0</StreamFailedRetry>
<!-- Open flow waits for the timeout period of the first frame of data, after which
the open flow will fail -->
<MaxStartStreamDelayMs>2000</MaxStartStreamDelayMs>
<!-- The maximum frame interval time, if this value is exceeded, it will be judged
that the stream is interrupted -->
<MaxFrameIntervalMs>2000</MaxFrameIntervalMs>
<!-- The resolution width is enabled by default, int type -->
<Width>1280</Width>
<!-- High resolution is enabled by default, int type -->
<Height>720</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>30</FPS>
<Format>MJPG</Format>
</Color>
<LeftIR>
<!-- The resolution width is enabled by default, int type -->
<Width>848</Width>
<!-- High resolution is enabled by default, int type -->
<Height>480</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>30</FPS>
<Format>Y8</Format>
</LeftIR>
<RightIR>
<!-- The resolution width is enabled by default, int type -->
<Width>848</Width>
<!-- High resolution is enabled by default, int type -->
<Height>480</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>30</FPS>
<Format>Y8</Format>
</RightIR>
</Gemini338L>
<Gemini331L>
<!-- Default backend for Linux UVC devices. If the LinuxUVCBackend is set to "Auto,"
this item will determine the device's speciality. Optional values: V4L2, LibUVC -->
<LinuxUVCDefaultBackend>LibUVC</LinuxUVCDefaultBackend>
<Misc>
<GlobalTimestampFitterEnable>true</GlobalTimestampFitterEnable>
<!-- Global timestamp fitter refresh interval, unit: milliseconds, default value: 1000,
minimum value: 100, it is recommended not to be greater than 1000 -->
<GlobalTimestampFitterInterval>1000</GlobalTimestampFitterInterval>
<!-- Global timestamp fitter queue size, default value: 100, minimum value: 20 -->
<GlobalTimestampFitterQueueSize>100</GlobalTimestampFitterQueueSize>
</Misc>
<DepthPostProcessing>
<HardwareNoiseRemoveFilter>true</HardwareNoiseRemoveFilter>
<SoftwareNoiseRemoveFilter>false</SoftwareNoiseRemoveFilter>
</DepthPostProcessing>
<!-- Whether to enable heartbeat by default -->
<DefaultHeartBeat>0</DefaultHeartBeat>
<!-- Whether to enable firmware upgrade foolproof by default, only internal version
supports -->
<FirmwareUpgradeFoolproof>1</FirmwareUpgradeFoolproof>
<!-- Depth Filter Params -->
<!--
<DepthFilterDDOConfig>./Gemini2_v1.0.json</DepthFilterDDOConfig>
-->
<Depth>
<!-- Number of retries for open stream failures, 0 means no retries -->
<StreamFailedRetry>0</StreamFailedRetry>
<!-- Open flow waits for the timeout period of the first frame of data, after which
the open flow will fail -->
<MaxStartStreamDelayMs>2000</MaxStartStreamDelayMs>
<!-- The maximum frame interval time, if this value is exceeded, it will be judged
that the stream is interrupted -->
<MaxFrameIntervalMs>2000</MaxFrameIntervalMs>
<!-- The resolution width is enabled by default, int type -->
<Width>848</Width>
<!-- High resolution is enabled by default, int type -->
<Height>480</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>30</FPS>
<Format>Y16</Format>
</Depth>
<Color>
<!-- Number of retries for open stream failures, 0 means no retries -->
<StreamFailedRetry>0</StreamFailedRetry>
<!-- Open flow waits for the timeout period of the first frame of data, after which
the open flow will fail -->
<MaxStartStreamDelayMs>2000</MaxStartStreamDelayMs>
<!-- The maximum frame interval time, if this value is exceeded, it will be judged
that the stream is interrupted -->
<MaxFrameIntervalMs>2000</MaxFrameIntervalMs>
<!-- The resolution width is enabled by default, int type -->
<Width>1280</Width>
<!-- High resolution is enabled by default, int type -->
<Height>720</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>30</FPS>
<Format>MJPG</Format>
</Color>
<LeftIR>
<!-- The resolution width is enabled by default, int type -->
<Width>848</Width>
<!-- High resolution is enabled by default, int type -->
<Height>480</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>30</FPS>
<Format>Y8</Format>
</LeftIR>
<RightIR>
<!-- The resolution width is enabled by default, int type -->
<Width>848</Width>
<!-- High resolution is enabled by default, int type -->
<Height>480</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>30</FPS>
<Format>Y8</Format>
</RightIR>
</Gemini331L>
<!--DaBaiA config-->
<DaBaiA>
<!-- The default Linux UVC backend. If the LinuxUVCBackend is set to "Auto," this item
@@ -46,8 +46,8 @@ SUBSYSTEMS=="usb", ATTRS{idVendor}=="2bc5", ATTRS{idProduct}=="0842", MODE:="066
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2bc5", ATTRS{idProduct}=="0843", MODE:="0666", OWNER:="root", GROUP:="video", SYMLINK+="Gemini_301g"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2bc5", ATTRS{idProduct}=="081A", MODE:="0666", OWNER:="root", GROUP:="video", SYMLINK+="Gemini_338Lg"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2bc5", ATTRS{idProduct}=="081B", MODE:="0666", OWNER:="root", GROUP:="video", SYMLINK+="Gemini_338Le"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2bc5", ATTRS{idProduct}=="081B", MODE:="0666", OWNER:="root", GROUP:="video", SYMLINK+="Gemini_338Le"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2bc5", ATTRS{idProduct}=="081B", MODE:="0666", OWNER:="root", GROUP:="video", SYMLINK+="Gemini_338Le"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2bc5", ATTRS{idProduct}=="081C", MODE:="0666", OWNER:="root", GROUP:="video", SYMLINK+="Gemini_338L"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2bc5", ATTRS{idProduct}=="081D", MODE:="0666", OWNER:="root", GROUP:="video", SYMLINK+="Gemini_331L"
# OpenNI Modules
SUBSYSTEM=="usb", ATTR{idProduct}=="0400", ATTR{idVendor}=="2bc5", MODE:="0666", OWNER:="root", GROUP:="video", SYMLINK+="astra_bootloader"