Stefan Maier replied to the topic 'ASI 1600MMC freezes' in the forum. 7 years ago

Hi Yang,
thanks for looking into this.

I did more tests today.
First a few details of the stuff I used:

Devices:
- ASI1600MM-COOL
- Raspberry Pi 3 (Raspbian, Kernel: 4.1.18-v7+)
- Odroid XU4 (Ubuntu 16.04.2 LTS, Kernel: 3.10.105-137)
- AMD64 (Debian Jessie, Kernel: 4.8.0-1-amd64)

Software:
- Kstars 2.7.6
- libindi and the 3rd party asi driver from git HEAD

Settings:
ZWO CCD ASI1600MM-Cool.CONNECTION.CONNECT=On
ZWO CCD ASI1600MM-Cool.CONNECTION.DISCONNECT=Off
ZWO CCD ASI1600MM-Cool.DRIVER_INFO.DRIVER_NAME=ZWO CCD
ZWO CCD ASI1600MM-Cool.DRIVER_INFO.DRIVER_EXEC=indi_asi_ccd_GIT_VERSION_HERE
ZWO CCD ASI1600MM-Cool.DRIVER_INFO.DRIVER_VERSION=0.5
ZWO CCD ASI1600MM-Cool.DRIVER_INFO.DRIVER_INTERFACE=2
ZWO CCD ASI1600MM-Cool.DEBUG.ENABLE=Off
ZWO CCD ASI1600MM-Cool.DEBUG.DISABLE=On
ZWO CCD ASI1600MM-Cool.SIMULATION.ENABLE=Off
ZWO CCD ASI1600MM-Cool.SIMULATION.DISABLE=On
ZWO CCD ASI1600MM-Cool.CONFIG_PROCESS.CONFIG_LOAD=Off
ZWO CCD ASI1600MM-Cool.CONFIG_PROCESS.CONFIG_SAVE=Off
ZWO CCD ASI1600MM-Cool.CONFIG_PROCESS.CONFIG_DEFAULT=Off
ZWO CCD ASI1600MM-Cool.ACTIVE_DEVICES.ACTIVE_TELESCOPE=Telescope Simulator
ZWO CCD ASI1600MM-Cool.ACTIVE_DEVICES.ACTIVE_FOCUSER=Focuser Simulator
ZWO CCD ASI1600MM-Cool.ACTIVE_DEVICES.ACTIVE_FILTER=CCD Simulator
ZWO CCD ASI1600MM-Cool.ACTIVE_DEVICES.ACTIVE_SKYQUALITY=SQM
ZWO CCD ASI1600MM-Cool.CCD_EXPOSURE.CCD_EXPOSURE_VALUE=0.91799998283386230469
ZWO CCD ASI1600MM-Cool.CCD_ABORT_EXPOSURE.ABORT=Off
ZWO CCD ASI1600MM-Cool.CCD_FRAME.X=0
ZWO CCD ASI1600MM-Cool.CCD_FRAME.Y=0
ZWO CCD ASI1600MM-Cool.CCD_FRAME.WIDTH=4656
ZWO CCD ASI1600MM-Cool.CCD_FRAME.HEIGHT=3520
ZWO CCD ASI1600MM-Cool.CCD_BINNING.HOR_BIN=1
ZWO CCD ASI1600MM-Cool.CCD_BINNING.VER_BIN=1
ZWO CCD ASI1600MM-Cool.FITS_HEADER.FITS_OBSERVER=Unknown
ZWO CCD ASI1600MM-Cool.FITS_HEADER.FITS_OBJECT=Unknown
ZWO CCD ASI1600MM-Cool.CCD_TEMPERATURE.CCD_TEMPERATURE_VALUE=18.100000000000001421
ZWO CCD ASI1600MM-Cool.CCD_INFO.CCD_MAX_X=4656
ZWO CCD ASI1600MM-Cool.CCD_INFO.CCD_MAX_Y=3520
ZWO CCD ASI1600MM-Cool.CCD_INFO.CCD_PIXEL_SIZE=3.7999999523162841797
ZWO CCD ASI1600MM-Cool.CCD_INFO.CCD_PIXEL_SIZE_X=3.7999999523162841797
ZWO CCD ASI1600MM-Cool.CCD_INFO.CCD_PIXEL_SIZE_Y=3.7999999523162841797
ZWO CCD ASI1600MM-Cool.CCD_INFO.CCD_BITSPERPIXEL=8
ZWO CCD ASI1600MM-Cool.CCD_COMPRESSION.CCD_COMPRESS=Off
ZWO CCD ASI1600MM-Cool.CCD_COMPRESSION.CCD_RAW=On
ZWO CCD ASI1600MM-Cool.TELESCOPE_TIMED_GUIDE_NS.TIMED_GUIDE_N=0
ZWO CCD ASI1600MM-Cool.TELESCOPE_TIMED_GUIDE_NS.TIMED_GUIDE_S=0
ZWO CCD ASI1600MM-Cool.TELESCOPE_TIMED_GUIDE_WE.TIMED_GUIDE_W=0
ZWO CCD ASI1600MM-Cool.TELESCOPE_TIMED_GUIDE_WE.TIMED_GUIDE_E=0
ZWO CCD ASI1600MM-Cool.CCD_FRAME_TYPE.FRAME_LIGHT=On
ZWO CCD ASI1600MM-Cool.CCD_FRAME_TYPE.FRAME_BIAS=Off
ZWO CCD ASI1600MM-Cool.CCD_FRAME_TYPE.FRAME_DARK=Off
ZWO CCD ASI1600MM-Cool.CCD_FRAME_TYPE.FRAME_FLAT=Off
ZWO CCD ASI1600MM-Cool.CCD_RAPID_GUIDE.ENABLE=Off
ZWO CCD ASI1600MM-Cool.CCD_RAPID_GUIDE.DISABLE=On
ZWO CCD ASI1600MM-Cool.TELESCOPE_TYPE.TELESCOPE_PRIMARY=On
ZWO CCD ASI1600MM-Cool.TELESCOPE_TYPE.TELESCOPE_GUIDE=Off
ZWO CCD ASI1600MM-Cool.WCS_CONTROL.WCS_ENABLE=Off
ZWO CCD ASI1600MM-Cool.WCS_CONTROL.WCS_DISABLE=On
ZWO CCD ASI1600MM-Cool.UPLOAD_MODE.UPLOAD_CLIENT=On
ZWO CCD ASI1600MM-Cool.UPLOAD_MODE.UPLOAD_LOCAL=Off
ZWO CCD ASI1600MM-Cool.UPLOAD_MODE.UPLOAD_BOTH=Off
ZWO CCD ASI1600MM-Cool.UPLOAD_SETTINGS.UPLOAD_DIR=/home/tliff
ZWO CCD ASI1600MM-Cool.UPLOAD_SETTINGS.UPLOAD_PREFIX=Light_XXX
ZWO CCD ASI1600MM-Cool.CCD_VIDEO_STREAM.STREAM_ON=Off
ZWO CCD ASI1600MM-Cool.CCD_VIDEO_STREAM.STREAM_OFF=On
ZWO CCD ASI1600MM-Cool.STREAM_OPTIONS.STREAM_RATE=0
ZWO CCD ASI1600MM-Cool.FPS.EST_FPS=30
ZWO CCD ASI1600MM-Cool.FPS.AVG_FPS=30
ZWO CCD ASI1600MM-Cool.RECORD_STREAM.RECORD_ON=Off
ZWO CCD ASI1600MM-Cool.RECORD_STREAM.RECORD_DURATION_ON=Off
ZWO CCD ASI1600MM-Cool.RECORD_STREAM.RECORD_FRAME_ON=Off
ZWO CCD ASI1600MM-Cool.RECORD_STREAM.RECORD_OFF=On
ZWO CCD ASI1600MM-Cool.RECORD_FILE.RECORD_FILE_DIR=/tmp/indi__D_
ZWO CCD ASI1600MM-Cool.RECORD_FILE.RECORD_FILE_NAME=indi_record__T_.ser
ZWO CCD ASI1600MM-Cool.RECORD_OPTIONS.RECORD_DURATION=1
ZWO CCD ASI1600MM-Cool.RECORD_OPTIONS.RECORD_FRAME_TOTAL=30
ZWO CCD ASI1600MM-Cool.CCD_STREAM_FRAME.X=0
ZWO CCD ASI1600MM-Cool.CCD_STREAM_FRAME.Y=0
ZWO CCD ASI1600MM-Cool.CCD_STREAM_FRAME.WIDTH=4656
ZWO CCD ASI1600MM-Cool.CCD_STREAM_FRAME.HEIGHT=3520
ZWO CCD ASI1600MM-Cool.CCD_COOLER_POWER.CCD_COOLER_VALUE=0
ZWO CCD ASI1600MM-Cool.CCD_CONTROLS.Gain=200
ZWO CCD ASI1600MM-Cool.CCD_CONTROLS.Gamma=50
ZWO CCD ASI1600MM-Cool.CCD_CONTROLS.Brightness=1
ZWO CCD ASI1600MM-Cool.CCD_CONTROLS.BandWidth=40
ZWO CCD ASI1600MM-Cool.CCD_CONTROLS.Flip=0
ZWO CCD ASI1600MM-Cool.CCD_CONTROLS.AutoExpMaxGain=300
ZWO CCD ASI1600MM-Cool.CCD_CONTROLS.AutoExpMaxExp=30
ZWO CCD ASI1600MM-Cool.CCD_CONTROLS.AutoExpMaxExpMS=30000
ZWO CCD ASI1600MM-Cool.CCD_CONTROLS.AutoExpMaxBrightness=100
ZWO CCD ASI1600MM-Cool.CCD_CONTROLS.HardwareBin=0
ZWO CCD ASI1600MM-Cool.CCD_CONTROLS.HighSpeedMode=0
ZWO CCD ASI1600MM-Cool.CCD_CONTROLS.Pattern adjust=0
ZWO CCD ASI1600MM-Cool.CCD_CONTROLS_MODE.AUTO_Gain=Off
ZWO CCD ASI1600MM-Cool.CCD_CONTROLS_MODE.AUTO_BandWidth=Off
ZWO CCD ASI1600MM-Cool.CCD_VIDEO_FORMAT.ASI_IMG_RAW8=Off
ZWO CCD ASI1600MM-Cool.CCD_VIDEO_FORMAT.ASI_IMG_RAW16=On
ZWO CCD ASI1600MM-Cool.ACTIVE_DEVICES.ACTIVE_TELESCOPE=Telescope Simulator
ZWO CCD ASI1600MM-Cool.ACTIVE_DEVICES.ACTIVE_FOCUSER=Focuser Simulator
ZWO CCD ASI1600MM-Cool.ACTIVE_DEVICES.ACTIVE_FILTER=CCD Simulator
ZWO CCD ASI1600MM-Cool.ACTIVE_DEVICES.ACTIVE_SKYQUALITY=SQM
ZWO CCD ASI1600MM-Cool.CCD_VIDEO_STREAM.STREAM_ON=Off
ZWO CCD ASI1600MM-Cool.CCD_VIDEO_STREAM.STREAM_OFF=On
ZWO CCD ASI1600MM-Cool.STREAM_OPTIONS.STREAM_RATE=0
ZWO CCD ASI1600MM-Cool.FPS.EST_FPS=30
ZWO CCD ASI1600MM-Cool.FPS.AVG_FPS=30
ZWO CCD ASI1600MM-Cool.RECORD_STREAM.RECORD_ON=Off
ZWO CCD ASI1600MM-Cool.RECORD_STREAM.RECORD_DURATION_ON=Off
ZWO CCD ASI1600MM-Cool.RECORD_STREAM.RECORD_FRAME_ON=Off
ZWO CCD ASI1600MM-Cool.RECORD_STREAM.RECORD_OFF=On
ZWO CCD ASI1600MM-Cool.RECORD_FILE.RECORD_FILE_DIR=/tmp/indi__D_
ZWO CCD ASI1600MM-Cool.RECORD_FILE.RECORD_FILE_NAME=indi_record__T_.ser
ZWO CCD ASI1600MM-Cool.RECORD_OPTIONS.RECORD_DURATION=1
ZWO CCD ASI1600MM-Cool.RECORD_OPTIONS.RECORD_FRAME_TOTAL=30
ZWO CCD ASI1600MM-Cool.CCD_STREAM_FRAME.X=0
ZWO CCD ASI1600MM-Cool.CCD_STREAM_FRAME.Y=0
ZWO CCD ASI1600MM-Cool.CCD_STREAM_FRAME.WIDTH=4656
ZWO CCD ASI1600MM-Cool.CCD_STREAM_FRAME.HEIGHT=3520

