"Does your camera have a separate mode on the dial for BULB mode, or do you have to put the dial in manual mode, and adjust the exposure duration to get to bulb mode?"
The latter. Once in manual mode, I just turn the shutter speed dial until it hits BULB, which is right after the 30 second maximum dial-able exposure time, This is the same for the DSLR D5100, and the mirrorless J4.
"Would you mind posting screenshots of each config screen in the Nikon INDI control panel?"
Sure. Hopefully some of them will be readable here, as they're quite long. Because I had to composite some of the screens, I only did it for the D5100, but being as they both react the same way, then perhaps (hopefully) the same issue(s) affect both. As best as I can remember, these are the default Ekos settings.
I will start with a view of the rear screen of my D5100 as I have it set to be connected to Ekos, as well as the profile settings for it in Ekos. The D5100 has a non-electronic manual lens on it to emulate a telescope attached. These will be followed by the data from each tab for the camera in the INDI Control Panel. There is an 8 image maximum per post here, so I will break it up between two posts. Hopefully this is of help:
I have no experience using a DSLR with INDI, however, are you using a camera lens or a telescope?
Losmandy G11 with Gemini 2 controller
QSI 583/683 monochrome camera with filter wheel
Starlight Xpress Lodestar X2 guide camera
Microtouch Focuser controlled using Arduino UNO emulating Feathertouch controller
Raspberry Pi 2GB with Raspberry Pi OS 32bit
Phil, you say gphoto is working for you. What is the actual commands that you're running? INDI may not be running the same command, which could lead to it not taking the image. So providing the command that is working we can check the INDI code and see if if they match.
RPI 4 B (4Gb) running Manjaro ARM
SkyWatcher Esprit 80ED
ZWO ASI1600MM Pro
PrimaLuceLab Sesto Senso 2
"As a simple test, can you put a lens on the camera (or one of the other cameras that don't work, if that would be easier), and see if Ekos can then take a picture?"
I had already done that. I got the same result. I had it in both manual and program modes with the kit lens.
For completeness' sake, I put the camera in the same manual/bulb/"no" lens mode and went back to GPHOTO2, but when I tried GPHOTO2, apparently is has disappeared from my system, because I got some strange error messages that you can see below. At first I thought it was because I was in manual/bulb/"no" lens mode, but when I reverted back to the kit lens in program mode, which was how it was when I first installed and used GPHOTO2, I still had the same error. I disconnected and restarted and reconnected the camera and I still got the same errors. HOWEVER...
...I started Entangle, and it was able to see the camera, AND shoot in manual/bulb/"no" lens mode. So I don't know why GPHOTO2 has stopped working, or has disappeared off the system. Again.
Have I mentioned how much I think Linux sucks?
"Phil, you say gphoto is working for you. What is the actual commands that you're running? INDI may not be running the same command, which could lead to it not taking the image. So providing the command that is working we can check the INDI code and see if if they match."
Well, I'm sure you've read the above, but when GPHOTO2 WAS working, ALL the commands you see below worked. Anything in parenthesis were notes made by me:
ls (list files in current selected directory)
CTRL-C (cancels process)
gphoto2 --list-files (on camera SD card)
gphoto2 --get-all-files (from camera SD card)
gphoto2 --list-config|grep shut (or other parameter)
gphoto2 --get-config shutterspeed (must be in manual mode)
gphoto2 --set-config shutterspeed=x
gphoto2 --capture-image-and-download (will ask to overwrite)
gphoto2 --capture-image-and-download --filename "myphoto.jpg"
gphoto2 --capture-image-and-download --filename "%Y%m%d%H%M%s.jpg"
gphoto2 --set-config capturetarget=0 (does not write to SD card and downloads, =1 reverts)
gphoto2 --capture-tethered (CTRL-C cancels)
gphoto2 --capture-tethered=XXs (runs tethers for specified period of time)
gphoto2 --trigger-capture "--camera=(camera name)" (when more than one camera is connected)
...and, while I'm clutching for straws here, WHY would GPHOTO2 just disappear like that? Could that be what's causing Ekos to not work, if it tries to access GPHOTO2 in order to control the cameras? I went back to the add/remove software panel, and it still list it as installed. It was not listed this way when I first installed it, but now still is.
While we're in this panel, there appears to be a number of other GPHOTO2-related installations, are any of these uninstalled items needed by Ekos to work with GPHOTO2, and if so, why wouldn't they already be installed? Would any of them appear to help the situation?
"You have some typos in your commands, which is probably why you were getting errors."
Ha! Yeah, Linux... However I'm curious why GPHOTO2 wasn't installed the first time I went to use it (when I didn't have typos LOL). I had to install it. Doesn't Ekos need it, or is GPHOTO2 embedded into it somehow?
"I did some searching, and at least one person was able to get past this problem by using the INDI gphoto DSLR driver instead of the (in this case) Canon DSLR driver. Can you give that a try?"
Are you saying use the generic driver in Ekos, or something else? If you meant the generic, I'll try that anyway and see what happens. If you meant something else, I wouldn't know how to go about that.
EDIT: I tried the generic driver, same thing.
I see in a previous post you used gphoto2 in program mode, not bulb mode. Can you try gphoto2 in bulb mode? Something like this should take a 30s image (I haven't tried it, my DSLRs all have dead batteries right now).
Oh, and as for why gphoto2 wasn't installed. It's split into two packages. A library, that can be used by other programs, and a command line client. The library was already installed and used by INDI, just not the command line tool.
Well, with that command, I got this:
astroberry@astroberry:~ $ gphoto2 --set-config bulb=1 --wait-event=30s --set-config bulb=0 --wait-event-and-download=2s
*** Error ***
Failed to set new configuration value 1 for configuration entry bulb.
Waiting for 30 seconds for events from camera. Press Ctrl-C to abort.
UNKNOWN PTP Property 5007 changed
UNKNOWN PTP Property 5008 changed
UNKNOWN PTP Property 500d changed
UNKNOWN PTP Property 500e changed
I tried Entangle in manual mode. It can control the camera up to it's 30 second available shutter speed, but it either doesn't appear to be designed to control a camera in BULB, or it was affected by the same error as in the command line above.