Project

General

Profile

TVH 4.0.7 that has been running fine for months, dies overnight?

Added by Anders Gustafsson over 8 years ago

Has happened twice now. Process seems to be running. HTTP interface is dead. service tvheadend stop, takes forever to kill the process and restarting it does not help. Rebooting the server does.

Any ideas where to start looking? It is running on OpenSUSE 13.2

tvburk:~ # free
             total       used       free     shared    buffers     cached
Mem:       3927980     860488    3067492      60176        960     536140
-/+ buffers/cache:     323388    3604592
Swap:      2104316          0    2104316
tvburk:~ # uname -a
Linux tvburk 3.16.7-35-desktop #1 SMP PREEMPT Sun Feb 7 17:32:21 UTC 2016 (832c776) x86_64 x86_64 x86_64 GNU/Linux

Replies (17)

RE: TVH 4.0.7 that has been running fine for months, dies overnight? - Added by ullix tv over 8 years ago

I had some similar odd experience on Ubuntu 14.04, but not sure if related.

When I had a ssh connection running, and the connected computer went to sleep, access to files on the originating computer was blocked, and I had difficulties to shut down nautilus. Had to kill ssh first.

Was ssh running on your machine?

RE: TVH 4.0.7 that has been running fine for months, dies overnight? - Added by Anders Gustafsson over 8 years ago

Yes. I always have SSH running on the host, but I was not connected to it.

edit:

tvburk:~ # free
             total       used       free     shared    buffers     cached
Mem:       3927980    3774940     153040      59664        480    3453320
-/+ buffers/cache:     321140    3606840
Swap:      2104316       1896    2102420
top - 16:36:36 up 22:50,  2 users,  load average: 0.18, 0.07, 0.06
Tasks: 191 total,   1 running, 190 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   3927980 total,  3776372 used,   151608 free,      480 buffers
KiB Swap:  2104316 total,     1896 used,  2102420 free.  3454852 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 1458 gdm       20   0 1226764  99804  55460 S 0.000 2.541   0:21.84 gnome-she+
 1792 mytvh     20   0 1475640  49736  11520 S 0.000 1.266   1:55.91 tvheadend
 1402 gdm       20   0  873080  30504  24132 S 0.000 0.777   0:01.54 gnome-set+
  565 root      20   0   67176  29788  29364 S 0.000 0.758   0:01.33 systemd-j+

RE: TVH 4.0.7 that has been running fine for months, dies overnight? - Added by Anders Gustafsson over 8 years ago

OK. Ran fine for two days, then died:

tvburk:~ # ps aux | grep 'Z'
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
dalton 1674 0.0 0.0 0 0 ? Zsl Apr06 0:44 [tvheadend] <defunct>
root 27332 0.0 0.0 9272 1568 pts/1 S+ 17:10 0:00 grep --color=auto Z

tvburk:~ # gdb tvheadend 1674

warning: /etc/gdbinit.d/gdb-heap.py: No such file or directory
Reading symbols from tvheadend...done.
Attaching to program: /usr/bin/tvheadend, process 1674
warning: process 1674 is a zombie - the process has already terminated
ptrace: Operation not permitted.
/root/1674: No such file or directory.
(gdb) set logging on
Copying output to gdb.txt.
(gdb) set pagination off
(gdb) thread apply all bt full
(gdb) generate-core-file
You can't do that without a process to debug.
(gdb)

So, it had died. How do I troubleshoot? Should not -l /var/log/tvh.log create a logfile? Cannot get that part to work, it just logs to syslog.

RE: TVH 4.0.7 that has been running fine for months, dies overnight? - Added by Guillaume DC over 8 years ago

No, you have to create file manually first, chown and chmod as needed for your system.

Then you can add -S (disable all syslog messages) and -l /var/log/tvh.log. and remove -s (logging to syslog) if present.

It's working like that for me.

RE: TVH 4.0.7 that has been running fine for months, dies overnight? - Added by Anders Gustafsson over 8 years ago

Ah, thanks. I will try that next, logging with debug to syslog for now

RE: TVH 4.0.7 that has been running fine for months, dies overnight? - Added by Anders Gustafsson over 8 years ago

