[pvrusb2] Kernel oops with pvrusb2 and WinTV HVR-1950

Chris Szilagyi chris at apex-internet.com
Sat Feb 3 07:19:00 CST 2018


After searching around for quite a while I found a bug post regarding 
this issue with a newer Ubuntu 4.4.0 kernel.

https://bugs.launchpad.net/ubuntu/+bug/1710419

I tried using the patch supplied in their thread on my 4.9 kernel 
however I'm getting these errors:

Feb  3 13:11:48 bananapi kernel: pvrusb2: Unknown symbol 
__stack_chk_guard (err 0)
Feb  3 13:11:48 bananapi kernel: pvrusb2: Unknown symbol 
__stack_chk_fail (err 0)

Using insmod directly shows:
insmod: ERROR: could not insert module pvrusb2.ko: Unknown symbol in module

The issue definitely seems to be the line in pvrusb2-eeprom.c:

tveeprom_hauppauge_analog(NULL, &tvdata, eeprom);

Their patch replaces the NULL however in this case there must be 
something different about the 4.9 kernel.

I also believe this is fixed as of the 4.14 kernel, I found this 
reference as well:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/media/usb/pvrusb2/pvrusb2-eeprom.c?h=v4.14-rc1&id=446aba663b8240b24202cb8902b0d5c8f91aa3da

However I was hoping there was a fix so I can recompile the module for 
my 4.9 kernel.

If anybody has any ideas please advise, thank you for your help.

Chris



