×

INDI Library v2.0.7 is Released (01 Apr 2024)

Bi-monthly release with minor bug fixes and improvements

Ekos does not recognise ZWO USBST4 adapter

  • Posts: 49
  • Thank you received: 0
Hi everyone!
Im new here and to astrophotography, and so far, Ive been able to tackle the steep learning curve pretty well, but now Ive bumped into something that goes way out of my 'knowledge zone'.
My last image I shot was pretty good, but it had a lot of raining noise, so I want to blind dither (I dont have an autoguide setup). I just bought a ZWO USBST4 adapter earlier today, and for some reason, I cant get it to connect to Ekos.

My setup:
-Raspberry pi 4 2GB running the latest Astroberry version
-Sky-Watcher Star adventurer connected to Pi through ST4-USBST4 adapter-usb
-Canon 60D connected to Pi through usb (works almost as expected, no major problems)

My 'workflow':
-I connect the hardware (SA->Adapter-> RPi)
-I start Kstars/Ekos
-I made a new profile with an EQmod mount driver and a CCD simulator (to just test the mount for now, combining with camera will come later)
-When I press 'start Ekos', it says 'Mount disconnected'
-Going into the INDI Control panel under connection options, I changed the port from '/dev/ttyusb0' to 'dev/usb/hiddev0' since thats where the adapter pops up on my Pi

Things I tried:
-adding the astroberry pi to the 'dialout' group, but the user is already in the group
-giving the user root access, which doesnt seem to work
-using dmesg, I checked which usb ports are used, and it appears that there are 2 tty instances: 'ttyS0' and 'ttyAMA0'. Trying either of these as a port just returns a timeout error, and it kinda gets stuck in a loop where it tries to connect but gets a timeout error.

Is there anyone who has had similar experiences, or has good experiences with the ZWO USBST4 adapter?
Last edit: 3 years 9 months ago by Michiel Desmedt. Reason: Extended with things I have tried already
3 years 9 months ago #56508

Please Log in or Create an account to join the conversation.

  • Posts: 389
  • Thank you received: 15
Hello,

The ports described for the PI are reserved for the OS. Usually, CCD devices are fine working under the USB port. ACM type devices need rules used to ensure consistent ports are used. Sharing a port is not welcomed.

Open terminal. Type lsusb. Paste the results in a reply. This will aid in deciding the course of action. I am puzzled why an ST4 emulator is required. ST4 is usually a mount controller which a CCD connects to for guiding.

To me, rules.d needs a custom 99-ZWOUSBST4. Rules. We would need the output from the lsusb command to create one.
3 years 9 months ago #56522

Please Log in or Create an account to join the conversation.

  • Posts: 49
  • Thank you received: 0
The result of lsusb is:

<code>Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 03c3:cccc
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
</code>

So Device 003 is the adapter, because it disappears when unplugging it.
The reason I need to have an adapter is because I dont have an autoguider (dont need it as well as light pollution limits the exposure to <30s), but I do need to dither due to walking noise (blind dither is possible in Ekos)
Last edit: 3 years 9 months ago by Michiel Desmedt.
3 years 9 months ago #56523

Please Log in or Create an account to join the conversation.

  • Posts: 389
  • Thank you received: 15
Hello,

This is a process. 1. Open terminal. 2. Type: sudo geany 3. provide password. 4. copy they following in entirity.

# ZWO USBST4 adapater
ATTRS{idVendor}=="03c3",ATTRS{idProduct}=="cccc",ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="03c3",ATTRS{idProduct}=="cccc",ENV{MTP_NO_PROBE}="1"
KERNEL=="ttyACM*", SUBSYSTEM=="tty",ATTRS{idVendor}=="03c3",ATTRS{idProduct}=="cccc",SYMLINK+="ZWOUSBST4", MODE="0666"


5. Paste the contents into Geany, the first document. 6. Save As into /lib/udev/rules.d as 99-ZWOUSBST4.rules 7. Close Geany. 8. Restart PI. 9. Upon restart, open terminal and type lsusb. 10 Open KSTARS, Then EKOS and add to a profile the ZWOUSBST4. 11. Look for
ttyACM1 as the port for the ZWOUSBST4. With terminal, type: ls /dev/ZWO*
3 years 9 months ago #56562

Please Log in or Create an account to join the conversation.

  • Posts: 49
  • Thank you received: 0
Thanks for your help!

Unfortunately, it didnt change anything. lsusb still gives the exact same output as in my previous comment:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 03c3:cccc  
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

