b-rad-NDi / Embedded-MediaDrivers

Simple system to build embedded kernels, stuff in missing modules, and produce mainline media tree drivers
3 stars 2 forks source link

RIP [<ffffffffa0c456f7>] tveeprom_hauppauge_analog+0x6f7/0xc90 [tveeprom] #2

Closed th0ma7 closed 5 years ago

th0ma7 commented 5 years ago

Created a module loading script such as:

#!/bin/sh

# Load mandatory media modules
sudo insmod /usr/local/lib/modules/$(uname -r)/media.ko
sudo insmod /usr/local/lib/modules/$(uname -r)/videodev.ko
sudo insmod /usr/local/lib/modules/$(uname -r)/videobuf2-common.ko
sudo insmod /usr/local/lib/modules/$(uname -r)/videobuf2-v4l2.ko
sudo insmod /usr/local/lib/modules/$(uname -r)/videobuf2-memops.ko
sudo insmod /usr/local/lib/modules/$(uname -r)/videobuf2-vmalloc.ko
sudo insmod /usr/local/lib/modules/$(uname -r)/dvb-core.ko
sudo insmod /usr/local/lib/modules/$(uname -r)/rc-core.ko
sudo insmod /usr/local/lib/modules/$(uname -r)/dvb-usb.ko
sudo insmod /usr/local/lib/modules/$(uname -r)/v4l2-common.ko
sudo insmod /usr/local/lib/modules/$(uname -r)/tveeprom.ko

# Load Hauppauge necessary tuners, dvb-frontend and updated drivers
sudo insmod /usr/local/lib/modules/$(uname -r)/si2157.ko
sudo insmod /usr/local/lib/modules/$(uname -r)/lgdt3306a.ko
sudo insmod /usr/local/lib/modules/$(uname -r)/em28xx.ko
sudo insmod /usr/local/lib/modules/$(uname -r)/em28xx-dvb.ko

Did a reboot and ended-up getting the following crash:

