You are not logged in.

#1 2013-03-09 16:51:25

myrlin
Member
Registered: 2010-06-11
Posts: 271

[SOLVED] Systemd /Hauppage HVR3000 TV Card

This card worked perfectly prior to the move to Systemd, but it now causes serious problems.  I have carried out a clean installation, without success. The symptoms are as follows:

With the card installed, on most boots (but not all), I get a stream of data on the screen at boot time, despite having the "quiet" option selected. When this happens, my PC continues to work OK, but will not turn off or reboot. I have to unplug it!

Here is an extract from the journal including messages relating to the card:

 Mar 09 16:09:12 dell kernel: cx2388x alsa driver version 0.0.9 loaded
Mar 09 16:09:12 dell kernel: cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.9 loaded
Mar 09 16:09:12 dell kernel: cx88[0]: subsystem: 0070:1402, board: Hauppauge WinTV-HVR3000 TriMode Analog/DVB-S/DVB-T [card=53,autodetected], frontend(s): 2
Mar 09 16:09:12 dell kernel: cx88[0]: TV tuner type 63, Radio tuner type -1
Mar 09 16:09:12 dell kernel: cx88/0: cx2388x v4l2 driver version 0.0.9 loaded
Mar 09 16:09:12 dell systemd-fsck[225]: /dev/sda2: clean, 316/25688 files, 38595/102400 blocks
Mar 09 16:09:12 dell kernel: cx88[0]: i2c init: enabling analog demod on HVR1300/3000/4000 tuner
Mar 09 16:09:12 dell systemd[1]: Started File System Check on /dev/disk/by-uuid/72d7d992-795d-4c10-bdb7-795fb36c380e.
Mar 09 16:09:12 dell systemd[1]: Starting File System Check on /dev/disk/by-uuid/37a6414d-39d5-4f22-9c6b-0bb5d87b7cfd...
Mar 09 16:09:12 dell systemd[1]: Mounting /boot...
Mar 09 16:09:12 dell ufw-init[107]: WARNING: The state match is obsolete. Use conntrack instead.
Mar 09 16:09:12 dell ufw-init[107]: WARNING: The state match is obsolete. Use conntrack instead.
Mar 09 16:09:12 dell ufw-init[107]: WARNING: The state match is obsolete. Use conntrack instead.
Mar 09 16:09:12 dell ufw-init[107]: WARNING: The state match is obsolete. Use conntrack instead.
Mar 09 16:09:12 dell kernel: usbcore: registered new interface driver usbhid
Mar 09 16:09:12 dell kernel: usbhid: USB HID core driver
Mar 09 16:09:12 dell systemd[1]: Mounted /boot.
Mar 09 16:09:12 dell kernel: EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
Mar 09 16:09:12 dell systemd-fsck[270]: /dev/sda4: clean, 29425/58425344 files, 31571589/233678592 blocks
Mar 09 16:09:12 dell kernel: tda9887 7-0043: creating new instance
Mar 09 16:09:12 dell kernel: tda9887 7-0043: tda988[5/6/7] found
Mar 09 16:09:12 dell kernel: tuner 7-0043: Tuner 74 found with type(s) Radio TV.
Mar 09 16:09:12 dell kernel: tuner 7-0061: Tuner -1 found with type(s) Radio TV.
Mar 09 16:09:12 dell kernel: input: Chicony USB Keyboard as /devices/pci0000:00/0000:00:1d.0/usb2/2-2/2-2:1.0/input/input4
Mar 09 16:09:12 dell kernel: hid-generic 0003:04F2:0402.0001: input,hidraw0: USB HID v1.11 Keyboard [Chicony USB Keyboard] on usb-0000:00:1d.0-2/input0
Mar 09 16:09:12 dell kernel: tveeprom 7-0050: Hauppauge model 14109, rev B3D3, serial# 1642887
Mar 09 16:09:12 dell kernel: tveeprom 7-0050: MAC address is 00:0d:fe:19:11:87
Mar 09 16:09:12 dell kernel: tveeprom 7-0050: tuner model is Philips FMD1216MEX (idx 133, type 78)
Mar 09 16:09:12 dell kernel: tveeprom 7-0050: TV standards PAL(B/G) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xf4)
Mar 09 16:09:12 dell kernel: tveeprom 7-0050: audio processor is CX882 (idx 33)
Mar 09 16:09:12 dell kernel: tveeprom 7-0050: decoder processor is CX882 (idx 25)
Mar 09 16:09:12 dell kernel: tveeprom 7-0050: has radio, has IR receiver, has no IR transmitter
Mar 09 16:09:12 dell kernel: cx88[0]: hauppauge eeprom: model=14109
Mar 09 16:09:12 dell systemd[1]: Started File System Check on /dev/disk/by-uuid/37a6414d-39d5-4f22-9c6b-0bb5d87b7cfd.
Mar 09 16:09:12 dell systemd[1]: Mounting /home...
Mar 09 16:09:12 dell kernel: input: Chicony USB Keyboard as /devices/pci0000:00/0000:00:1d.0/usb2/2-2/2-2:1.1/input/input5
Mar 09 16:09:12 dell kernel: hid-generic 0003:04F2:0402.0002: input,hiddev0,hidraw1: USB HID v1.11 Device [Chicony USB Keyboard] on usb-0000:00:1d.0-2/input1
Mar 09 16:09:12 dell ufw-init[107]: WARNING: The state match is obsolete. Use conntrack instead.
Mar 09 16:09:12 dell kernel: tuner-simple 7-0061: creating new instance
Mar 09 16:09:12 dell kernel: tuner-simple 7-0061: type set to 78 (Philips FMD1216MEX MK3 Hybrid Tuner)
Mar 09 16:09:12 dell kernel: Registered IR keymap rc-hauppauge
Mar 09 16:09:12 dell kernel: input: cx88 IR (Hauppauge WinTV-HVR300 as /devices/pci0000:00/0000:00:1e.0/0000:01:02.1/rc/rc0/input6
Mar 09 16:09:12 dell kernel: rc0: cx88 IR (Hauppauge WinTV-HVR300 as /devices/pci0000:00/0000:00:1e.0/0000:01:02.1/rc/rc0
Mar 09 16:09:12 dell kernel: cx88[0]/1: CX88x/0: ALSA support for cx2388x boards
Mar 09 16:09:12 dell kernel: cx88[0]/2: cx2388x 8802 Driver Manager
Mar 09 16:09:12 dell kernel: cx88[0]/2: found at 0000:01:02.2, rev: 5, irq: 17, latency: 64, mmio: 0xfc000000
Mar 09 16:09:12 dell kernel: cx88[0]/0: found at 0000:01:02.0, rev: 5, irq: 17, latency: 64, mmio: 0xfa000000
Mar 09 16:09:12 dell kernel: wm8775 7-001b: chip found @ 0x36 (cx88[0])
Mar 09 16:09:12 dell kernel: BUG: unable to handle kernel NULL pointer dereference at 0000006c
Mar 09 16:09:12 dell kernel: IP: [<f943981c>] snd_cx88_volume_put+0xfc/0x200 [cx88_alsa]
Mar 09 16:09:12 dell kernel: *pde = 00000000 
Mar 09 16:09:12 dell kernel: Oops: 0000 [#1] PREEMPT SMP 
Mar 09 16:09:12 dell kernel: Modules linked in: wm8775 rc_hauppauge ip6t_REJECT tuner_simple tuner_types hid_generic xt_hl tda9887 ip6t_rt tda8290 us
Mar 09 16:09:12 dell kernel:  vboxnetflt(O) vboxnetadp(O) vboxdrv(O) ext4 crc16 jbd2 mbcache sr_mod sd_mod cdrom ata_generic pata_acpi uhci_hcd ata_piix libata scsi_mod ehci_hcd usbcore usb_common i915 video button i2c_algo_bit intel_agp intel_gtt drm_kms_helper drm agpgart i2c_core
Mar 09 16:09:12 dell systemd[1]: Started CLI Netfilter Manager.
Mar 09 16:09:12 dell kernel: Pid: 321, comm: alsactl Tainted: G           O 3.7.10-1-ARCH #1 Dell Computer Corporation Dimension 3000               /0TC666
Mar 09 16:09:12 dell kernel: EIP: 0060:[<f943981c>] EFLAGS: 00010246 CPU: 0
Mar 09 16:09:12 dell kernel: EIP is at snd_cx88_volume_put+0xfc/0x200 [cx88_alsa]
Mar 09 16:09:12 dell kernel: EAX: 00000000 EBX: f4e11000 ECX: 0000003f EDX: 00980905
Mar 09 16:09:12 dell kernel: ESI: f51cc000 EDI: f4cc1618 EBP: f4dcdea0 ESP: f4dcde80
Mar 09 16:09:12 dell kernel:  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
Mar 09 16:09:12 dell kernel: CR0: 80050033 CR2: 0000006c CR3: 34df0000 CR4: 000007d0
Mar 09 16:09:12 dell kernel: DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
Mar 09 16:09:12 dell kernel: DR6: ffff0ff0 DR7: 00000400
Mar 09 16:09:12 dell kernel: Process alsactl (pid: 321, ti=f4dcc000 task=f52bdfa0 task.ti=f4dcc000)
Mar 09 16:09:12 dell kernel: Stack:
Mar 09 16:09:12 dell kernel:  22222222 22222222 0000003f 0000fc00 00008000 f4e11000 f9439720 f4f1e140
Mar 09 16:09:12 dell kernel:  f4dcdf14 f8f314f8 f4dcdef8 f4cc157c f4cc15e8 bfdd8f30 f4cc1400 f52bdfa0
Mar 09 16:09:12 dell kernel:  f4c7b000 00000000 00000002 f59b8110 f480f880 00000003 f4cc15d0 ffffff9c
Mar 09 16:09:12 dell kernel: Call Trace:
Mar 09 16:09:12 dell kernel:  [<f9439720>] ? snd_cx88_dev_free+0x40/0x40 [cx88_alsa]
Mar 09 16:09:12 dell kernel:  [<f8f314f8>] snd_ctl_ioctl+0x9f8/0xaa0 [snd]
Mar 09 16:09:12 dell kernel:  [<c114c971>] ? do_filp_open+0x31/0x80
Mar 09 16:09:12 dell kernel:  [<f8f30b00>] ? snd_ctl_elem_add_user+0x540/0x540 [snd]
Mar 09 16:09:12 dell kernel:  [<c114e7ca>] do_vfs_ioctl+0x7a/0x570
Mar 09 16:09:12 dell kernel:  [<c1148bbd>] ? final_putname+0x1d/0x40
Mar 09 16:09:12 dell kernel:  [<c1148bbd>] ? final_putname+0x1d/0x40
Mar 09 16:09:12 dell kernel:  [<c1148bbd>] ? final_putname+0x1d/0x40
Mar 09 16:09:12 dell kernel:  [<c11581b6>] ? set_close_on_exec+0x46/0x60
Mar 09 16:09:12 dell kernel:  [<c114d8fe>] ? do_fcntl+0x30e/0x3f0
Mar 09 16:09:12 dell kernel:  [<c114ed23>] sys_ioctl+0x63/0x90
Mar 09 16:09:12 dell kernel:  [<c13ffd4d>] sysenter_do_call+0x12/0x28
Mar 09 16:09:12 dell kernel: Code: 39 ca 0f 8c d7 00 00 00 8b 45 e8 c1 e2 0a 89 55 ec c7 45 f0 00 80 00 00 85 c0 0f 85 f7 00 00 00 8b 86 10 05 00 00 ba 05 09 98 00 <8b> 40 6c e8 8c 73 d1 ff 85 c0 89 45 e0 74 3b 8b 86 14 04 00 00
Mar 09 16:09:12 dell kernel: EIP: [<f943981c>] snd_cx88_volume_put+0xfc/0x200 [cx88_alsa] SS:ESP 0068:f4dcde80
Mar 09 16:09:12 dell kernel: CR2: 000000000000006c
Mar 09 16:09:12 dell kernel: IR NEC protocol handler initialized
Mar 09 16:09:12 dell kernel: ---[ end trace a49cb01fae962afd ]---
Mar 09 16:09:12 dell kernel: cx88[0]/0: registered device video0 [v4l2]
Mar 09 16:09:12 dell kernel: cx88[0]/0: registered device vbi0
Mar 09 16:09:12 dell kernel: cx88[0]/0: registered device radio0
Mar 09 16:09:12 dell kernel: IR RC5(x) protocol handler initialized
Mar 09 16:09:12 dell kernel: cx88/2: cx2388x dvb driver version 0.0.9 loaded
Mar 09 16:09:12 dell kernel: cx88/2: registering cx8802 driver, type: dvb access: shared
Mar 09 16:09:12 dell kernel: IR RC6 protocol handler initialized
Mar 09 16:09:12 dell kernel: cx88[0]/2: subsystem: 0070:1402, board: Hauppauge WinTV-HVR3000 TriMode Analog/DVB-S/DVB-T [card=53]
Mar 09 16:09:12 dell kernel: cx88[0]/2: cx2388x based DVB/ATSC card
Mar 09 16:09:12 dell kernel: cx8802_alloc_frontends() allocating 2 frontend(s)
Mar 09 16:09:12 dell kernel: IR JVC protocol handler initialized
Mar 09 16:09:13 dell kernel: CX24123: detected CX24123
Mar 09 16:09:13 dell kernel: IR Sony protocol handler initialized
Mar 09 16:09:13 dell kernel: IR SANYO protocol handler initialized
Mar 09 16:09:13 dell kernel: input: MCE IR Keyboard/Mouse (cx88xx) as /devices/virtual/input/input7
Mar 09 16:09:13 dell kernel: IR MCE Keyboard/mouse protocol handler initialized
Mar 09 16:09:13 dell kernel: tuner-simple 7-0061: attaching existing instance
Mar 09 16:09:13 dell kernel: tuner-simple 7-0061: couldn't set type to 63. Using 78 (Philips FMD1216MEX MK3 Hybrid Tuner) instead
Mar 09 16:09:13 dell kernel: DVB: registering new adapter (cx88[0])
Mar 09 16:09:13 dell kernel: cx88-mpeg driver manager 0000:01:02.2: DVB: registering adapter 0 frontend 0 (Conexant CX24123/CX24109)...
Mar 09 16:09:13 dell kernel: lirc_dev: IR Remote Control driver registered, major 249 
Mar 09 16:09:13 dell kernel: rc rc0: lirc_dev: driver ir-lirc-codec (cx88xx) registered at minor = 0
Mar 09 16:09:13 dell kernel: cx88-mpeg driver manager 0000:01:02.2: DVB: registering adapter 0 frontend 1 (Conexant CX22702 DVB-T)...
Mar 09 16:09:13 dell kernel: IR LIRC bridge handler initialized 

On the occasions when I don't get this stream of messages, everything works correctly.

I have confirmed that the problem is related to the card by removing it, when everything works perfectly.

I have be struggling with this for sometime.  I am desperate for any help in analysing/resolving this problem, as TV and video applications are important to me.

I would be extremely garteful for any help or guidance in resolving this problem.

Many thanks in advance.

Last edited by myrlin (2013-03-18 20:05:00)

Offline

#2 2013-03-11 13:23:18

myrlin
Member
Registered: 2010-06-11
Posts: 271

Re: [SOLVED] Systemd /Hauppage HVR3000 TV Card

I have now tried this card on a second machine running Arch/Systemd, with exactly the same result.

I have also tried disabling the start-up fsck, but that makes no difference.

The card initialisation seems to be getting tangled up with something else in the Systemd parallelization process. Is there any way to make the initialisation wait until all other processes are finished?

I would be VERY grateful for any ideas.

Offline

#3 2013-03-11 15:28:57

kokoko3k
Member
Registered: 2008-11-14
Posts: 1,526

Re: [SOLVED] Systemd /Hauppage HVR3000 TV Card

You may try to blacklist the relevant modules and modprobe then after the system is booted via a startup script.

Offline

#4 2013-03-11 15:42:23

myrlin
Member
Registered: 2010-06-11
Posts: 271

Re: [SOLVED] Systemd /Hauppage HVR3000 TV Card

Many thanks for your reply.

Please excuse my ignorance, but what is the best way to identify the TV card -related modules?

Should I do an "lsmod" without the card installed, then install the card, do another "lsmod" and compare the two, or is there an easier way?

Thanks again for your help.

Offline

#5 2013-03-11 16:37:32

kokoko3k
Member
Registered: 2008-11-14
Posts: 1,526

Re: [SOLVED] Systemd /Hauppage HVR3000 TV Card

Yep, i think so big_smile
-edit
Or play with extra/hwdetect.

Last edited by kokoko3k (2013-03-11 16:38:28)

Offline

#6 2013-03-12 20:08:31

myrlin
Member
Registered: 2010-06-11
Posts: 271

Re: [SOLVED] Systemd /Hauppage HVR3000 TV Card

I have identified all the kernel modules loaded for the Hauppauge card (35!), and blacklisted them. This has resolved the poweroff/reboot problems.

The next stage is to "modprobe" the blacklisted modules, once I have worked out the order in which they need to be loaded to satisfy the dependencies.  This may take a while!

I will post exact details once I have the card working.

Many thanks, kokoko3k, for pointing me in the right direction.

Last edited by myrlin (2013-03-12 20:09:00)

Offline

#7 2013-03-13 11:28:53

kokoko3k
Member
Registered: 2008-11-14
Posts: 1,526

Re: [SOLVED] Systemd /Hauppage HVR3000 TV Card

I may be wrong, but i think a single
modprobe module1 module2 module3 ... module35
will work without the need to write them in the correct order, worth a try wink

Offline

#8 2013-03-14 19:56:18

myrlin
Member
Registered: 2010-06-11
Posts: 271

Re: [SOLVED] Systemd /Hauppage HVR3000 TV Card

Further investigation has shown that there are 3 modules which cause the problems; cx88_dvb, cx8800 and cx88_alsa. For these, loading order IS important. They must be loaded after all the other (32) modules, and in the order given.

By blacklisting just these three, then starting them up after boot with a script in the order given, everything seems to be working as it should.

Before marking this thread as [solved] I will do some more testing, then write up a summary of everything I did for anyone else having the same problem.

Thank you so much for your help, guidance and support, kokoko3k

Offline

#9 2013-03-18 20:04:24

myrlin
Member
Registered: 2010-06-11
Posts: 271

Re: [SOLVED] Systemd /Hauppage HVR3000 TV Card

I have tested this thoroughly now, and all seems OK. I am receiving DVB-T using Kaffeine, and tvheadend seems to be recognising the card as it should.

Here's what I did:

(1) Compare the output of lsmod with and without the TV card installed. The differences are the modules loaded for the card. In my case, there were 35!

(2) Temporarily blacklist all the modules from step (1), then manually modprobe each one in turn to identify those causing problems. In my case there were 3: cx88_dvb, cx8800 and cx88_alsa.

(3) Blacklist these permanently

(4) Write a script to install these after booting, save it and make it executable e.g.:

#!/bin/sh

modprobe -a cx88_dvb cx8800 cx88_alsa

(5) Write a systemd service file to load this automatically, e.g.:

[Unit]
Description=tvcard

[Service]
ExecStart=/path/to/script

[Install]
WantedBy=multi-user.target....

Save it in /etc/systemd/system/scriptname.service, then enable and start it.

And that's it!

Many thanks, kokoko3k, for all your help.

EDIT: Corrected location of systemd service file to correct location of service file (as advised by kokoko3k, below)

Last edited by myrlin (2013-03-20 15:36:16)

Offline

#10 2013-03-20 12:01:20

kokoko3k
Member
Registered: 2008-11-14
Posts: 1,526

Re: [SOLVED] Systemd /Hauppage HVR3000 TV Card

You're welcome,
anyway the correct location for user service should be /etc/systemd/system/

Offline

#11 2013-03-20 15:14:25

myrlin
Member
Registered: 2010-06-11
Posts: 271

Re: [SOLVED] Systemd /Hauppage HVR3000 TV Card

Thanks for that.
I've changed it now.

Offline

Board footer

Powered by FluxBB