On 01/30/2018 11:01 AM, Chris Szilagyi wrote:
> Hello:
>
> I have been attempting to use a Hauppauge WinTV HVR-1950 on a new 
> ARM-based system that has the 4.9.75 kernel (CentOS 7 for ARM). The 
> first time I plugged it in, I forgot to add the firmware files to 
> /lib.  Interestingly, the kernel was fine at that point but obviously 
> could not initialize the device.  After adding the two firmware files, 
> v4l-pvrusb2-73xxx-01.fw and v4l-cx25840.fw, now when plugging in the 
> device I get a kernel oops every time.  I've done quite a bit of 
> searching and found a couple references to a similar issue back in the 
> 3.x kernel but haven't been able to find anything conclusive.  I have 
> also tried a 4.9.40 kernel as well, and receive the same result.  This 
> device has worked flawlessly for years on an older CentOS 6 x86 box so 
> I know the device itself is good.
>
> Any suggestions on what I can try, to get this working?  I am 
> comfortable compiling the driver myself if that may help.  Not sure 
> what do to here.  I'm including the syslog below of what I'm getting 
> when this happens, if that helps at all.
>
> Thank you very much in advance!
>
>
> Jan 30 04:43:55 bananapi kernel: usb 4-1: new high-speed USB device 
> number 2 using ehci-platform
> Jan 30 04:43:55 bananapi kernel: usb 4-1: New USB device found, 
> idVendor=2040, idProduct=7501
> Jan 30 04:43:55 bananapi kernel: usb 4-1: New USB device strings: 
> Mfr=1, Product=2, SerialNumber=3
> Jan 30 04:43:55 bananapi kernel: usb 4-1: Product: WinTV
> Jan 30 04:43:56 bananapi kernel: usb 4-1: Manufacturer: Hauppauge
> Jan 30 04:43:56 bananapi kernel: usb 4-1: SerialNumber: 7300-00-F0783133
> Jan 30 04:43:56 bananapi kernel: media: Linux media interface: v0.10
> Jan 30 04:43:56 bananapi kernel: Linux video capture interface: v2.00
> Jan 30 04:43:56 bananapi kernel: pvrusb2: Hardware description: WinTV 
> HVR-1950 Model 751xx
> Jan 30 04:43:56 bananapi kernel: usbcore: registered new interface 
> driver pvrusb2
> Jan 30 04:43:56 bananapi kernel: pvrusb2: V4L in-tree 
> version:Hauppauge WinTV-PVR-USB2 MPEG2 Encoder/Tuner
> Jan 30 04:43:56 bananapi kernel: pvrusb2: Debug mask is 31 (0x1f)
> Jan 30 04:43:57 bananapi kernel: pvrusb2: Device microcontroller 
> firmware (re)loaded; it should now reset and reconnect.
> Jan 30 04:43:57 bananapi kernel: usb 4-1: USB disconnect, device number 2
> Jan 30 04:43:57 bananapi kernel: pvrusb2: Device being rendered 
> inoperable
> Jan 30 04:43:59 bananapi kernel: usb 4-1: new high-speed USB device 
> number 3 using ehci-platform
> Jan 30 04:43:59 bananapi kernel: usb 4-1: New USB device found, 
> idVendor=2040, idProduct=7501
> Jan 30 04:43:59 bananapi kernel: usb 4-1: New USB device strings: 
> Mfr=1, Product=2, SerialNumber=3
> Jan 30 04:43:59 bananapi kernel: usb 4-1: Product: WinTV
> Jan 30 04:43:59 bananapi kernel: usb 4-1: Manufacturer: Hauppauge
> Jan 30 04:43:59 bananapi kernel: usb 4-1: SerialNumber: 7300-00-F0783133
> Jan 30 04:43:59 bananapi kernel: pvrusb2: Hardware description: WinTV 
> HVR-1950 Model 751xx
> Jan 30 04:43:59 bananapi kernel: pvrusb2: Binding ir_rx_z8f0811_haup 
> to i2c address 0x71.
> Jan 30 04:43:59 bananapi kernel: pvrusb2: Binding ir_tx_z8f0811_haup 
> to i2c address 0x70.
> Jan 30 04:43:59 bananapi kernel: lirc_zilog: module is from the 
> staging directory, the quality is unknown, you have been warned.
> Jan 30 04:43:59 bananapi kernel: lirc_zilog: module is from the 
> staging directory, the quality is unknown, you have been warned.
> Jan 30 04:43:59 bananapi kernel: Zilog/Hauppauge IR driver initializing
> Jan 30 04:43:59 bananapi kernel: probing IR Rx on pvrusb2_a (i2c-2)
> Jan 30 04:43:59 bananapi kernel: probe of IR Rx on pvrusb2_a (i2c-2) 
> done. Waiting on IR Tx.
> Jan 30 04:43:59 bananapi kernel: i2c i2c-2: probe of IR Rx on 
> pvrusb2_a (i2c-2) done
> Jan 30 04:43:59 bananapi kernel: probing IR Tx on pvrusb2_a (i2c-2)
> Jan 30 04:43:59 bananapi kernel: i2c i2c-2: Direct firmware load for 
> haup-ir-blaster.bin failed with error -2
> Jan 30 04:43:59 bananapi kernel: i2c i2c-2: firmware 
> haup-ir-blaster.bin not available (-2)
> Jan 30 04:43:59 bananapi kernel: i2c i2c-2: lirc_dev: driver 
> lirc_zilog registered at minor = 1
> Jan 30 04:43:59 bananapi kernel: i2c i2c-2: IR unit on pvrusb2_a 
> (i2c-2) registered as lirc1 and ready
> Jan 30 04:43:59 bananapi kernel: i2c i2c-2: probe of IR Tx on 
> pvrusb2_a (i2c-2) done
> Jan 30 04:43:59 bananapi kernel: initialization complete
> Jan 30 04:43:59 bananapi kernel: cx25840 2-0044: cx25843-24 found @ 
> 0x88 (pvrusb2_a)
> Jan 30 04:43:59 bananapi kernel: pvrusb2: Attached sub-driver cx25840
> Jan 30 04:43:59 bananapi kernel: tuner 2-0042: Tuner -1 found with 
> type(s) Radio TV.
> Jan 30 04:43:59 bananapi kernel: pvrusb2: Attached sub-driver tuner
> Jan 30 04:44:01 bananapi kernel: cx25840 2-0044: loaded v4l-cx25840.fw 
> firmware (16382 bytes)
> Jan 30 04:44:02 bananapi kernel: Unable to handle kernel NULL pointer 
> dereference at virtual address 00000018
> Jan 30 04:44:02 bananapi kernel: pgd = c0204000
> Jan 30 04:44:02 bananapi kernel: [00000018] *pgd=00000000
>
> Message from syslogd at bananapi at Jan 30 04:44:03 ...
>  kernel:Internal error: Oops: 5 [#1] SMP ARM
> Jan 30 04:44:03 bananapi kernel: Internal error: Oops: 5 [#1] SMP ARM
> Jan 30 04:44:03 bananapi kernel: Modules linked in: tda8290(E) 
> tuner(E) cx25840(E) lirc_zilog(CE) pvrusb2(E) tveeprom(E) cx2341x(E) 
> dvb_core(E) v4l2_common(E) videodev(E) media(E) ip6t_rpfilter(E) 
> ip6t_REJECT(E) nf_reject_ipv6(E) xt_conntrack(E) ip_set(E) 
> nfnetlink(E) ebtable_nat(E) ebtable_broute(E) bridge(E) stp(E) llc(E) 
> ip6table_nat(E) nf_conntrack_ipv6(E) nf_defrag_ipv6(E) nf_nat_ipv6(E) 
> ip6table_mangle(E) ip6table_security(E) ip6table_raw(E) iptable_nat(E) 
> nf_conntrack_ipv4(E) nf_defrag_ipv4(E) nf_nat_ipv4(E) nf_nat(E) 
> nf_conntrack(E) iptable_mangle(E) iptable_security(E) iptable_raw(E) 
> ebtable_filter(E) ebtables(E) ip6table_filter(E) ip6_tables(E) 
> sun4i_codec(E) snd_soc_core(E) snd_pcm_dmaengine(E) ac97_bus(E) 
> snd_seq(E) snd_seq_device(E) ir_lirc_codec(E) lirc_dev(E) 
> axp20x_usb_power(E) snd_pcm(E) gpio_axp209(E)
> Jan 30 04:44:03 bananapi kernel: axp20x_pek(E) snd_timer(E) snd(E) 
> sun4i_ts(E) soundcore(E) sunxi_cir(E) rc_core(E) sunxi_wdt(E) 
> nvmem_sunxi_sid(E) nvmem_core(E) sun4i_ss(E) sunxi(E) phy_generic(E) 
> des_generic(E) musb_hdrc(E) udc_core(E) spi_sun4i(E) phy_sun4i_usb(E) 
> leds_gpio(E) cpufreq_dt(E) realtek(E) mmc_block(E) dwmac_sunxi(E) 
> stmmac_platform(E) stmmac(E) ptp(E) pps_core(E) i2c_mv64xxx(E) 
> rtc_sunxi(E) ahci_sunxi(E) libahci_platform(E) ehci_platform(E) 
> ohci_platform(E) sunxi_mmc(E) mmc_core(E) sun4i_dma(E)
> Jan 30 04:44:03 bananapi kernel: CPU: 1 PID: 824 Comm: pvrusb2-context 
> Tainted: G         C  E 4.9.75-204.el7.centos.armv7hl #1
> Jan 30 04:44:03 bananapi kernel: Hardware name: Allwinner sun7i (A20) 
> Family
> Jan 30 04:44:03 bananapi kernel: task: c7d48000 task.stack: c7f00000
> Jan 30 04:44:03 bananapi kernel: PC is at 
> tveeprom_hauppauge_analog+0x6d8/0x9c0 [tveeprom]
> Jan 30 04:44:03 bananapi kernel: LR is at 
> tveeprom_hauppauge_analog+0x58/0x9c0 [tveeprom]
> Jan 30 04:44:03 bananapi kernel: pc : [<bf4746d8>]    lr : 
> [<bf474058>]    psr: 60000013#012sp : c7f01d88  ip : bf476c2b  fp : 
> 000000f0
> Jan 30 04:44:03 bananapi kernel: r10: 00000000  r9 : 00000025  r8 : 
> bf4769fe
> Jan 30 04:44:03 bananapi kernel: r7 : 0000009b  r6 : 00000000  r5 : 
> bf475d5c  r4 : c7f01e4c
> Jan 30 04:44:03 bananapi kernel: r3 : 00000008  r2 : 00000000  r1 : 
> 00012567  r0 : 00000000
> Jan 30 04:44:03 bananapi kernel: Flags: nZCv  IRQs on  FIQs on Mode 
> SVC_32  ISA ARM  Segment none
> Jan 30 04:44:03 bananapi kernel: Control: 10c5387d  Table: 47d2806a  
> DAC: 00000051
>
> Message from syslogd at bananapi at Jan 30 04:44:03 ...
>  kernel:Process pvrusb2-context (pid: 824, stack limit = 0xc7f00220)
> Jan 30 04:44:03 bananapi kernel: Process pvrusb2-context (pid: 824, 
> stack limit = 0xc7f00220)
>
> Message from syslogd at bananapi at Jan 30 04:44:03 ...
>  kernel:Stack: (0xc7f01d88 to 0xc7f02000)
> Jan 30 04:44:03 bananapi kernel: Stack: (0xc7f01d88 to 0xc7f02000)
>
> Message from syslogd at bananapi at Jan 30 04:44:03 ...
>  kernel:1d80:                   ee8c2000 bf47c518 00000011 c7f00000 
> 00000001 00000001
> Jan 30 04:44:03 bananapi kernel: 1d80:                   ee8c2000 
> bf47c518 00000011 c7f00000 00000001 00000001
>
>
> [SNIP]



More information about the pvrusb2 mailing list