[  112.843182] em28xx 1-3:1.0: Identified as Hauppauge WinTV-dualHD 01595 ATSC/QAM (card=100)
[  112.855289] general protection fault: 0000 [#1] PREEMPT SMP 
[  112.861626] Modules linked in: em28xx(OE+) lgdt3306a(OE) media(OE) si2157 tveeprom v4l2_common videodev dvb_usb rc_core dvb_core cifs udf isofs loop nfsd exportfs rpcsec_gss_krb5 syno_hddmon(P) hid_generic usbhid hid usblp tcm_loop(O) usb_storage iscsi_target_mod(O) uhci_hcd target_core_ep(O) target_core_multi_file(O) ehci_pci target_core_file(O) target_core_iblock(O) ehci_hcd target_core_mod(O) syno_extent_pool(PO) rodsp_ep(O) flashcache_syno(O) flashcache(O) syno_flashcache_control(O) openvswitch gre nf_defrag_ipv6 nf_conntrack apollolake_synobios(PO) leds_lp3943 exfat(O) btrfs i915 drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops cfbfillrect cfbcopyarea cfbimgblt drm fb fbdev intel_agp intel_gtt agpgart video backlight button synoacl_vfs(PO) hfsplus md4 hmac r8168(O) igb(O) i2c_algo_bit
[  112.941059]  e1000e(O) vxlan ip6_udp_tunnel udp_tunnel fuse vfat fat crc32c_intel aesni_intel glue_helper lrw gf128mul ablk_helper arc4 cryptd ecryptfs sha256_generic ecb aes_x86_64 authenc des_generic ansi_cprng cts md5 cbc cpufreq_powersave cpufreq_performance acpi_cpufreq processor cpufreq_stats dm_snapshot dm_bufio crc_itu_t crc_ccitt quota_v2 quota_tree psnap p8022 llc sit tunnel4 ip_tunnel ipv6 zram sg etxhci_hcd xhci_pci xhci_hcd usbcore usb_common [last unloaded: apollolake_synobios]
[  112.988478] CPU: 1 PID: 17368 Comm: insmod Tainted: P           OE   4.4.59+ #24922
[  112.997034] Hardware name: Synology DS918+/DS918+, BIOS M.033 12/06/2018
[  113.004510] task: ffff880450f22240 ti: ffff880070f70000 task.ti: ffff880070f70000
[  113.012870] RIP: 0010:[<ffffffffa0c456f7>]  [<ffffffffa0c456f7>] tveeprom_hauppauge_analog+0x6f7/0xc90 [tveeprom]
[  113.024350] RSP: 0018:ffff880070f73948  EFLAGS: 00010287
[  113.030280] RAX: 70f73a88ffffffff RBX: 0000000000000000 RCX: 0000000000000000
[  113.038249] RDX: 0000000000000000 RSI: ffffffffa0c45e53 RDI: ffffffffa0c46d78
[  113.046221] RBP: ffff880070f73a50 R08: 0000000000000068 R09: 0000000000000002
[  113.054191] R10: 00000000ffffffff R11: 0000000000000000 R12: 0000000000000068
[  113.062160] R13: ffffffff81828368 R14: ffffffffa0c6cae0 R15: ffff88044a0f8e00
[  113.070129] FS:  00007fc7bc59c700(0000) GS:ffff88047fc80000(0000) knlGS:0000000000000000
[  113.079168] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  113.085585] CR2: 00007f51270deba0 CR3: 00000004498c5000 CR4: 00000000003406f0
[  113.093547] Stack:
[  113.095788]  ffff88043dbfb8a0 ffffffffa0c6cae0 ffff880071792c00 ffff880070f739a0
[  113.104063]  ffffffff8105bb28 ffffffff00000000 ffff880400000000 ffff880070f73980
[  113.112336]  ffff880070f73980 0000000000000000 ffff880070f73a64 0000000000000000
[  113.120610] Call Trace:
[  113.123333]  [<ffffffff8105bb28>] ? call_usermodehelper_exec+0xf8/0x130
[  113.130731]  [<ffffffffa0c69cbc>] em28xx_init_dev.isra.14+0x6cc/0xa00 [em28xx]
[  113.138803]  [<ffffffff81383d39>] ? _dev_info+0x59/0x60
[  113.144645]  [<ffffffffa0c6a4cd>] em28xx_usb_probe+0x4dd/0xd90 [em28xx]
[  113.152033]  [<ffffffffa0014c02>] usb_probe_interface+0x102/0x2a0 [usbcore]
[  113.159812]  [<ffffffff81387641>] driver_probe_device+0x1f1/0x310
[  113.166619]  [<ffffffff813877e2>] __driver_attach+0x82/0x90
[  113.172841]  [<ffffffff81387760>] ? driver_probe_device+0x310/0x310
[  113.179842]  [<ffffffff813856d1>] bus_for_each_dev+0x61/0xa0
[  113.186153]  [<ffffffff813870d9>] driver_attach+0x19/0x20
[  113.192181]  [<ffffffff81386d03>] bus_add_driver+0x1b3/0x230
[  113.198502]  [<ffffffff81387feb>] driver_register+0x5b/0xe0
[  113.204730]  [<ffffffffa001363e>] usb_register_driver+0x7e/0x150 [usbcore]
[  113.212409]  [<ffffffffa0c79000>] ? 0xffffffffa0c79000
[  113.218150]  [<ffffffffa0c7901e>] em28xx_usb_driver_init+0x1e/0x20 [em28xx]
[  113.225928]  [<ffffffff810003b6>] do_one_initcall+0x86/0x1b0
[  113.232250]  [<ffffffff810e1b48>] do_init_module+0x56/0x1be
[  113.238474]  [<ffffffff810b7d8d>] load_module+0x1dfd/0x2080
[  113.244697]  [<ffffffff810b51f0>] ? __symbol_put+0x50/0x50
[  113.250826]  [<ffffffff810b8199>] SYSC_finit_module+0x79/0x80
[  113.257245]  [<ffffffff810b81b9>] SyS_finit_module+0x9/0x10
[  113.263467]  [<ffffffff8156a58a>] entry_SYSCALL_64_fastpath+0x1e/0x92
[  113.270660] Code: 9d 38 ff ff ff e9 1c fb ff ff 48 8b 85 48 ff ff ff 48 c7 c6 53 5e c4 a0 45 0f b6 c4 48 c7 c7 78 6d c4 a0 0f b7 48 02 48 8b 40 18 <8b> 90 f8 02 00 00 31 c0 e8 2f c2 49 e0 e9 1f fb ff ff 8d 53 01 
[  113.291980] RIP  [<ffffffffa0c456f7>] tveeprom_hauppauge_analog+0x6f7/0xc90 [tveeprom]
[  113.300822]  RSP <ffff880070f73948>
[  113.306413] ---[ end trace 1c76ba23600e086e ]---

