This troubleshooting guide will give you steps to verify your camera can be used with tethering. This is done using the gphoto2 commandline tools. This is what darktable uses to interface with your camera.
Verify that camera is detected
The following command will verify a camera that is connected to the computer and detected by gphoto2. Find your camera port name to use it in the following tests below. Usually port “usb:” will be enough and therefore used in these examples.
env LANG=C gphoto2 --auto-detect
Verify camera driver abilities
Execute the following command and verify that the capture choices ability supports “Image” and configuration support is “yes”. darktable will check these two abilities and decide if “tethered shoot” button should be shown or not.
env LANG=C gphoto2 --port usb: --abilities
Verify camera remote capture
This step will verify that your camera can be remotely controlled; that it can capture an image, download it to your computer and display it within darktable.
env LANG=C gphoto2 --port usb: --capture-image-and-download
Verify camera tethered capture
And this last step tests if your camera supports events which darktable heavily relies on. Running this command will make the gphoto2 process wait for an image capture event which you must manually trigger on your camera. If successful, the image will be downloaded to your computer.
env LANG=C gphoto2 --port usb: --capture-tethered