@Jasem thanks for your help and patiently answering my questions. Finally solved the issue by disabling/removing virtualgps device (software) and after that it worked great. Now Indi panel can see CQ 350 mount with SkyWatcher -> EQMount driver. All good now!
--- Additional information, for those interested ---
In my troubleshooting attempts, nothing weird found in the dmesg. Although, there were logs in the syslog (/var/log/syslog) that indicated virtual gps daemon was trying to claim /dev/ttyUSB0 before EQMount driver
Apr 13 14:27:06 astro01 systemd[1]: Starting Manage ttyUSB0 for GPS daemon...
Apr 13 14:27:06 astro01 gpsdctl: gpsd_control(action=add, arg=/dev/ttyUSB0)
Apr 13 14:27:06 astro01 gpsdctl: reached a running gpsd
Here are some of troubleshooting results. Computer is connected using USB port (computer) to USB/B type port on the mount
side.
----
fuser -k /dev/ttyUSB0. : Shows no output, before or after Ekos/Indi startup. (I would expect pid of some process, if busy using it, but nothing shows up)
lsof | grep -i usb0 : Shows no output, before or after Ekos/Indi startup. (I would expect process details, if using it)
I also captured the strace for the runnng indi_eqmod_telescope process and then hit connect several times. stace gave the following output.
$ sudo strace -fp 2686
strace: Process 2686 attached
pselect6(1, [0], NULL, NULL, NULL, NULL
) = 1 (in [0])
read(0, "<newSwitchVector device=\"EQMod M"..., 2048) = 127
openat(AT_FDCWD, "/dev/ttyUSB0", O_RDWR|O_NOCTTY|O_CLOEXEC) = -1 EBUSY (Device or resource busy)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=1, tv_nsec=0}, NULL) = 0
openat(AT_FDCWD, "/dev/ttyUSB0", O_RDWR|O_NOCTTY|O_CLOEXEC) = -1 EBUSY (Device or resource busy)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=1, tv_nsec=0}, NULL) = 0
openat(AT_FDCWD, "/dev/ttyUSB0", O_RDWR|O_NOCTTY|O_CLOEXEC) = -1 EBUSY (Device or resource busy)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=1, tv_nsec=0}, NULL) = 0
sendmsg(1, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="<?xml version='1.0'?>\n<message\n "..., iov_len=176}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 176
sendmsg(1, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="<?xml version='1.0'?>\n<setSwitch"..., iov_len=278}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 278
pselect6(1, [0], NULL, NULL, NULL, NULL) = 1 (in [0])
read(0, "<newSwitchVector device=\"EQMod M"..., 2048) = 381
openat(AT_FDCWD, "/dev/ttyUSB0", O_RDWR|O_NOCTTY|O_CLOEXEC) = -1 EBUSY (Device or resource busy)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=1, tv_nsec=0}, NULL) = 0
openat(AT_FDCWD, "/dev/ttyUSB0", O_RDWR|O_NOCTTY|O_CLOEXEC) = -1 EBUSY (Device or resource busy)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=1, tv_nsec=0}, NULL) = 0
openat(AT_FDCWD, "/dev/ttyUSB0", O_RDWR|O_NOCTTY|O_CLOEXEC) = -1 EBUSY (Device or resource busy)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=1, tv_nsec=0}, NULL) = 0
sendmsg(1, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="<?xml version='1.0'?>\n<message\n "..., iov_len=176}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 176
sendmsg(1, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="<?xml version='1.0'?>\n<setSwitch"..., iov_len=278}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 278
openat(AT_FDCWD, "/dev/ttyUSB0", O_RDWR|O_NOCTTY|O_CLOEXEC) = -1 EBUSY (Device or resource busy)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=1, tv_nsec=0}, NULL) = 0
openat(AT_FDCWD, "/dev/ttyUSB0", O_RDWR|O_NOCTTY|O_CLOEXEC) = -1 EBUSY (Device or resource busy)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=1, tv_nsec=0}, NULL) = 0
openat(AT_FDCWD, "/dev/ttyUSB0", O_RDWR|O_NOCTTY|O_CLOEXEC) = -1 EBUSY (Device or resource busy)
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=1, tv_nsec=0}, NULL) = 0
I have tried several combinations. Selecting specific ports, changing port device path, Baud rates, Auto-Search enabled/disabled, Scan Ports etc. None of that worked. The computer (Ubuntu 22.04.02 LTS) has only mount (via USB) and ZWO Camera connected (minimum required for testing). This is a fairly newer mount from Skywatcher(announced in Dec 2022). I am wondering if the Indi driver needs some additional tweaking to make it work. Happy to help, if I can provide additional logging/debugging information.
(Another data point: Tried the same USB port with Synscan Pro software on Windows Computer, also using Prolific USB/Serial driver. It works with that.)
Read More...
Anyone able to connect Ekos/Kstars with Skywatcher CQ 350 mount?
I have my old set up working with EQ6-R Pro connecting my Ubuntu Linux pc/USB port directly connected to the mount and using EQMOUNT indi driver.
When I try a similar setup with the CQ350 Pro mount, it doesn't work. I keep getting this error. There is no other serial device connected.
/dev/serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller_D-if00-port0 is already used by another driver or process.
sudo screen /dev/ttyUSB0 115200