And when I search for the port by typing ls /dev/ZWO*, it does not seem to find any file like that:
ls: cannot access '/dev/ZWO*': No such file or directory

Visually checking there is indeed no new port created.
Maybe I should have mentioned it before, but the Pi does recognise the adapter as ath ST4 adapter from ZWO, as seen from dmesg:
[    1.307690] usb 1-1.1: new full-speed USB device number 3 using xhci_hcd
[    1.442369] usb 1-1.1: New USB device found, idVendor=03c3, idProduct=cccc, bcdDevice= 0.00
[    1.442384] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    1.442397] usb 1-1.1: Product: USBST4
[    1.442409] usb 1-1.1: Manufacturer: ZW0
[    1.453465] hid-generic 0003:03C3:CCCC.0001: hiddev96,hidraw0: USB HID v1.01 Device [ZW0 USBST4] on usb-0000:01:00.0-1.1/input0

Anything else I can try?
3 years 9 months ago #56597

Please Log in or Create an account to join the conversation.

  • Posts: 1957
  • Thank you received: 420
Disconnect the ZWO USBST4 adapter, open a terminal and type

dmesg -w

This will print out all kernel messages since the start of the machine. Wait for the scrolling to stop. Then the command will wait for more kernel messages to appear (that's what the -w flag does). Then plug in the ZWO USBST4 device. Copy and paste the new kernel messages here so we can see what they look like.

You can exit the dmesg command by typing CTRL-c.


HTH, Wouter
3 years 9 months ago #56602

Please Log in or Create an account to join the conversation.

  • Posts: 49
  • Thank you received: 0
Thanks for your reply!

The output is at first sight the same as what I posted before. Anyway, the output I got now is:
[   98.978219] usb 1-1.1: new full-speed USB device number 3 using xhci_hcd
[   99.112967] usb 1-1.1: New USB device found, idVendor=03c3, idProduct=cccc, bcdDevice= 0.00
[   99.112984] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   99.112997] usb 1-1.1: Product: USBST4
[   99.113009] usb 1-1.1: Manufacturer: ZW0
[   99.139386] hid-generic 0003:03C3:CCCC.0001: hiddev96,hidraw0: USB HID v1.01 Device [ZW0 USBST4] on usb-0000:01:00.0-1.1/input0
3 years 9 months ago #56603

Please Log in or Create an account to join the conversation.

  • Posts: 389
  • Thank you received: 15
# ZWO USBST4 adapater
ATTRS{idVendor}=="03c3",ATTRS{idProduct}=="cccc",ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="03c3",ATTRS{idProduct}=="cccc",ENV{MTP_NO_PROBE}="1"
KERNEL=="ttyACM*",SUBSYSTEM=="tty",ATTRS{idVendor}=="03c3",ATTRS{idProduct}=="cccc",ATTRS{iProduct}==“USBST4”,SYMLINK+="ZWOUSBST4",MODE="0666"


Hello,

Looks like spaces were introduced. Spaces are bad in this file. The OS doesn’t like them.

I have to ask this question. Which AstroBerry version is the target? The place for RPI4B and Raspbian rules is “/lib/udev/rules.d”. For the RPI3B or RPI3B+, the rule can be in two places, lib and etc.

First, let’s see what udev complained about our custom rule.

dmesg | grep udev

Update the script with the version given. Make sure no spaces are before or after commas. Save into /lib/udev/rules.d. When you open Geany, use the recent to reopen the rule rather the looking for /lib/udev/rules.d.
Last edit: 3 years 9 months ago by John Robison.
3 years 9 months ago #56613

Please Log in or Create an account to join the conversation.

  • Posts: 49
  • Thank you received: 0
Ah, I already deleted a space, but there was another one I didn't delete before :)

Unfortunately, it still doesn't work after rebooting, it still shows just:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 03c3:cccc  
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

udev doesn't seem to complain at all, as dmesg | grep udev does not return anything (neither does dmesg | grep *udev*). My guess is that is doesn't complain because it is actually already recognized:
[   98.978219] usb 1-1.1: new full-speed USB device number 3 using xhci_hcd
[   99.112967] usb 1-1.1: New USB device found, idVendor=03c3, idProduct=cccc, bcdDevice= 0.00
[   99.112984] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   99.112997] usb 1-1.1: Product: USBST4
[   99.113009] usb 1-1.1: Manufacturer: ZW0
[   99.139386] hid-generic 0003:03C3:CCCC.0001: hiddev96,hidraw0: USB HID v1.01 Device [ZW0 USBST4] on usb-0000:01:00.0-1.1/input0