Everything works fine on the AMD64 machine and as far as i got with my tests also on the raspberry pi3.
The only machine I was able to get the problem was the Odroid. I tested USB2 and USB3 on the Odroid, it made no difference. Since the pi only has USB2, I did not test USB3 there.

I took the current git HEAD and compiled libindi, then I compiled indi_asi_ccd but I went back in commits for the 3rdparty/indi-asi/armv7/libASICamera2.bin file
Here's a list of the commits I took the bin file from and the result of trying to capture 200 frames (1000ms) in 16 bit with it (hashes are commits in git):

- 02030b836576c0f5684d6d562737ad05b1eb1e63 15 frames
- 64a529e31fa9e813f2c01696366323aa2062ef30 15 frames
- 75f72cfb8c372236dfa9eef8b81bed5089e72979 17 frames
- 690506af44c8d02bb28409a1103053942de088d1 18 frames
- 6ffcf202ae4d0355ed2ef6ec52c2336a4da619e0 10 frames
- 6b9fb46cc202b0bcd03a2f5fd1f3a21a43f1d65d works with no problem

Whenever the camera stopped working I hat to disconnect it completely before I could get anymore captures.

From what I can see it looks like there's a change in 6ffcf202ae4d0355ed2ef6ec52c2336a4da619e0 that created this behavior and/or made a bug in the odroid machine apparent.

Here's the built indi for pi3 and odroid: cloud.tliff.de/s/QMRsDaXLD61tJBV (for some libc reason the pi binaries dont work on the droid and vice versa)
Also included is the short shell script I used to build the binaries,
they are named indi_asi_ccd_COMMITHASH


I can work around the problem for now by just using an older file, but a fix would of course be nice.

Read More...