OK. Died again. Strongly suspecting the EPG grabber as previous crashes seems to have happened at approx that time when the EPG grabber runs. I have two grabbers configured. XMLTV and EPG, but I have always had it that way. Now, the type of interrupt would indicate that tvheadend has locked up, or?

Apr 09 14:16:36 tvburk systemd[1]: Time has been changed
Apr 09 14:16:36 tvburk systemd[11642]: Time has been changed
Apr 09 14:15:01 tvburk CRON[16193]: pam_unix(crond:session): session closed for user root
Apr 09 14:15:01 tvburk systemd[1]: Started Session 88 of user root.
Apr 09 14:15:01 tvburk systemd[1]: Starting Session 88 of user root.
Apr 09 14:15:01 tvburk cron[16193]: pam_unix(crond:session): session opened for user root by (uid=0)
Apr 09 14:14:01 tvburk kernel: note: tvheadend[2445] exited with preempt_count 1
Apr 09 14:14:01 tvburk kernel: ---[ end trace 0abf77c1419b4004 ]---
Apr 09 14:14:01 tvburk kernel:  RSP <ffff8800a46abdb0>
Apr 09 14:14:01 tvburk kernel: RIP  [<ffffffff81623cb3>] _raw_spin_lock_irqsave+0x23/0x50
Apr 09 14:14:01 tvburk kernel: Code: f6 c3 66 0f 1f 44 00 00 0f 1f 44 00 00 9c 58 0f 1f 44 00 00 48 89 c6 fa 66 0f 1f 44 00 00 65 ff 0
Apr 09 14:14:01 tvburk kernel:  [<00007fe7e9d4fba7>] 0x7fe7e9d4fba6
Apr 09 14:14:01 tvburk kernel:  [<ffffffff8162414d>] system_call_fastpath+0x1a/0x1f
Apr 09 14:14:01 tvburk kernel:  [<ffffffff811cb251>] SyS_ioctl+0x81/0xa0
Apr 09 14:14:01 tvburk kernel:  [<ffffffff811caff7>] do_vfs_ioctl+0x2e7/0x4c0
Apr 09 14:14:01 tvburk kernel:  [<ffffffffa0588a7f>] dvb_generic_ioctl+0x1f/0x40 [dvb_core]
Apr 09 14:14:01 tvburk kernel:  [<ffffffffa05889e8>] dvb_usercopy+0xf8/0x170 [dvb_core]
Apr 09 14:14:01 tvburk kernel:  [<ffffffffa0593c36>] dvb_frontend_ioctl+0x46/0x140 [dvb_core]
Apr 09 14:14:01 tvburk kernel:  [<ffffffff810a7dc3>] down_interruptible+0x13/0x50
Apr 09 14:14:01 tvburk kernel: Call Trace:
Apr 09 14:14:01 tvburk kernel:  0000000000000000 ffff8800a46abe20 0000000000aedf70 ffffffffa05889e8
Apr 09 14:14:01 tvburk kernel:  ffffffffa0593c36 00000000fffffff2 0000000040106f52 0000000000000001
Apr 09 14:14:01 tvburk kernel:  ffffffff810a7dc3 0000000000000080 0000000040106f52 ffff8800b932a800
Apr 09 14:14:01 tvburk kernel: Stack:
Apr 09 14:14:01 tvburk kernel: CR2: 00007ffd4c848e70 CR3: 00000000a46bc000 CR4: 00000000000407e0
Apr 09 14:14:01 tvburk kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Apr 09 14:14:01 tvburk kernel: FS:  00007fe7edf1cc00(0000) GS:ffff88011fb00000(0000) knlGS:0000000000000000
Apr 09 14:14:01 tvburk kernel: R13: 353434325b647025 R14: ffff8800ba65c038 R15: ffff8800a46abe20
Apr 09 14:14:01 tvburk kernel: R10: 434d206e69207a48 R11: 0000000000000246 R12: 353434325b646e65
Apr 09 14:14:01 tvburk kernel: RBP: ffff8800b932a800 R08: ffff8800b932a800 R09: 326953207362614c
Apr 09 14:14:01 tvburk kernel: RDX: 0000000000010000 RSI: 0000000000000296 RDI: 353434325b647025
Apr 09 14:14:01 tvburk kernel: RAX: 0000000000000296 RBX: 353434325b647025 RCX: ffffffffa0593bf0
Apr 09 14:14:01 tvburk kernel: RSP: 0018:ffff8800a46abdb0  EFLAGS: 00010082
Apr 09 14:14:01 tvburk kernel: RIP: 0010:[<ffffffff81623cb3>]  [<ffffffff81623cb3>] _raw_spin_lock_irqsave+0x23/0x50
Apr 09 14:14:01 tvburk kernel: task: ffff8801148f2350 ti: ffff8800a46a8000 task.ti: ffff8800a46a8000
Apr 09 14:14:01 tvburk kernel: Hardware name: ASUS All Series/Z97-P, BIOS 2803 05/21/2015
Apr 09 14:14:01 tvburk kernel: CPU: 1 PID: 2445 Comm: tvheadend Tainted: G         C    3.16.7-35-desktop #1
Apr 09 14:14:01 tvburk kernel:  mei_me eeepc_wmi mei asus_wmi kvm sparse_keymap soundcore serio_raw rfkill crct10dif_pclmul mxm_wmi pc
Apr 09 14:14:01 tvburk kernel: Modules linked in: bnep bluetooth 6lowpan_iphc nfsd auth_rpcgss oid_registry nfs_acl lockd sunrpc fuse
Apr 09 14:14:01 tvburk kernel: general protection fault: 0000 [#1] PREEMPT SMP
Apr 09 14:14:01 tvburk tvheadend[2445]: linuxdvb: Silicon Labs Si2168 : DVB-C #0 - starting 162MHz in MCA
Apr 09 14:14:01 tvburk tvheadend[2445]: mpegts: 162MHz in MCA - tuning on Silicon Labs Si2168 : DVB-C #0
Apr 09 14:14:01 tvburk tvheadend[2445]: service: 3: 162MHz in MCA si 0x26ca6c0 Silicon Labs Si2168 : DVB-C #0 weight 0 prio 10 error 0
Apr 09 14:14:01 tvburk tvheadend[2445]: mpegts: 162MHz in MCA - add raw service
Apr 09 14:13:45 tvburk org.gnome.evolution.dataserver.Sources3[11704]: ** (evolution-source-registry:11833): WARNING **: secret_servic
Apr 09 14:12:03 tvburk systemd[11642]: Time has been changed

RE: TVH 4.0.7 that has been running fine for months, dies overnight? - Added by Mark Clarkstone over 8 years ago

Anders Gustafsson wrote:

OK. Died again. Strongly suspecting the EPG grabber as previous crashes seems to have happened at approx that time when the EPG grabber runs. I have two grabbers configured. XMLTV and EPG, but I have always had it that way. Now, the type of interrupt would indicate that tvheadend has locked up, or?

[...]

I maybe wrong here but that looks more like a driver problem than a Tvheadend one. Have you tried upgrading to the latest media_build or tried a newer kernel? I have the Silicon Labs Si2168 here (two) and it's been running fine here on Debian Jessie / Kernel 4.4.2.

The only way to be sure though is to run tvheadend-dbg in something like gdb & catch a trace.

RE: TVH 4.0.7 that has been running fine for months, dies overnight? - Added by Anders Gustafsson over 8 years ago

OK. Naturally have I tried to figure out possible culprits, but I was thinking more on the line of "what has changed?". Ie I have been runing 4.0.7 since last fall without any issues. But I have updated OpenSuse, naturally. I have now downloaded and compiled 4.0.9 and will test that next. Trying one thing at at time.

When you say "kernel" do you mean the Linux kernel or tvheadend or the actual Si2168 fw? Can you elaborate what you mean by "media_build"?

I am a little bit wary to go to the next version of tvheadend... Scared of the bleeding edge i guess :)