I will continue looking into it to confirm what this relates to.

Cheers!

th0ma7 commented 5 years ago

Wrong, I was wrong. I had forgotten to copy over my new startup script (from above comment) in rc.d directory thus it was still using my former one which uses my own made lgdt3306a + em28xx patches which for the remaining uses the default synology modules.

Booting all ok:

[  117.908125] media: module verification failed: signature and/or required key missing - tainting kernel
[  117.948319] media: Linux media interface: v0.10
[  118.687722] videodev: Linux video capture interface: v2.00
[  118.723530] WARNING: You are using an experimental version of the media stack.
                As the driver is backported to an older kernel, it doesn't offer
                enough quality for its usage in production.
                Use it with care.
               Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
                fc8670d1f72b746ff3a5fe441f1fca4c4dba0e6f media: rockchip/vpu: Fix/re-order probe-error/remove path
                f6d080f73a8fa0ff1cca84ea5bb73aafa9f538d4 media: rockchip/vpu: Initialize mdev->bus_info
                2aa314b4f52f644d7995b8e7ddc831e6e0e1851c media: rockchip/vpu: Get vdev from the file arg in vidioc_querycap()
[  120.105920] init: synoscheduler-vmtouch main process (4489) killed by TERM signal
[  121.105877] init: synoscheduler-vmtouch main process (16828) killed by TERM signal
[  121.256733] WARNING: You are using an experimental version of the media stack.
                As the driver is backported to an older kernel, it doesn't offer
                enough quality for its usage in production.
                Use it with care.
               Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
                fc8670d1f72b746ff3a5fe441f1fca4c4dba0e6f media: rockchip/vpu: Fix/re-order probe-error/remove path
                f6d080f73a8fa0ff1cca84ea5bb73aafa9f538d4 media: rockchip/vpu: Initialize mdev->bus_info
                2aa314b4f52f644d7995b8e7ddc831e6e0e1851c media: rockchip/vpu: Get vdev from the file arg in vidioc_querycap()
[  121.534135] WARNING: You are using an experimental version of the media stack.
                As the driver is backported to an older kernel, it doesn't offer
                enough quality for its usage in production.
                Use it with care.
               Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
                fc8670d1f72b746ff3a5fe441f1fca4c4dba0e6f media: rockchip/vpu: Fix/re-order probe-error/remove path
                f6d080f73a8fa0ff1cca84ea5bb73aafa9f538d4 media: rockchip/vpu: Initialize mdev->bus_info
                2aa314b4f52f644d7995b8e7ddc831e6e0e1851c media: rockchip/vpu: Get vdev from the file arg in vidioc_querycap()
