Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Odroid C2 USB-Problem with 4.18.8 mainline kernel

Featured Replies

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

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.