My linux kernel version is:
tvburk:~ # uname -a
Linux tvburk 3.16.7-35-desktop #1 SMP PREEMPT Sun Feb 7 17:32:21 UTC 2016 (832c776) x86_64 x86_64 x86_64 GNU/Linux

FWIW, I have one Si2168 for DVB-C and two el cheapo RTL2832 sticks for DVB-T

fw: dvb-demod-si2168-02.fw

Edit: Checked zypper.log and it appears that the problems may have started after 2016-04-03 when I ran a system update.

RE: TVH 4.0.7 that has been running fine for months, dies overnight? - Added by Mark Clarkstone over 8 years ago

Anders Gustafsson wrote:

OK. Naturally have I tried to figure out possible culprits, but I was thinking more on the line of "what has changed?". Ie I have been runing 4.0.7 since last fall without any issues. But I have updated OpenSuse, naturally. I have now downloaded and compiled 4.0.9 and will test that next. Trying one thing at at time.

When you say "kernel" do you mean the Linux kernel or tvheadend or the actual Si2168 fw? Can you elaborate what you mean by "media_build"?

Linux kernel and this is what I mean by media_build http://linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers, sorry :p

However I'd use media_build as a last resort..

I am a little bit wary to go to the next version of tvheadend... Scared of the bleeding edge i guess :)

