Max Berghammer Posted December 29, 2018 Posted December 29, 2018 Hi! I'm running a Odroid C2 as a SAT->IP-Server for some time having two DVBSky S960 attached to the USB-Ports of the Odroid. The Odroid itsself has a nightly of Armbian installed: 5.38.180128 (4.14.15) and runs a self-compiled tvheadend on it. No big problems so far. As you released a stable stretch-image some time ago, i thought: give it a try! So I flashed the image to my 8GB EMMC, installed all updates, built tvheadend on it and installed it. Everything runs like a charm. Until...I try to use the DVBSky S960 on the USB-Port. Of course I installed the correct driver for it and the device seems to be detected correctly and the drivers are being loaded. At least dmesg says that after a reboot. But as soon, as I try to scan for tv-channels using the tvheadend-web-ui, the system crashes. I get the following on my terminal: Message from syslogd@localhost at Dec 28 22:55:58 ... kernel:[ 50.657471] Internal error: Oops: 96000146 [#1] PREEMPT SMP Message from syslogd@localhost at Dec 28 22:55:58 ... kernel:[ 50.814369] Process tvh:mtimer (pid: 1914, stack limit = 0x00000000f277fb3f) Message from syslogd@localhost at Dec 28 22:55:58 ... kernel:[ 50.909157] Code: 9ac32042 8b010001 d1000443 8a230000 (d50b7a20) dmesg says: [ 50.612175] Unable to handle kernel paging request at virtual address ffff800000cc5000 [ 50.614456] Mem abort info: [ 50.617219] ESR = 0x96000146 [ 50.620233] Exception class = DABT (current EL), IL = 32 bits [ 50.626099] SET = 0, FnV = 0 [ 50.629112] EA = 0, S1PTW = 0 [ 50.632217] Data abort info: [ 50.635132] ISV = 0, ISS = 0x00000146 [ 50.638930] CM = 1, WnR = 1 [ 50.641900] swapper pgtable: 4k pages, 48-bit VAs, pgdp = 0000000094a73707 [ 50.648717] [ffff800000cc5000] pgd=000000007fff8803, pud=000000007fff7803, pmd=0000000000000000 [ 50.657471] Internal error: Oops: 96000146 [#1] PREEMPT SMP [ 50.662742] Modules linked in: rc_dvbsky ts2020 snd_soc_hdmi_codec dw_hdmi_cec dw_hdmi_i2s_audio zstd snd_soc_simple_card snd_soc_simple_card_utils snd_soc_core snd_pcm_dmaengine snd_pcm dvb_usb_dvbsky snd_timer m88ds3103 dvb_usb_v2 snd soundcore dvb_core meson_dw_hdmi i2c_mux meson_drm dw_hdmi drm_kms_helper drm meson_rng ao_cec rng_core cec meson_ir rc_core drm_panel_orientation_quirks meson_gxbb_wdt zram snd_soc_meson_audio_core zsmalloc scpi_hwmon nvmem_meson_efuse ip_tables x_tables realtek [ 50.706323] CPU: 3 PID: 1914 Comm: tvh:mtimer Not tainted 4.18.8-odroidc2 #264 [ 50.713458] Hardware name: Hardkernel ODROID-C2 (DT) [ 50.718372] pstate: 80000005 (Nzcv daif -PAN -UAO) [ 50.723124] pc : __clean_dcache_area_poc+0x20/0x38 [ 50.727860] lr : __swiotlb_map_page+0x74/0x90 [ 50.732169] sp : ffff00000cd6b6b0 [ 50.735446] x29: ffff00000cd6b6b0 x28: ffff800070d1b300 [ 50.740708] x27: ffff80007011d200 x26: ffff000000c65ce0 [ 50.745970] x25: ffff80007030d550 x24: ffff000008b67000 [ 50.751231] x23: 0000000000000001 x22: 0000000000000003 [ 50.756492] x21: 0000000000000000 x20: ffff8000712e2810 [ 50.761753] x19: 0000000000cc5000 x18: 0000000000000000 [ 50.767015] x17: 0000ffffad158ea0 x16: ffff000008260d38 [ 50.772276] x15: 0000000000000000 x14: 0000000000000400 [ 50.777537] x13: 0000000000000400 x12: 0000000000000001 [ 50.782798] x11: 0000000000019008 x10: 00000000000008d0 [ 50.788060] x9 : ffff00000cd6b380 x8 : 0000000000000cc5 [ 50.793321] x7 : 00000000ffffffff x6 : 0000000000cc5000 [ 50.798582] x5 : 0000000000000000 x4 : 0000000000000001 [ 50.803843] x3 : 000000000000003f x2 : 0000000000000040 [ 50.809105] x1 : ffff800000cc5003 x0 : ffff800000cc5000 [ 50.814369] Process tvh:mtimer (pid: 1914, stack limit = 0x00000000f277fb3f) [ 50.821354] Call trace: [ 50.823768] __clean_dcache_area_poc+0x20/0x38 [ 50.828169] usb_hcd_map_urb_for_dma+0x4a8/0x508 [ 50.832741] dwc2_map_urb_for_dma+0x4c/0xe8 [ 50.836878] usb_hcd_submit_urb+0x98/0x970 [ 50.840932] usb_submit_urb+0x3b4/0x558 [ 50.844727] usb_start_wait_urb+0x68/0x100 [ 50.848781] usb_bulk_msg+0xa0/0x148 [ 50.852323] dvb_usb_v2_generic_io.isra.0+0x8c/0x1b8 [dvb_usb_v2] [ 50.858358] dvb_usbv2_generic_rw_locked+0x20/0x28 [dvb_usb_v2] [ 50.864224] dvbsky_stream_ctrl+0x4c/0xa0 [dvb_usb_dvbsky] [ 50.869655] dvbsky_usb_read_status+0x7c/0xa0 [dvb_usb_dvbsky] [ 50.875448] dvb_frontend_handle_ioctl+0x3e8/0xb90 [dvb_core] [ 50.881134] dvb_frontend_do_ioctl+0x88/0xd8 [dvb_core] [ 50.886308] dvb_usercopy+0x68/0x1d0 [dvb_core] [ 50.890793] dvb_frontend_ioctl+0x1c/0x30 [dvb_core] [ 50.895705] do_vfs_ioctl+0xb8/0x8e0 [ 50.899237] ksys_ioctl+0x80/0xb8 [ 50.902514] sys_ioctl+0xc/0x18 [ 50.905620] el0_svc_naked+0x30/0x34 [ 50.909157] Code: 9ac32042 8b010001 d1000443 8a230000 (d50b7a20) [ 50.915196] ---[ end trace ffb85cafd9bb0d8e ]--- Logging can be found here: http://ix.io/1x2t What I tried so far: - Running a current build of tvheadend on my nightly 5.38.180128 works, so it seems to be nothing tvheadend-specific - Running a current build of tvheadend on a stable raspbian with kernel 4.14.79 on a rpi3 also works - Running a current build of tvheadend on the newest nightly of Armbian does not work. Same Error. Any thoughts? Do you need more infos? thx in advance, Max Edit: Seems to be a bug in dvbsky.c introduced in kernel 4.18 and reverted back in 4.20: https://bugzilla.kernel.org/show_bug.cgi?id=199323 https://github.com/torvalds/linux/commits/v4.20-rc1/drivers/media/usb/dvb-usb-v2/dvbsky.c
Igor Posted January 23, 2019 Posted January 23, 2019 On 12/29/2018 at 12:20 PM, Max Berghammer said: But as soon, as I try to scan for tv-channels using the tvheadend-web-ui, the system crashes. Check next nightly build:
Max Berghammer Posted January 23, 2019 Author Posted January 23, 2019 Thx alot! But I fixed the bug and rebuilt the kernel on my own in the meantime. 1
Recommended Posts