Closed malban closed 4 years ago
@abhijitmajumdar Please review (I can't assign you as a reviewer for some reason).
@abhijitmajumdar I added a new commit with some fixes to allow camera hot plugging.
The docker compose needs to be modified to replace:
volumes:
- /dev/bus/usb:/dev/bus/usb
with:
volumes:
- /dev:/dev
Then it should be possible to unplug and re-plug the camera into the USB and the driver should automatically recover, or to plug in the camera after the system has started.
@malban review done, looks good, some minor comments, but approved otherwise. I trust your statement on replugging to work inside docker and not cause the re-enumeration problem, looking forward to see that working
@malban review done, looks good, some minor comments, but approved otherwise. I trust your statement on replugging to work inside docker and not cause the re-enumeration problem, looking forward to see that working
The /dev/videoN
re-enumeration still happens sometimes, but changing the docker-compose file to mount /dev
allows the new enumeration to be accessible in the container. The driver doesn't care what the actual enumeration is as long as it is accessible since it gets the device by serial number not device path.
I'll post a follow-up but for now I'm merging.
While running a long testing with very short timeout
(set to 0.05 to 0.08), in order to forcefully trigger respawning Realsense node, buffer overflow
error that causes the nodelet manager to crash was observed. Roughly speaking it happened once in 2 hours (on a computer where 2 nodes with 2 cameras are running).
With limited time, @malban and I couldn't narrowed down whether the cause is in the code itself, or it is in the test spec where driver was forced to restart very frequently. Plus One will keep an eye on it, esp. by running long running test that involves rebooting Linux (if the root cause is in the code itself, then sooner or later we should hit the same issue during long running reboot test).