My linux kernel version is:
tvburk:~ # uname -a
Linux tvburk 3.16.7-35-desktop #1 SMP PREEMPT Sun Feb 7 17:32:21 UTC 2016 (832c776) x86_64 x86_64 x86_64 GNU/Linux

FWIW, I have one Si2168 for DVB-C and two el cheapo RTL2832 sticks for DVB-T

fw: dvb-demod-si2168-02.fw

That firmware is pretty old now.. http://palosaari.fi/linux/v4l-dvb/firmware/Si2168/ has the latest (ish) firmware. There is a 4.0.19 floating around but that's been causing issues.

I'm going to guess that the firmware file is what the driver compiled in into your kernel is requesting, not surprising seeing as 3.16 is getting a bit long in the tooth now :p

Edit: Checked zypper.log and it appears that the problems may have started after 2016-04-03 when I ran a system update.

RE: TVH 4.0.7 that has been running fine for months, dies overnight? - Added by Anders Gustafsson over 8 years ago

OK: It was generally unresponsive this morning, last log entries were from around midnight when it downloaded xmltv. Restarted and got the crash below.

Apr 10 08:27:21 tvburk kernel: ---[ end trace 658687d5259fe81e ]---
Apr 10 08:27:21 tvburk kernel: CR2: 0000000000000210
Apr 10 08:27:21 tvburk kernel:  RSP <ffff880113c1bc10>
Apr 10 08:27:21 tvburk kernel: RIP  [<ffffffffa059044b>] dvb_frontend_open+0x4b/0x3f0 [dvb_core]
Apr 10 08:27:21 tvburk kernel: Code: 04 48 89 7c 24 10 48 89 74 24 18 49 8b 6d 58 48 8b 85 18 03 00 00 4c 8b a5 00 03 00 00 48 89 04 24 0f 85 21
Apr 10 08:27:21 tvburk kernel:  [<00007f1a4c6d118d>] 0x7f1a4c6d118c
Apr 10 08:27:21 tvburk kernel:  [<ffffffff8162414d>] system_call_fastpath+0x1a/0x1f
Apr 10 08:27:21 tvburk kernel:  [<ffffffff811b7c99>] do_sys_open+0x129/0x220
Apr 10 08:27:21 tvburk kernel:  [<ffffffff811c8b3a>] do_filp_open+0x3a/0x90
Apr 10 08:27:21 tvburk kernel:  [<ffffffff811c6e6b>] path_openat+0xbb/0x690
Apr 10 08:27:21 tvburk kernel:  [<ffffffff811c60c0>] do_last+0x540/0x1230
Apr 10 08:27:21 tvburk kernel:  [<ffffffff811b61d2>] do_dentry_open+0x1f2/0x330
Apr 10 08:27:21 tvburk kernel:  [<ffffffff811bcf6b>] chrdev_open+0x9b/0x1d0
Apr 10 08:27:21 tvburk kernel:  [<ffffffffa058649d>] dvb_device_open+0x8d/0xe0 [dvb_core]
Apr 10 08:27:21 tvburk kernel: Call Trace:
Apr 10 08:27:21 tvburk kernel:  ffff8800d730bb00 ffffffff811bced0 ffff8800d5f35810 ffffffffa058649d
Apr 10 08:27:21 tvburk kernel:  00000000000000d0 ffff8800d5f35800 0000000000000000 ffff8800ce9bf060
Apr 10 08:27:21 tvburk kernel:  0000000000000000 0000000000000202 ffff8800ce9bf060 ffff8800d5f35800
Apr 10 08:27:21 tvburk kernel: Stack:
Apr 10 08:27:21 tvburk kernel: CR2: 0000000000000210 CR3: 0000000114805000 CR4: 00000000000407f0
Apr 10 08:27:21 tvburk kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Apr 10 08:27:21 tvburk kernel: FS:  00007f1a500bbc00(0000) GS:ffff88011fa00000(0000) knlGS:0000000000000000
Apr 10 08:27:21 tvburk kernel: R13: ffff880117d2c440 R14: ffffffff811bced0 R15: ffff8800d5f35810
Apr 10 08:27:21 tvburk kernel: R10: 0000000000000002 R11: ffffffffffffffff R12: 0000000000000000
Apr 10 08:27:21 tvburk kernel: RBP: ffff8800ce2e2038 R08: 0000000000000000 R09: 0000000000000000
Apr 10 08:27:21 tvburk kernel: RDX: ffffffffa0590400 RSI: ffff8800d5f35800 RDI: ffff8800ce9bf060
Apr 10 08:27:21 tvburk kernel: RAX: 0000000000000000 RBX: ffff8800d5f35800 RCX: 000000000000125d
Apr 10 08:27:21 tvburk kernel: RSP: 0018:ffff880113c1bc10  EFLAGS: 00010246
Apr 10 08:27:21 tvburk kernel: RIP: 0010:[<ffffffffa059044b>]  [<ffffffffa059044b>] dvb_frontend_open+0x4b/0x3f0 [dvb_core]
Apr 10 08:27:21 tvburk kernel: task: ffff88009b776490 ti: ffff880113c18000 task.ti: ffff880113c18000
Apr 10 08:27:21 tvburk kernel: Hardware name: ASUS All Series/Z97-P, BIOS 2803 05/21/2015
Apr 10 08:27:21 tvburk kernel: CPU: 0 PID: 2421 Comm: tvheadend Tainted: G      D  C    3.16.7-35-desktop #1
Apr 10 08:27:21 tvburk kernel:  snd crc32_pclmul ghash_clmulni_intel soundcore eeepc_wmi asus_wmi mxm_wmi sparse_keymap serio_raw rfkill pcspkr m
Apr 10 08:27:21 tvburk kernel: Modules linked in: nfsd auth_rpcgss oid_registry nfs_acl lockd sunrpc bnep bluetooth 6lowpan_iphc af_packet fuse i
Apr 10 08:27:21 tvburk kernel: Oops: 0000 [#4] PREEMPT SMP
Apr 10 08:27:21 tvburk kernel: PGD 11490e067 PUD 11490f067 PMD 0
Apr 10 08:27:21 tvburk kernel: IP: [<ffffffffa059044b>] dvb_frontend_open+0x4b/0x3f0 [dvb_core]
Apr 10 08:27:20 tvburk kernel: BUG: unable to handle kernel NULL pointer dereference at 0000000000000210
Apr 10 08:27:20 tvburk tvheadend[2421]: scanfile: ATSC - loaded 2 regions with 13 networks
Apr 10 08:27:20 tvburk tvheadend[2421]: scanfile: DVB-C - loaded 15 regions with 49 networks
Apr 10 08:27:20 tvburk tvheadend[2421]: scanfile: DVB-S - loaded 1 regions with 91 networks
Apr 10 08:27:20 tvburk tvheadend[2421]: scanfile: DVB-T - loaded 39 regions with 686 networks
Apr 10 08:27:19 tvburk tvheadend[2421]: config: loaded
lines 22-44
Apr 10 08:27:21 tvburk kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Apr 10 08:27:21 tvburk kernel: FS:  00007f1a500bbc00(0000) GS:ffff88011fa00000(0000) knlGS:0000000000000000
Apr 10 08:27:21 tvburk kernel: R13: ffff880117d2c440 R14: ffffffff811bced0 R15: ffff8800d5f35810
Apr 10 08:27:21 tvburk kernel: R10: 0000000000000002 R11: ffffffffffffffff R12: 0000000000000000
Apr 10 08:27:21 tvburk kernel: RBP: ffff8800ce2e2038 R08: 0000000000000000 R09: 0000000000000000
Apr 10 08:27:21 tvburk kernel: RDX: ffffffffa0590400 RSI: ffff8800d5f35800 RDI: ffff8800ce9bf060
Apr 10 08:27:21 tvburk kernel: RAX: 0000000000000000 RBX: ffff8800d5f35800 RCX: 000000000000125d
Apr 10 08:27:21 tvburk kernel: RSP: 0018:ffff880113c1bc10  EFLAGS: 00010246
Apr 10 08:27:21 tvburk kernel: RIP: 0010:[<ffffffffa059044b>]  [<ffffffffa059044b>] dvb_frontend_open+0x4b/0x3f0 [dvb_core]
Apr 10 08:27:21 tvburk kernel: task: ffff88009b776490 ti: ffff880113c18000 task.ti: ffff880113c18000
Apr 10 08:27:21 tvburk kernel: Hardware name: ASUS All Series/Z97-P, BIOS 2803 05/21/2015
Apr 10 08:27:21 tvburk kernel: CPU: 0 PID: 2421 Comm: tvheadend Tainted: G      D  C    3.16.7-35-desktop #1
Apr 10 08:27:21 tvburk kernel:  snd crc32_pclmul ghash_clmulni_intel soundcore eeepc_wmi asus_wmi mxm_wmi sparse_keymap serio_raw rfkill pcspkr m
Apr 10 08:27:21 tvburk kernel: Modules linked in: nfsd auth_rpcgss oid_registry nfs_acl lockd sunrpc bnep bluetooth 6lowpan_iphc af_packet fuse i
Apr 10 08:27:21 tvburk kernel: Oops: 0000 [#4] PREEMPT SMP
Apr 10 08:27:21 tvburk kernel: PGD 11490e067 PUD 11490f067 PMD 0
Apr 10 08:27:21 tvburk kernel: IP: [<ffffffffa059044b>] dvb_frontend_open+0x4b/0x3f0 [dvb_core]
Apr 10 08:27:20 tvburk kernel: BUG: unable to handle kernel NULL pointer dereference at 0000000000000210
Apr 10 08:27:20 tvburk tvheadend[2421]: scanfile: ATSC - loaded 2 regions with 13 networks
Apr 10 08:27:20 tvburk tvheadend[2421]: scanfile: DVB-C - loaded 15 regions with 49 networks
Apr 10 08:27:20 tvburk tvheadend[2421]: scanfile: DVB-S - loaded 1 regions with 91 networks
Apr 10 08:27:20 tvburk tvheadend[2421]: scanfile: DVB-T - loaded 39 regions with 686 networks
Apr 10 08:27:19 tvburk tvheadend[2421]: config: loaded
Apr 10 08:27:19 tvburk tvheadend[2421]: main: Log started
Apr 10 08:27:19 tvburk systemd[1]: Started tvheadend.
Apr 10 08:27:18 tvburk systemd[1]: Starting tvheadend...

RE: TVH 4.0.7 that has been running fine for months, dies overnight? - Added by Anders Gustafsson over 8 years ago

As for the firmware. It expects dvb-demod-si2168-02.fw. Does not appear to like any other version, even if I rename it?

[ 14.907722] si2168 13-0064: si2168: found a 'Silicon Labs Si2168' in cold state
[ 14.907779] si2168 13-0064: si2168: downloading firmware from file 'dvb-demod-si2168-02.fw'
[ 15.075993] si2168 13-0064: si2168: found a 'Silicon Labs Si2168' in warm state
[ 15.076011] usb 3-4: DVB: adapter 2 frontend 0 frequency 0 out of range (110000000..862000000)
[ 15.102499] si2168 13-0064: si2168: found a 'Silicon Labs Si2168' in cold state
[ 15.102521] si2168 13-0064: si2168: downloading firmware from file 'dvb-demod-si2168-02.fw'
[ 15.257857] si2168 13-0064: si2168: found a 'Silicon Labs Si2168' in warm state
[ 18.004070] usb 3-10: DVB: adapter 1 frontend 0 frequency 0 out of range (174000000..862000000)
[ 20.800981] usb 3-9: DVB: adapter 0 frontend 0 frequency 0 out of range (174000000..862000000)

I find the files on Antti's site somewhat confusing, ie as to what one to use?

RE: TVH 4.0.7 that has been running fine for months, dies overnight? - Added by Anders Gustafsson over 8 years ago

OK. I cheked the code for the actual kernel driver...

[ 1656.319207] si2168 13-0064: si2168: found a 'Silicon Labs Si2168' in cold state
[ 1656.319223] si2168 13-0064: si2168: downloading firmware from file 'dvb-demod-si2168-02.fw'
[ 1656.476735] si2168 13-0064: si2168: found a 'Silicon Labs Si2168' in warm state

It downloads different files, based on what chip version it sees, but the output from dmesg does not actually match what I see in the driver source so perhaps my kernel has an older version of si2168?


tvburk:~ # lsmod |grep si2
si2157                 13435  1
si2168                 17900  1
i2c_mux                12896  2 rtl2832,si2168
tvburk:~ # modinfo si2168
filename:       /lib/modules/3.16.7-35-desktop/kernel/drivers/media/dvb-frontends/si2168.ko
firmware:       dvb-demod-si2168-02.fw
license:        GPL
description:    Silicon Labs Si2168 DVB-T/T2/C demodulator driver
author:         Antti Palosaari <[email protected]>
srcversion:     B899649410D2DD77598C4D3
alias:          i2c:si2168
depends:        i2c-mux
intree:         Y
vermagic:       3.16.7-35-desktop SMP preempt mod_unload modversions
tvburk:~ #

RE: TVH 4.0.7 that has been running fine for months, dies overnight? - Added by Mark Clarkstone over 8 years ago

What version you use for yours is up to you, I use 4.0.11 as the others don't work so well (in my case).

Even if your kernel expects a certain firmware filename there is nothing stopping you from renaming :)

RE: TVH 4.0.7 that has been running fine for months, dies overnight? - Added by Anders Gustafsson over 8 years ago

Yes, I tried that, but it refused to load... What version does your kernel module have? Or am I to understand that the actual driver has no version of its own and that 3.16 is the same as the Linux kernel version?

edit:

With the B40 file, renamed, I get:
[ 9.087381] si2168 13-0064: si2168: Silicon Labs Si2168 successfully attached
[ 17.331536] si2168 13-0064: si2168: found a 'Silicon Labs Si2168' in cold state
[ 17.352612] si2168 13-0064: si2168: downloading firmware from file 'dvb-demod-si2168-02.fw'
[ 17.431792] si2168 13-0064: si2168: firmware download failed=-110

RE: TVH 4.0.7 that has been running fine for months, dies overnight? - Added by Anders Gustafsson over 8 years ago

OK. In case anyone is interested, this is what I did.... The driver version in OpenSuse is old, so I pulled down the most recent I could find from https://github.com/torvalds/linux/tree/master/drivers/media/dvb-frontends.

Put those in a separate dir and created a makefile:


ccflags-y += -I$(srctree)/drivers/media/dvb-core/
ccflags-y += -I$(srctree)/drivers/media/tuners/
obj-m = si2168.o
KVERSION = $(shell uname -r)
all:
        make -C /lib/modules/$(KVERSION)/build M=$(PWD) modules
clean:
        make -C /lib/modules/$(KVERSION)/build M=$(PWD) cleant

Then make to make si2168.ko. Then copy it:
cp si2168.ko /lib/modules/3.16.7-35-desktop/kernel/drivers/media/dvb-frontends/si2168.ko

Then copy all available fw-files to /lib/firmware, ie:


-rw-r--r-- 1 root root  2728 Oct 28 20:27 /lib/firmware/dvb-demod-si2168-02.fw
-rw-r--r-- 1 root root 28656 Apr 13 22:50 /lib/firmware/dvb-demod-si2168-a20-01.fw
-rw-r--r-- 1 root root 17576 Apr 13 22:50 /lib/firmware/dvb-demod-si2168-a30-01.fw
-rw-r--r-- 1 root root  6919 Apr 10 08:31 /lib/firmware/dvb-demod-si2168-b40-01.fw

Rebooted:
tvburk:~ # dmesg|grep 2168
[    8.550497] si2168 13-0064: Silicon Labs Si2168 successfully attached
[    8.559942] usb 3-4: DVB: registering adapter 2 frontend 0 (Silicon Labs Si2168)...
[   16.739810] si2168 13-0064: found a 'Silicon Labs Si2168-B40'
[   16.748646] si2168 13-0064: downloading firmware from file 'dvb-demod-si2168-b40-01.fw'
[   16.950927] si2168 13-0064: firmware version: 4.0.11

But.... linuxdvb: Silicon Labs Si2168 : DVB-C #0 - poll TIMEOUT and no signal :)

But mixing kernel modules this way is not a good thing. I guess the best bet is to upgrade this box to OpenSuse Leap 42.1, kernel 4.1.12

RE: TVH 4.0.7 that has been running fine for months, dies overnight? - Added by Anders Gustafsson over 8 years ago

Upgraded to OpenSuse Leap 42.1, still problems and just with the si2168 tuner:

Apr 15 19:44:47 tvburk tvheadend1680: linuxdvb: Silicon Labs Si2168 : DVB-C #0 - starting 162MHz in MCA
Apr 15 19:44:47 tvburk tvheadend1680: mpegts: 162MHz in MCA - tuning on Silicon Labs Si2168 : DVB-C #0
Apr 15 19:44:47 tvburk tvheadend1680: service: 3: TV3 si 0xe03b90 Silicon Labs Si2168 : DVB-C #0 weight 0 prio 10 error 0
Apr 15 19:44:48 tvburk kernel: note: tvheadend1680 exited with preempt_count 1

RE: TVH 4.0.7 that has been running fine for months, dies overnight? - Added by Anders Gustafsson over 8 years ago

Still crashing:


Apr 18 18:59:30 tvburk kernel: note: tvheadend[1507] exited with preempt_count 1
Apr 18 18:59:30 tvburk kernel: ---[ end trace ae256e4ad7deca31 ]---
Apr 18 18:59:30 tvburk kernel: CR2: 00000000000011c0
Apr 18 18:59:30 tvburk kernel:  RSP <ffff8800c5afbd40>
Apr 18 18:59:30 tvburk kernel: RIP  [<ffffffff8165f9e2>] _raw_spin_lock_irqsave+0x22/0x50
Apr 18 18:59:30 tvburk kernel: Code: a5 ff 0f 1f 80 00 00 00 00 0f 1f 44 00 00 9c 58 0f 1f 44 00 00 48 89 c6 fa 66
Apr 18 18:59:30 tvburk kernel:  [<00007f7dd127fb87>] 0x7f7dd127fb87
Apr 18 18:59:30 tvburk kernel:  [<ffffffff8165feb2>] system_call_fastpath+0x16/0x75
Apr 18 18:59:30 tvburk kernel:  [<ffffffff811f1221>] SyS_ioctl+0x81/0xa0
Apr 18 18:59:30 tvburk kernel:  [<ffffffff811f0f8f>] do_vfs_ioctl+0x2ff/0x510
Apr 18 18:59:30 tvburk kernel:  [<ffffffffa05ddab3>] dvb_generic_ioctl+0x23/0x40 [dvb_core]
Apr 18 18:59:30 tvburk kernel:  [<ffffffffa05dda18>] dvb_usercopy+0xf8/0x170 [dvb_core]
Apr 18 18:59:30 tvburk kernel:  [<ffffffffa05e8ec4>] dvb_frontend_ioctl+0x44/0x140 [dvb_core]
Apr 18 18:59:30 tvburk kernel:  [<ffffffff810b01f3>] down_interruptible+0x13/0x50

    (1-17/17)