I am using a RPi4 2GB, running Astroberry Version 2.0.3
3 years 9 months ago #56629

Please Log in or Create an account to join the conversation.

  • Posts: 389
  • Thank you received: 15
Hello,

Fantastic! We are talking about the same Hardware and OS. Contrary. The OS enumerates the device successfully. The OS is working. The vendor is responsible for providing detail for lsusb enumeration. ZWO didn’t fill in description.

What isn’t working is assigning a PI resource to manage communication. PI has very limited resources. This is what we are attempting to do.

Create a terminal. Run this command, ls /dev/ttyACM*. If nothing specific shows, the rule failed. If something does, success!

Use dmesg | grep systemd. The Raspbian OS isn’t as verbose as Ubuntu Mate with rules.

I installed two syslog readers. Gnome-log reader and gnome-syslog reader. Syslog reader also other logs to be open. I like reading indiwebmanager logs with it.
The following user(s) said Thank You: Michiel Desmedt
Last edit: 3 years 9 months ago by John Robison.
3 years 9 months ago #56630

Please Log in or Create an account to join the conversation.

  • Posts: 49
  • Thank you received: 0
Thank you very much! Im getting really desparate (because of other problems with Astroberry and Astrophotography) so getting help here is very much appreciated!

Unfortunately, it does not show the new rule. Visually checking also shows there is no ttyACM* instance in the /dev folder.
Using dmesg | grep systemd gives me this:
astroberry@astroberry:~ $ dmesg | grep systemd
[    1.032518] systemd[1]: System time before build time, advancing clock.
[    1.151073] systemd[1]: systemd 241 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid)
[    1.151743] systemd[1]: Detected architecture arm.
[    1.159607] systemd[1]: Set hostname to <astroberry>.
[    1.760489] systemd[1]: /etc/systemd/system/teamviewerd.service:8: PIDFile= references path below legacy directory /var/run/, updating /var/run/teamviewerd.pid → /run/teamviewerd.pid; please update the unit file accordingly.
[    1.817107] systemd[1]: /lib/systemd/system/smbd.service:9: PIDFile= references path below legacy directory /var/run/, updating /var/run/samba/smbd.pid → /run/samba/smbd.pid; please update the unit file accordingly.
[    1.846837] systemd[1]: /lib/systemd/system/nmbd.service:9: PIDFile= references path below legacy directory /var/run/, updating /var/run/samba/nmbd.pid → /run/samba/nmbd.pid; please update the unit file accordingly.
[    1.948921] random: systemd: uninitialized urandom read (16 bytes read)
[    1.958601] random: systemd: uninitialized urandom read (16 bytes read)
[    1.963186] systemd[1]: Listening on fsck to fsckd communication Socket.
[    1.963562] random: systemd: uninitialized urandom read (16 bytes read)
[    1.964519] systemd[1]: Listening on Syslog Socket.
[    1.968990] systemd[1]: Listening on Journal Socket.
[    1.969160] systemd[1]: Condition check resulted in Kernel Module supporting RPCSEC_GSS being skipped.
[    2.561543] systemd-journald[122]: Received request to flush runtime journal from PID 1

(sidenote: I installed teamviewer because I dont like the scaling option of the VNC viewer)
3 years 9 months ago #56631

Please Log in or Create an account to join the conversation.

  • Posts: 389
  • Thank you received: 15
Hello,

I think I found part of the problem with this scenario. The commands I have given are dependent on a working syslog service. A non working syslog service doesn’t log every OS service call. I know udevadmin is the service that loads rules. It will complain about bad syntax when syslog is working.

The management of syslog is us. I was not happy with the number of necessary pieces needed with syslogklod and klodlog. They seemed to not log as much as Ubuntu Mate.

One of the gnome tools identified the problem. My syslog was dated 6/23. That isn’t today.

Run this command under sudo to confirm syslog.service is working.

service syslog status

A working syslog will provide a running status. I have assigned successfully ttyACM0 and ttyACM1 as dedicated ports for my GPSD and AstroEQ. A working syslog allowed me to debug my foibles.

I also noticed, under Raspbian, two locations of rules.d. When I confirm a working syslog, I will see which folder udevadm loads rules. My syslog isn’t working at the present.
3 years 9 months ago #56667

Please Log in or Create an account to join the conversation.

Moderators: Radek Kaczorek
Time to create page: 1.432 seconds