DSperber,
Thank you so much for taking the time to help with the diagnosis and providing the screen prints. I have compared the information you provided with my configuration and unfortunately, I have not identified any differences that appear to be significant enough to cause this problem. I have attached similar screen prints from my system for your inspection in case I have missed anything.
You will notice that the ETH-6 for which I provided the information is running at a higher firmware level that yours. However, of my two tuners that failed, one of them was running at the same level as yours - 14.10.3.163 - when it failed. As part of my diagnosis / attempted repair actions, I have loaded three different levels of firmware without altering the symptoms: 14.4.6.21, 14.10.3.163 and 15.1.13.152 (all beta versions).
You will also notice that the ETH-6 is using a static IP address. When the tuners originally failed, each ETH-6 was on a different HTPC on a different network with an IP assigned by DHCP. (This sounds much like your configuration). In order to rule out network problems as the cause, I installed another NIC in the test system. This NIC is on a third completely separate network consisting of only the NIC, a crossover cable and the ETH-6. Again, this did not alter the symptoms.
Here are the screen prints:
The real meat of the problem is only evident in the log. Specifically in the "libcetonrif" section beginning at about 33 seconds after startup. There certainly could be earlier messages indicating a problem, but nothing that jumped out at me as blatantly as this.
Jan 1 00:00:33 ocur[21]: libcetontrif: trif[6] Sending channel map request
Jan 1 00:00:33 ocur[21]: libcetontrif: [channel_table_req]
Jan 1 00:00:33 ocur[21]: libcetontrif: [request_header]
Jan 1 00:00:33 ocur[21]: libcetontrif: trif_revision_code: 0x1
Jan 1 00:00:33 ocur[21]: libcetontrif: request_id: 0x3
Jan 1 00:00:33 ocur[21]: libcetontrif: [/request_header]
Jan 1 00:00:33 ocur[21]: libcetontrif: [/channel_table_req]
Jan 1 00:00:33 ocur[21]: libcetontrif: [channel_table_rsp]
Jan 1 00:00:33 ocur[21]: libcetontrif: [request_header]
Jan 1 00:00:33 ocur[21]: libcetontrif: trif_revision_code: 0x1
Jan 1 00:00:33 ocur[21]: libcetontrif: request_id: 0x3
Jan 1 00:00:33 ocur[21]: libcetontrif: [/request_header]
Jan 1 00:00:33 ocur[21]: libcetontrif: table_status: 2
Jan 1 00:00:33 ocur[21]: libcetontrif: table_status: "not available, not received"
Jan 1 00:00:33 ocur[21]: libcetontrif: [trif_channel_table]
Jan 1 00:00:33 ocur[21]: libcetontrif: table_length: 0
Jan 1 00:00:33 ocur[21]: libcetontrif: trif_table_revision: 0
Jan 1 00:00:33 ocur[21]: libcetontrif: version_number: 0
Jan 1 00:00:33 ocur[21]: libcetontrif: total_number_of_blocks: 0
Jan 1 00:00:33 ocur[21]: libcetontrif: total_number_of_defined_channels: 0
Jan 1 00:00:33 ocur[21]: libcetontrif: block_number: 0
Jan 1 00:00:33 ocur[21]: libcetontrif: number_of_channels: 0
Jan 1 00:00:33 ocur[21]: libcetontrif: number_of_parsed_channels: 0
Jan 1 00:00:33 ocur[21]: libcetontrif: [/trif_channel_table]
Jan 1 00:00:33 ocur[21]: libcetontrif: [/channel_table_rsp]
Jan 1 00:00:39 ocur[21]: libcetontrif: WARNING: Check failed
Jan 1 00:00:39 ocur[21]: libcetontrif: WARNING: Check failed
Jan 1 00:00:39 ocur[21]: libcetontrif: WARNING: expected 16467 bytes 962 channels and only got 962 channels
Jan 1 00:00:39 ocur[21]: libcetontrif: WARNING: Check failed
Jan 1 00:00:39 ocur[21]: libcetontrif: WARNING: returning incomplete table with 962 channels
Jan 1 00:00:39 ocur[21]: libcetontrif: ERROR: trif[6] Failed to unpack channel_table_update message (len 16384)
Jan 1 00:00:39 ocur[21]: libcetontrif: WARNING: Unhandled trif apdu. (0000)
Jan 1 00:00:46 ocur[21]: ocur: STT time Sat Aug 31 02:24:24 2019 UTC
Jan 1 00:00:49 ocur[21]: cyrano: [zccard/s:INFO] SPDU - session_number(): 000d
Jan 1 00:00:49 ocur[21]: cyrano: [zccard/a:INFO] <- {cp_sync_req}
Jan 1 00:00:49 ocur[21]: cyrano: [zccard/a:INFO] -> {cp_sync_cnf}
Jan 1 00:00:49 ocur[21]: cyrano: [zccard/a:INFO] -> status = OK
Jan 1 00:00:49 ocur[21]: cyrano: [zccard/a:INFO] -> {/cp_sync_cnf}
Jan 1 00:00:52 ocur[21]: cyrano: [zccard/oobsi:INFO] Stopping oobsi filter ntt
Jan 1 00:00:52 ocur[21]: cyrano: [zccard/oobsi:INFO] Running oobsi filter ntt, handle 80000007
Jan 1 00:00:54 ocur[21]: libcetontrif: trif[6] re requesting channel map
Jan 1 00:00:54 ocur[21]: libcetontrif: [channel_table_req]
Jan 1 00:00:54 ocur[21]: libcetontrif: [request_header]
Jan 1 00:00:54 ocur[21]: libcetontrif: trif_revision_code: 0x1
Jan 1 00:00:54 ocur[21]: libcetontrif: request_id: 0x4
Jan 1 00:00:54 ocur[21]: libcetontrif: [/request_header]
Jan 1 00:00:54 ocur[21]: libcetontrif: [/channel_table_req]
Jan 1 00:00:55 ocur[21]: libcetontrif: WARNING: Check failed
Jan 1 00:00:55 ocur[21]: libcetontrif: WARNING: Check failed
Jan 1 00:00:55 ocur[21]: libcetontrif: WARNING: expected 16467 bytes 962 channels and only got 962 channels
Jan 1 00:00:55 ocur[21]: libcetontrif: WARNING: Check failed
Jan 1 00:00:55 ocur[21]: libcetontrif: ERROR: trif[6] Failed to unpack channel_table_rsp message (len 16384)
Jan 1 00:00:55 ocur[21]: libcetontrif: trif[6] check status interval elapsed: sending 1 reset 0
Jan 1 00:00:55 ocur[21]: libcetontrif: [tr_status_req]
Jan 1 00:00:55 ocur[21]: libcetontrif: [request_header]
Jan 1 00:00:55 ocur[21]: libcetontrif: trif_revision_code: 0x1
Jan 1 00:00:55 ocur[21]: libcetontrif: request_id: 0x5
Jan 1 00:00:55 ocur[21]: libcetontrif: [/request_header]
Jan 1 00:00:55 ocur[21]: libcetontrif: [/tr_status_req]
Jan 1 00:00:55 ocur[21]: libcetontrif: WARNING: Unhandled trif apdu. (0000)
Jan 1 00:00:56 ocur[21]: libcetontrif: [tr_status_rsp]
Jan 1 00:00:56 ocur[21]: libcetontrif: [request_header]
Jan 1 00:00:56 ocur[21]: libcetontrif: trif_revision_code: 0x1
Jan 1 00:00:56 ocur[21]: libcetontrif: request_id: 0x5
Jan 1 00:00:56 ocur[21]: libcetontrif: [/request_header]
Jan 1 00:00:56 ocur[21]: libcetontrif: [tr_status]
Jan 1 00:00:56 ocur[21]: libcetontrif: function_length: 8
Jan 1 00:00:56 ocur[21]: libcetontrif: tr_status_revision: 1
Jan 1 00:00:56 ocur[21]: libcetontrif: version_number: 1
Jan 1 00:00:56 ocur[21]: libcetontrif: downstream_status: 0
Jan 1 00:00:56 ocur[21]: libcetontrif: downstream_status: "Downstream RF locked and receiving valid downstream messages"
Jan 1 00:00:56 ocur[21]: libcetontrif: upstream_status: 1
Jan 1 00:00:56 ocur[21]: libcetontrif: upstream_status: "Upstream not connecting"
Jan 1 00:00:56 ocur[21]: libcetontrif: authentication_status: 0
Jan 1 00:00:56 ocur[21]: libcetontrif: authentication_status: "Authenticated"
Jan 1 00:00:56 ocur[21]: libcetontrif: tr_operational_status: 1
Jan 1 00:00:56 ocur[21]: libcetontrif: tr_operational_status: "TR initializing"
Jan 1 00:00:56 ocur[21]: libcetontrif: max_upgrade_time: 0
Jan 1 00:00:56 ocur[21]: libcetontrif: number_of_tuners: 6
Jan 1 00:00:56 ocur[21]: libcetontrif: [/tr_status]
Jan 1 00:00:56 ocur[21]: libcetontrif: [/tr_status_rsp]
Jan 1 00:00:56 ocur[21]: libcetontrif: trif[6] Scheduling status poll because not ready. tr_operational_status 1 dowstream 0 upstream 1
Jan 1 00:01:00 ocur[21]: libcetontrif: WARNING: Check failed
Jan 1 00:01:00 ocur[21]: libcetontrif: WARNING: Check failed
Jan 1 00:01:00 ocur[21]: libcetontrif: WARNING: expected 16467 bytes 962 channels and only got 962 channels
Jan 1 00:01:00 ocur[21]: libcetontrif: WARNING: Check failed
Jan 1 00:01:00 ocur[21]: libcetontrif: WARNING: returning incomplete table with 962 channels
Jan 1 00:01:00 ocur[21]: libcetontrif: ERROR: trif[6] Failed to unpack channel_table_update message (len 16384)
Jan 1 00:01:00 ocur[21]: libcetontrif: WARNING: Unhandled trif apdu. (0x58)
Jan 1 00:01:15 ocur[21]: libcetontrif: trif[6] re requesting channel map
Jan 1 00:01:15 ocur[21]: libcetontrif: [channel_table_req]
Jan 1 00:01:15 ocur[21]: libcetontrif: [request_header]
Jan 1 00:01:15 ocur[21]: libcetontrif: trif_revision_code: 0x1
Jan 1 00:01:15 ocur[21]: libcetontrif: request_id: 0x6
Jan 1 00:01:15 ocur[21]: libcetontrif: [/request_header]
Jan 1 00:01:15 ocur[21]: libcetontrif: [/channel_table_req]
Jan 1 00:01:16 ocur[21]: libcetontrif: WARNING: Check failed
Jan 1 00:01:16 ocur[21]: libcetontrif: WARNING: Check failed
Jan 1 00:01:16 ocur[21]: libcetontrif: WARNING: expected 16467 bytes 962 channels and only got 962 channels
Jan 1 00:01:16 ocur[21]: libcetontrif: WARNING: Check failed
Jan 1 00:01:16 ocur[21]: libcetontrif: WARNING: returning incomplete table with 962 channels
Jan 1 00:01:16 ocur[21]: libcetontrif: ERROR: trif[6] Failed to unpack channel_table_update message (len 16384)
Jan 1 00:01:16 ocur[21]: libcetontrif: WARNING: Unhandled trif apdu. (0x58)
Jan 1 00:01:17 ocur[21]: libcetontrif: WARNING: Check failed
Jan 1 00:01:17 ocur[21]: libcetontrif: WARNING: Check failed
Jan 1 00:01:17 ocur[21]: libcetontrif: WARNING: expected 16467 bytes 962 channels and only got 962 channels
Jan 1 00:01:17 ocur[21]: libcetontrif: WARNING: Check failed
Jan 1 00:01:17 ocur[21]: libcetontrif: ERROR: trif[6] Failed to unpack channel_table_rsp message (len 16384)
Jan 1 00:01:17 ocur[21]: libcetontrif: WARNING: Unhandled trif apdu. (0x58)
My original suspicion was that Spectrum had introduced an error (a length error from the above messages) into the channel map that the code in the ETH-6 was sensitive to while other intelligent tuners and TIVOs were not. But with you being so close to me that would seem to rule that out, maybe, depending on the Spectrum network topology.
It's really sad that there is no one home at Ceton anymore. I was always pretty impressed with their diagnostics and customer support.
Any other thoughts you may have are sincerely appreciated.
Thanks.