A couple of my wyze cameras (ingenic T31X / GC2053, factory firmware says 2020_WYZE_CAM_V3_@HUALAI) have got themselves stuck in a severely overexposed state. I don't see any errors in dmesg or the majestic output, and only a couple of metrics might suggest something is wrong.
Restarting majestic clears the problem.
Platform
Hardware
Processor
t31x
Family
t31
Sensor
gc2053_i2c
Flash
16 MB
Firmware
Version
2.4.05.18-lite
Build
master+0bcb229, 2024-05-18
Majestic
master+90c0b57, 2024-05-16
U-Boot
U-Boot 2013.07-g90873ad (May 01 2024 - 19:56:15)
Time
Sat May 18 02:38:31 GMT 2024
Interesting metrics diffs
cam1 is not overexposed, cam2 and cam3 are. The "reset" values are after restarting majestic.
A couple of my wyze cameras (ingenic T31X / GC2053, factory firmware says
2020_WYZE_CAM_V3_@HUALAI
) have got themselves stuck in a severely overexposed state. I don't see any errors in dmesg or the majestic output, and only a couple of metrics might suggest something is wrong.Restarting majestic clears the problem.
Platform
Interesting metrics diffs
cam1 is not overexposed, cam2 and cam3 are. The "reset" values are after restarting majestic.
Kernel Messages
``` [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Initializing cgroup subsys cpuacct [ 0.000000] Linux version 3.10.14__isvp_swan_1.0__ (runner@fv-az1108-124) (buildroot-gcc-13.2.0) #2 PREEMPT Sat May 18 02:36:19 UTC 2024 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 RESET ERROR PC:8001D310 [ 0.000000] [<8001d310>] jz_wait_irqoff+0x5c/0x9c [ 0.000000] CPU0 revision is: 00d00100 (Ingenic Xburst) [ 0.000000] FPU revision is: 00b70000 [ 0.000000] cgu_get_rate, parent = 1392000000, rate = 0, m = 129, n = 255, reg val = 0x081000ff [ 0.000000] cgu_get_rate, parent = 1392000000, rate = 0, m = 129, n = 255, reg val = 0x081000ff [ 0.000000] CCLK:1392MHz L2CLK:696Mhz H0CLK:200MHz H2CLK:200Mhz PCLK:100Mhz [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 00530000 @ 00010000 (usable) [ 0.000000] memory: 00030000 @ 00540000 (usable after init) [ 0.000000] User-defined physical RAM map: [ 0.000000] memory: 04000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x00000000-0x03ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x00000000-0x03ffffff] [ 0.000000] On node 0 totalpages: 16384 [ 0.000000] free_area_init_node: node 0, pgdat 8053e510, node_mem_map 81000000 [ 0.000000] Normal zone: 128 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 16384 pages, LIFO batch:3 [ 0.000000] Primary instruction cache 32kB, 8-way, VIPT, linesize 32 bytes. [ 0.000000] Primary data cache 32kB, 8-way, VIPT, no aliases, linesize 32 bytes [ 0.000000] pls check processor_id[0x00d00100],sc_jz not support! [ 0.000000] MIPS secondary cache 128kB, 8-way, linesize 32 bytes. [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping off. Total pages: 16256 [ 0.000000] Kernel command line: console=ttyS1,115200 panic=10 root=/dev/mtdblock3 init=/init mtdparts=jz_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data) mem=64M rmem=64M@0x4000000 nogmac [ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes) [ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Memory: 58960k/65536k available (3968k kernel code, 6576k reserved, 1342k data, 192k init, 0k highmem) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] Preemptible hierarchical RCU implementation. [ 0.000000] NR_IRQS:358 [ 0.000000] clockevents_config_and_register success. [ 0.000014] Calibrating delay loop... 1391.00 BogoMIPS (lpj=6955008) [ 0.087831] pid_max: default: 32768 minimum: 301 [ 0.092687] Mount-cache hash table entries: 512 [ 0.097592] Initializing cgroup subsys debug [ 0.101848] Initializing cgroup subsys freezer [ 0.107260] devtmpfs: initialized [ 0.111999] regulator-dummy: no parameters [ 0.116369] NET: Registered protocol family 16 [ 0.124047] Skipping GMAC GPIO setup [ 0.128224] set gpio strength: 32-2 [ 0.128234] set gpio strength: 33-2set gpio strength: 34-2 [ 0.128243] set gpio strength: 35-2set gpio strength: 36-2 [ 0.128250] set gpio strength: 37-2set gpio pull: 59-90 [ 0.146872] bio: create slabMajestic Logs
``` majestic[744]: Majestic Lite for Ingenic, version master+90c0b57, built on 2024-05-16 majestic[744]: Main audio codec is alaw (other options: opus, aac, pcm, ulaw) majestic[744]: Detected jz Watchdog majestic[744]: Watchdog timeout set to 10 seconds majestic[744]: Set server path: /var/www majestic[744]: HTTP server started on :::80 majestic[744]: Main audio codec is alaw (other options: opus, aac, pcm, ulaw) majestic[744]: Loading main configuration: /etc/majestic.yaml majestic[744]: SENSOR=gc2053 majestic[744]: Using /etc/sensor/gc2053.yaml as sensor config majestic[744]: VI: gc2053 @ 0x37 [1920x1080] majestic[744]: CPU T31-X, SDK SYSUTILS-1.1.6, Model Swan, Dev 57100008 majestic[744]: [0] H.264 1920x1080 25fps 4096Kbit [VB:1] majestic[744]: warn: shm_init,53 majestic[744]: shm init already majestic[744]: Input: 8kHz, 70%, 20dB majestic[744]: warn: shm_init,53 majestic[744]: shm init already majestic[744]: set_gpio(51, 0) majestic[744]: Output: 8kHz, 50%, 20dB majestic[744]: Ingenic SDK started majestic[744]: RTSP server started on port 554 majestic[744]: set_gpio(53, 0) majestic[744]: set_gpio(52, 1) majestic[744]: set_gpio(47, 0) majestic[744]: set_gpio(53, 0) majestic[744]: set_gpio(52, 0) majestic[744]: RTSP chn 0 sps_len 0 majestic[744]: RTSP chn 0 pps_len 0 majestic[744]: RTSP chn 0 profile_level_id 000000 majestic[744]: TCP RTSP SETUP done, stream_id=0 from 172.31.0.3:49536 majestic[744]: TCP RTSP SETUP done, stream_id=0 from 172.31.0.3:49536 majestic[744]: Running CGI, delay reload for 1 sec majestic[744]: Signal HUP received, reloading config majestic[744]: set_gpio(53, 0) majestic[744]: set_gpio(52, 0) majestic[744]: set_gpio(47, 0) majestic[744]: set_gpio(51, 1) majestic[744]: Stop Ingenic SDK majestic[744]: Main audio codec is alaw (other options: opus, aac, pcm, ulaw) majestic[744]: Loading main configuration: /etc/majestic.yaml majestic[744]: SENSOR=gc2053 majestic[744]: Using /etc/sensor/gc2053.yaml as sensor config majestic[744]: VI: gc2053 @ 0x37 [1920x1080] majestic[744]: CPU T31-X, SDK SYSUTILS-1.1.6, Model Swan, Dev 57100008 majestic[744]: [0] H.264 1920x1080 25fps 4096Kbit [VB:1] majestic[744]: warn: shm_init,53 majestic[744]: shm init already majestic[744]: Input: 8kHz, 70%, 20dB majestic[744]: warn: shm_init,53 majestic[744]: shm init already majestic[744]: set_gpio(51, 0) majestic[744]: Output: 8kHz, 50%, 20dB majestic[744]: Ingenic SDK started majestic[744]: Loading: /usr/lib/ingenic.so majestic[744]: RTSP server started on port 554 majestic[744]: set_gpio(53, 0) majestic[744]: set_gpio(52, 1) majestic[744]: set_gpio(47, 0) majestic[744]: set_gpio(53, 0) majestic[744]: set_gpio(52, 0) majestic[744]: RTSP chn 0 sps_len 37 majestic[744]: RTSP chn 0 pps_len 3 majestic[744]: RTSP chn 0 profile_level_id 0033e7 majestic[744]: TCP RTSP SETUP done, stream_id=0 from 172.31.0.3:40492 majestic[744]: TCP RTSP SETUP done, stream_id=0 from 172.31.0.3:40492 ```Metrics
``` # HELP node_uname_info Labeled system information as provided by the uname system call. # TYPE node_uname_info gauge node_uname_info{domainname="(null)",machine="mips",nodename="wyzecam3-3",release="3.10.14__isvp_swan_1.0__",sysname="Linux",version="#2 PREEMPT Sat May 18 02:36:19 UTC 2024"} 1 # HELP node_boot_time_seconds Node boot time, in unixtime. # TYPE node_boot_time_seconds gauge node_boot_time_seconds 1716257086 # HELP node_context_switches_total Total number of context switches. # TYPE node_context_switches_total counter node_context_switches_total 101661396 # HELP node_cpu_seconds_total Seconds the cpus spent in each mode. # TYPE node_cpu_seconds_total counter node_cpu_seconds_total{cpu="0",mode="user"} 1830.26 node_cpu_seconds_total{cpu="0",mode="nice"} 0 node_cpu_seconds_total{cpu="0",mode="system"} 6102.48 node_cpu_seconds_total{cpu="0",mode="idle"} 63034.6 node_cpu_seconds_total{cpu="0",mode="iowait"} 0.03 node_cpu_seconds_total{cpu="0",mode="irq"} 4.48 node_cpu_seconds_total{cpu="0",mode="softirq"} 599.04 node_cpu_seconds_total{cpu="0",mode="steal"} 0 node_cpu_seconds_total{cpu="0",mode="guest"} 0 node_cpu_seconds_total{cpu="0",mode="guest_nice"} 0 # HELP node_intr_total # TYPE node_intr_total counter node_intr_total 58715511 # HELP node_forks_total # TYPE node_forks_total counter node_forks_total 167328 # HELP node_procs_running_total # TYPE node_procs_running_total gauge node_procs_running_total 1 # HELP node_procs_blocked_total # TYPE node_procs_blocked_total gauge node_procs_blocked_total 0 # HELP node_filefd_allocated File descriptor statistics: allocated. # TYPE node_filefd_allocated gauge node_filefd_allocated 114 # HELP node_filefd_maximum File descriptor statistics: maximum. # TYPE node_filefd_maximum gauge node_filefd_maximum 8192 # HELP node_load1 1m load average. # TYPE node_load1 gauge node_load1 1.56 # HELP node_load5 1m load average. # TYPE node_load5 gauge node_load5 1.46 # HELP node_load15 15m load average. # TYPE node_load15 gauge node_load15 1.44 # TYPE node_memory_MemTotal_bytes gauge node_memory_MemTotal_bytes 60571648 # TYPE node_memory_MemFree_bytes gauge node_memory_MemFree_bytes 31084544 # TYPE node_memory_Buffers_bytes gauge node_memory_Buffers_bytes 3747840 # TYPE node_memory_Cached_bytes gauge node_memory_Cached_bytes 13004800 # TYPE node_memory_SwapCached_bytes gauge node_memory_SwapCached_bytes 0 # TYPE node_memory_Active_bytes gauge node_memory_Active_bytes 5849088 # TYPE node_memory_Inactive_bytes gauge node_memory_Inactive_bytes 13324288 # TYPE node_memory_Active_anon_bytes gauge node_memory_Active_anon_bytes 2445312 # TYPE node_memory_Inactive_anon_bytes gauge node_memory_Inactive_anon_bytes 122880 # TYPE node_memory_Active_file_bytes gauge node_memory_Active_file_bytes 3403776 # TYPE node_memory_Inactive_file_bytes gauge node_memory_Inactive_file_bytes 13201408 # TYPE node_memory_Unevictable_bytes gauge node_memory_Unevictable_bytes 0 # TYPE node_memory_Mlocked_bytes gauge node_memory_Mlocked_bytes 0 # TYPE node_memory_SwapTotal_bytes gauge node_memory_SwapTotal_bytes 0 # TYPE node_memory_SwapFree_bytes gauge node_memory_SwapFree_bytes 0 # TYPE node_memory_Dirty_bytes gauge node_memory_Dirty_bytes 0 # TYPE node_memory_Writeback_bytes gauge node_memory_Writeback_bytes 0 # TYPE node_memory_AnonPages_bytes gauge node_memory_AnonPages_bytes 2424832 # TYPE node_memory_Mapped_bytes gauge node_memory_Mapped_bytes 3297280 # TYPE node_memory_Shmem_bytes gauge node_memory_Shmem_bytes 147456 # TYPE node_memory_Slab_bytes gauge node_memory_Slab_bytes 4841472 # TYPE node_memory_SReclaimable_bytes gauge node_memory_SReclaimable_bytes 1404928 # TYPE node_memory_SUnreclaim_bytes gauge node_memory_SUnreclaim_bytes 3436544 # TYPE node_memory_KernelStack_bytes gauge node_memory_KernelStack_bytes 507904 # TYPE node_memory_PageTables_bytes gauge node_memory_PageTables_bytes 233472 # TYPE node_memory_NFS_Unstable_bytes gauge node_memory_NFS_Unstable_bytes 0 # TYPE node_memory_Bounce_bytes gauge node_memory_Bounce_bytes 0 # TYPE node_memory_WritebackTmp_bytes gauge node_memory_WritebackTmp_bytes 0 # TYPE node_memory_CommitLimit_bytes gauge node_memory_CommitLimit_bytes 30285824 # TYPE node_memory_Committed_AS_bytes gauge node_memory_Committed_AS_bytes 7409664 # TYPE node_memory_VmallocTotal_bytes gauge node_memory_VmallocTotal_bytes 1073532928 # TYPE node_memory_VmallocUsed_bytes gauge node_memory_VmallocUsed_bytes 2973696 # TYPE node_memory_VmallocChunk_bytes gauge node_memory_VmallocChunk_bytes 1067225088 # TYPE node_network_receive_bytes_total counter node_network_receive_bytes_total{device="tunl0"} 0 # TYPE node_network_receive_packets_total counter node_network_receive_packets_total{device="tunl0"} 0 # TYPE node_network_receive_errs_total counter node_network_receive_errs_total{device="tunl0"} 0 # TYPE node_network_receive_drop_total counter node_network_receive_drop_total{device="tunl0"} 0 # TYPE node_network_receive_fifo_total counter node_network_receive_fifo_total{device="tunl0"} 0 # TYPE node_network_receive_frame_total counter node_network_receive_frame_total{device="tunl0"} 0 # TYPE node_network_receive_compressed_total counter node_network_receive_compressed_total{device="tunl0"} 0 # TYPE node_network_receive_multicast_total counter node_network_receive_multicast_total{device="tunl0"} 0 # TYPE node_network_transmit_bytes_total counter node_network_transmit_bytes_total{device="tunl0"} 0 # TYPE node_network_transmit_packets_total counter node_network_transmit_packets_total{device="tunl0"} 0 # TYPE node_network_transmit_errs_total counter node_network_transmit_errs_total{device="tunl0"} 0 # TYPE node_network_transmit_drop_total counter node_network_transmit_drop_total{device="tunl0"} 0 # TYPE node_network_transmit_fifo_total counter node_network_transmit_fifo_total{device="tunl0"} 0 # TYPE node_network_transmit_colls_total counter node_network_transmit_colls_total{device="tunl0"} 0 # TYPE node_network_transmit_carrier_total counter node_network_transmit_carrier_total{device="tunl0"} 0 # TYPE node_network_transmit_compressed_total counter node_network_transmit_compressed_total{device="tunl0"} 0 node_network_receive_bytes_total{device="wlan0"} 659756955 node_network_receive_packets_total{device="wlan0"} 9777555 node_network_receive_errs_total{device="wlan0"} 0 node_network_receive_drop_total{device="wlan0"} 2391 node_network_receive_fifo_total{device="wlan0"} 0 node_network_receive_frame_total{device="wlan0"} 0 node_network_receive_compressed_total{device="wlan0"} 0 node_network_receive_multicast_total{device="wlan0"} 0 node_network_transmit_bytes_total{device="wlan0"} 1142601369 node_network_transmit_packets_total{device="wlan0"} 19662843 node_network_transmit_errs_total{device="wlan0"} 0 node_network_transmit_drop_total{device="wlan0"} 0 node_network_transmit_fifo_total{device="wlan0"} 0 node_network_transmit_colls_total{device="wlan0"} 0 node_network_transmit_carrier_total{device="wlan0"} 0 node_network_transmit_compressed_total{device="wlan0"} 0 # HELP node_time_seconds Current time. # TYPE node_time_seconds gauge node_time_seconds 1716329743 task_seconds{name="majestic",mode="user"} 616.82 task_seconds{name="majestic",mode="system"} 881.24 task_seconds{name="thread-pool-0",mode="user"} 72.29 task_seconds{name="thread-pool-0",mode="system"} 32.41 task_seconds{name="thread-pool-1",mode="user"} 72.82 task_seconds{name="thread-pool-1",mode="system"} 31.87 task_seconds{name="shm_thread",mode="user"} 0 task_seconds{name="shm_thread",mode="system"} 0 task_seconds{name="majestic",mode="user"} 201.08 task_seconds{name="majestic",mode="system"} 143.44 task_seconds{name="isp_tuning_deam",mode="user"} 4.66 task_seconds{name="isp_tuning_deam",mode="system"} 13.58 task_seconds{name="group_update",mode="user"} 85.82 task_seconds{name="group_update",mode="system"} 87.8 task_seconds{name="group_update",mode="user"} 270.25 task_seconds{name="group_update",mode="system"} 191.15 task_seconds{name="majestic",mode="user"} 0 task_seconds{name="majestic",mode="system"} 0 task_seconds{name="ENC(0",mode="user"} 33.88 task_seconds{name="ENC(0",mode="system"} 34.89 task_seconds{name="majestic",mode="user"} 0 task_seconds{name="majestic",mode="system"} 0 task_seconds{name="ENC(4",mode="user"} 7.06 task_seconds{name="ENC(4",mode="system"} 6.28 task_seconds{name="ai-_ai_record_t",mode="user"} 62.7 task_seconds{name="ai-_ai_record_t",mode="system"} 56.05 task_seconds{name="majestic",mode="user"} 75.42 task_seconds{name="majestic",mode="system"} 37.77 task_seconds{name="ao-_ao_play_thr",mode="user"} 0.27 task_seconds{name="ao-_ao_play_thr",mode="system"} 0.35 task_seconds{name="FS(0",mode="user"} 24.43 task_seconds{name="FS(0",mode="system"} 47.96 # HELP app_boot_time_seconds App boot time, in unixtime. # TYPE app_boot_time_seconds gauge app_boot_time_seconds 1716257096 # HELP malloc_mp4_alloc_bytes Number of bytes allocated for MP4 buffer. # TYPE malloc_mp4_alloc_bytes gauge malloc_mp4_alloc_bytes 0 # HELP jpeg_requests_total Number of JPEG requests made by clients. # TYPE jpeg_requests_total counter jpeg_requests_total 0 # HELP jpeg_responses_total Number of JPEG correnponding responses. # TYPE jpeg_responses_total counter jpeg_responses_total 0 # HELP http_requests_total Number of requests made to HTTP server. # TYPE http_requests_total counter http_requests_total 17129 # HELP venc0_rcvd_bytes Number of bytes received from first venc channel # TYPE venc0_rcvd_bytes counter venc0_rcvd_bytes 17493386308 # HELP isp_exptime Sensor exposure time # TYPE isp_exptime gauge isp_exptime 1 # HELP isp_again Analog Gain # TYPE isp_again gauge isp_again 0 # HELP isp_dgain Digital Gain # TYPE isp_dgain gauge isp_dgain 0 # HELP isp_bgain Blue Gain # TYPE isp_bgain gauge isp_bgain 142 # HELP isp_rgain Red Gain # TYPE isp_rgain gauge isp_rgain 129 # HELP isp_avelum Average luminance # TYPE isp_avelum gauge isp_avelum 246 # HELP isp_afmetrics AF Metrics # TYPE isp_afmetrics gauge isp_afmetrics 66304 # HELP isp_exptime Sensor exposure time # TYPE isp_exptime gauge isp_exptime 23 # HELP isp_tgain Total Gain # TYPE isp_tgain gauge isp_tgain 256 # HELP night_enabled Is night mode enabled # TYPE night_enabled gauge night_enabled 0 # HELP ircut_enabled Is ircut mode enabled # TYPE ircut_enabled gauge ircut_enabled 0 # HELP light_enabled Is light mode enabled # TYPE light_enabled gauge light_enabled 0 # HELP md_rects_recv_total Number of rectangles returned by HW MD algorithm. # TYPE md_rects_recv_total counter md_rects_recv_total 0 # HELP md_rects_acc_total Number of rectangles fit into ROI. # TYPE md_rects_acc_total counter md_rects_acc_total 0 # HELP hls_clients_total Number of connected clients by HLS protocol. # TYPE hls_clients_total gauge hls_clients_total 0 task_seconds{name="A-Law",mode="user"} 145.11 task_seconds{name="A-Law",mode="system"} 64.28 ```