[  122.801581] init: pkg-WebStation-userdir main process (17281) terminated with status 1
[  123.064196] em28xx 1-3:1.0: New device HCW 955D @ 480 Mbps (2040:026d, interface 0, class 0)
[  123.085265] em28xx 1-3:1.0: DVB interface 0 found: isoc
[  123.149328] em28xx 1-3:1.0: chip ID is em28174
[  123.436622] init: pkg-WebStation-php56 main process (17320) killed by USR2 signal
[  123.446089] init: pkg-WebStation-php56 main process ended, respawning
[  123.461521] init: pkg-WebStation-php70 main process (16817) killed by USR2 signal
[  123.471681] init: pkg-WebStation-php70 main process ended, respawning
[  123.496864] init: synoscheduler-vmtouch main process (17121) killed by TERM signal
[  123.628310] init: pkg-WebStation-php72 main process (16197) killed by USR2 signal
[  123.637748] init: pkg-WebStation-php72 main process ended, respawning
[  124.032921] init: synoscheduler-vmtouch main process (17797) killed by TERM signal
[  124.271272] em28xx 1-3:1.0: EEPROM ID = 26 00 01 00, EEPROM hash = 0x3d790eca
[  124.280641] em28xx 1-3:1.0: EEPROM info:
[  124.285433] em28xx 1-3:1.0:  microcode start address = 0x0004, boot configuration = 0x01
[  124.304109] em28xx 1-3:1.0:  AC97 audio (5 sample rates)
[  124.310124] em28xx 1-3:1.0:  500mA max power
[  124.314924] em28xx 1-3:1.0:  Table at offset 0x27, strings=0x0a72, 0x187c, 0x086a
[  124.375890] em28xx 1-3:1.0: Identified as Hauppauge WinTV-dualHD 01595 ATSC/QAM (card=100)
[  124.395324] tveeprom: Hauppauge model 204101, rev B2I6, serial# 11584195
[  124.411098] tveeprom: tuner model is SiLabs Si2157 (idx 186, type 4)
[  124.419739] tveeprom: TV standards PAL(B/G) NTSC(M) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xfc)
[  124.456056] tveeprom: audio processor is None (idx 0)
[  124.470132] tveeprom: has no radio, has IR receiver, has no IR transmitter
[  124.494121] em28xx 1-3:1.0: dvb set to isoc mode.
[  124.556240] em28xx 1-3:1.0: chip ID is em28174
[  125.682148] em28xx 1-3:1.0: EEPROM ID = 26 00 01 00, EEPROM hash = 0x3d790eca
[  125.690316] em28xx 1-3:1.0: EEPROM info:
[  125.694776] em28xx 1-3:1.0:  microcode start address = 0x0004, boot configuration = 0x01
[  125.714539] em28xx 1-3:1.0:  AC97 audio (5 sample rates)
[  125.720523] em28xx 1-3:1.0:  500mA max power
[  125.728220] em28xx 1-3:1.0:  Table at offset 0x27, strings=0x0a72, 0x187c, 0x086a
[  125.795113] em28xx 1-3:1.0: Identified as Hauppauge WinTV-dualHD 01595 ATSC/QAM (card=100)
[  125.806401] tveeprom: Hauppauge model 204101, rev B2I6, serial# 11584195
[  125.816900] tveeprom: tuner model is SiLabs Si2157 (idx 186, type 4)
[  125.825340] tveeprom: TV standards PAL(B/G) NTSC(M) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xfc)
[  125.847747] tveeprom: audio processor is None (idx 0)
[  125.857594] tveeprom: has no radio, has IR receiver, has no IR transmitter
[  125.865390] em28xx 1-3:1.0: dvb ts2 set to isoc mode.
[  126.074486] usbcore: registered new interface driver em28xx
[  126.389348] em28xx 1-3:1.0: Binding DVB extension
[  126.398431] i2c i2c-8: Added multiplexed i2c bus 11
[  126.404079] lgdt3306a 8-0059: LG Electronics LGDT3306A successfully identified
[  126.414113] si2157 11-0060: Silicon Labs Si2147/2148/2157/2158 successfully attached
[  126.422802] dvbdev: DVB: registering new adapter (1-3:1.0)
[  126.428963] em28xx 1-3:1.0: DVB: registering adapter 0 frontend 0 (LG Electronics LGDT3306A VSB/QAM Frontend)...
[  126.440483] dvbdev: dvb_create_media_entity: media entity 'LG Electronics LGDT3306A VSB/QAM Frontend' registered.
[  126.452527] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[  126.462356] em28xx 1-3:1.0: DVB extension successfully initialized
[  126.469271] em28xx 1-3:1.0: Binding DVB extension
[  126.479123] i2c i2c-10: Added multiplexed i2c bus 12
[  126.484696] lgdt3306a 10-000e: LG Electronics LGDT3306A successfully identified
[  126.495317] si2157 12-0062: Silicon Labs Si2147/2148/2157/2158 successfully attached
[  126.503985] dvbdev: DVB: registering new adapter (1-3:1.0)
[  126.510325] em28xx 1-3:1.0: DVB: registering adapter 1 frontend 0 (LG Electronics LGDT3306A VSB/QAM Frontend)...
[  126.521949] dvbdev: dvb_create_media_entity: media entity 'LG Electronics LGDT3306A VSB/QAM Frontend' registered.
[  126.536277] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[  126.545776] em28xx 1-3:1.0: DVB extension successfully initialized
[  126.552879] em28xx: Registered (Em28xx dvb Extension) extension
[  128.233752] ip_tables: (C) 2000-2006 Netfilter Core Team
[  128.343343] workqueue: max_active 1024 requested for vhost_scsi is out of range, clamping between 1 and 512
[  128.887411] ip6_tables: (C) 2000-2006 Netfilter Core Team
[  128.898434] init: pkg-WebStation-userdir main process (18996) terminated with status 1
[  129.418131] aufs 4.4-20160328
[  129.602211] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[  129.638024] Bridge firewalling registered
[  129.757704] IPVS: Registered protocols (TCP, UDP, SCTP, AH, ESP)
[  129.764628] IPVS: Connection hash table configured (size=4096, memory=64Kbytes)
[  129.773261] IPVS: Creating netns size=2096 id=0
[  129.778726] IPVS: ipvs loaded.
[  129.941530] IPVS: [rr] scheduler registered.
[  131.877167] tun: Universal TUN/TAP device driver, 1.6
[  131.882865] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[  132.216712] si2157 12-0062: found a 'Silicon Labs Si2157-A30'
[  132.275931] si2157 12-0062: firmware version: 3.0.5
[  132.281507] dvb_frontend: dvb_frontend_get_frequency_limits: frequency interval: tuner: 42000000...870000000, frontend: 54000000...858000000
[  132.281515] em28xx 1-3:1.0: DVB: adapter 1 frontend 0 frequency 0 out of range (54000000..858000000)
[  132.293372] dvb_frontend: dvb_frontend_get_frequency_limits: frequency interval: tuner: 42000000...870000000, frontend: 54000000...858000000
[  132.494954] si2157 12-0062: found a 'Silicon Labs Si2157-A30'
[  132.509693] si2157 11-0060: found a 'Silicon Labs Si2157-A30'
[  132.530307] si2157 12-0062: firmware version: 3.0.5
[  132.568980] si2157 11-0060: firmware version: 3.0.5
[  132.574484] dvb_frontend: dvb_frontend_get_frequency_limits: frequency interval: tuner: 42000000...870000000, frontend: 54000000...858000000
[  132.574493] em28xx 1-3:1.0: DVB: adapter 0 frontend 0 frequency 0 out of range (54000000..858000000)
[  132.584934] dvb_frontend: dvb_frontend_get_frequency_limits: frequency interval: tuner: 42000000...870000000, frontend: 54000000...858000000
[  132.724283] si2157 11-0060: found a 'Silicon Labs Si2157-A30'
[  132.754112] si2157 11-0060: firmware version: 3.0.5
[  133.689324] dvb_frontend: dvb_frontend_get_frequency_limits: frequency interval: tuner: 42000000...870000000, frontend: 54000000...858000000
[  133.689470] dvb_frontend: dvb_frontend_get_frequency_limits: frequency interval: tuner: 42000000...870000000, frontend: 54000000...858000000
b-rad-NDi commented 5 years ago

Nice :) I'll add the kernel signature patch.