Fedora Linux Support Community & Resources Center
  #1  
Old 10th June 2012, 07:41 PM
Wabbit Offline
Registered User
 
Join Date: May 2004
Location: New Zealand
Age: 48
Posts: 48
linuxfirefox
Digital TV went bye-bye with Kernel 3.4.0-1 release.

I had Kaffeine working beautifully to recieve FreeView (using dvb-t) and then a few days later I updated the system and now Kaffeine can't find the dvb device. In fact the /dev/dvb directory that once contained all that stuff is missing

My setup is:
Fedora 17 (64-bit media install)
Kernel: 3.4.0-1.fc17.x86_64
TV card: Hauppauge HVR-2200

Relevant section from dmesg:

[ 41.899917] saa7164_downloadfirmware() firmware read 4019072 bytes.
[ 41.899921] saa7164_downloadfirmware() firmware loaded.
[ 41.899923] Firmware file header part 1:
[ 41.899925] .FirmwareSize = 0x0
[ 41.899926] .BSLSize = 0x0
[ 41.899928] .Reserved = 0x3d538
[ 41.899929] .Version = 0x3
[ 41.899931] saa7164_downloadfirmware() SecBootLoader.FileSize = 4019072
[ 41.899937] saa7164_downloadfirmware() FirmwareSize = 0x1fd6
[ 41.899939] saa7164_downloadfirmware() BSLSize = 0x0
[ 41.899941] saa7164_downloadfirmware() Reserved = 0x0
[ 41.899943] saa7164_downloadfirmware() Version = 0x1661c00
[ 46.335575] saa7164_downloadimage() Image downloaded, booting...
[ 46.335580] saa7164_downloadimage() Image booted successfully.
[ 46.335606] starting firmware download(2)
[ 48.069203] saa7164_downloadimage() Image downloaded, booting...
[ 50.186300] saa7164_downloadimage() Image booted successfully.
[ 50.186327] firmware download complete.
[ 50.250382] tveeprom 0-0000: Hauppauge model 89619, rev D1F2, serial# 5332154
[ 50.250386] tveeprom 0-0000: MAC address is 00:0d:fe:51:5c:ba
[ 50.250389] tveeprom 0-0000: tuner model is NXP 18271C2_716x (idx 152, type 4)
[ 50.250393] tveeprom 0-0000: TV standards PAL(B/G) NTSC(M) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xf
c)
[ 50.250396] tveeprom 0-0000: audio processor is SAA7164 (idx 43)
[ 50.250399] tveeprom 0-0000: decoder processor is SAA7164 (idx 40)
[ 50.250401] tveeprom 0-0000: has radio
[ 50.250403] saa7164[0]: Hauppauge eeprom: model=89619
[ 50.272302] DVB: Unable to find symbol tda10048_attach()
[ 50.290178] saa7164_dvb_register() Frontend initialization failed
[ 50.308146] saa7164_initdev() Failed to register dvb adapters on porta
[ 50.326128] DVB: Unable to find symbol tda10048_attach()
[ 50.344445] saa7164_dvb_register() Frontend initialization failed
[ 50.363248] saa7164_initdev() Failed to register dvb adapters on portb
[ 50.382772] saa7164[0]: registered device video0 [mpeg]
[ 50.618511] saa7164[0]: registered device video1 [mpeg]
[ 50.829585] saa7164[0]: registered device vbi0 [vbi]
[ 50.829765] saa7164[0]: registered device vbi1 [vbi]

I don't know the enough about linux to be certain the kernel is the problem here but this line:

"[ 50.272302] DVB: Unable to find symbol tda10048_attach()"

gives me a strong feeling that it is.

Relevent bits from lsmod:
Module Size Used by
tda10048 18440 0
nvidia 12344969 58
saa7164 125550 0
dvb_core 107786 1 saa7164
tveeprom 21141 1 saa7164
v4l2_common 15099 1 saa7164
videodev 106926 2 saa7164,v4l2_common
media 20444 1 videodev
iTCO_vendor_support 13419 1 iTCO_wdt
i2c_i801 17779 0
i2c_core 38028 7 i2c_i801,saa7164,nvidia,v4l2_common,tveeprom,tda10 048,videodev
serio_raw 13371 0
i7core_edac 27707 0

~Is~ this a kernel issue or something I can fix with a few shell commands?

---------- Post added 11th June 2012 at 06:41 AM ---------- Previous post was 10th June 2012 at 07:17 PM ----------

My TV card driver is not automatically loaded under this kernel. The workaround was to enter 'modprobe saa7164'.
Reply With Quote
  #2  
Old 11th June 2012, 06:49 AM
hmmsjan Online
Registered User
 
Join Date: Jun 2009
Location: Alkmaar The Netherlands
Posts: 195
linuxchrome
Re: Digital TV went bye-bye with Kernel 3.4.0-1 release.

Dear Wabbit,

The module tda10048 is loaded but not used.
What happens if you do a "modprobe tda10048" before "modprobe saa7164"?
I do not have a DVB card, but "modprobe tda10048" makes the tda1004_attach function available..

Remarkable that the card is not found automatically.


uname -r
3.4.0-1.fc17.i686

/usr/sbin/modprobe tda10048

cat /proc/kallsyms | grep tda10048_attach
f7fb9024 r __ksymtab_tda10048_attach [tda10048]
f7fb9aa8 r __kstrtab_tda10048_attach [tda10048]
f7fb8420 T tda10048_attach [tda10048]

Good luck
__________________
H.Janssen
Alkmaar
The Netherlands
Reply With Quote
  #3  
Old 11th June 2012, 11:01 AM
Wabbit Offline
Registered User
 
Join Date: May 2004
Location: New Zealand
Age: 48
Posts: 48
linuxfirefox
Re: Digital TV went bye-bye with Kernel 3.4.0-1 release.

Quote:
Originally Posted by hmmsjan View Post
Dear Wabbit,

The module tda10048 is loaded but not used.
What happens if you do a "modprobe tda10048" before "modprobe saa7164"?
I do not have a DVB card, but "modprobe tda10048" makes the tda1004_attach function available..
First I'll do your grep command:
cat '/proc/kallsyms | grep tda10048_attach'
ffffffffa0229030 r __ksymtab_tda10048_attach [tda10048]
ffffffffa0229cd0 r __kstrtab_tda10048_attach [tda10048]
ffffffffa02283f0 T tda10048_attach [tda10048]

So the symbols do exist.
Now I enter 'modprobe tda10048'
The lsmod dump is:

tda10048 18440 0
nvidia 12344969 58
saa7164 125550 0
dvb_cor 107786 1 saa7164
tveeprom 21141 1 saa7164
v4l2_common 15099 1 saa7164
videodev 106926 2 saa7164,v4l2_common
media 20444 1 videodev
i2c_core 38028 7 i2c_i801,saa7164,nvidia,v4l2_common,tveeprom,tda10 048,videodev

So, no change at all, and no /dev/dvb/ directory.

I then followed with 'modeprobe saa7164':

tda10048 18440 0
nvidia 12344969 58
saa7164 125550 0
dvb_core 107786 1 saa7164
tveeprom 21141 1 saa7164
v4l2_common 15099 1 saa7164
videodev 106926 2 saa7164,v4l2_common
media 20444 1 videodev
i2c_core 38028 7 i2c_i801,saa7164,nvidia,v4l2_common,tveeprom,tda10 048,videodev

That was unexpected. Still no change! Ok, but when I go 'rmmod tda10048 saa7164' and ~then~ do a 'modprobe saa7164' by itself then everything works.

I have my /dev/dvb directory back and fontend interfaces, and the lsmod dump is now:

tda18271 41621 2
tda10048 18440 2
saa7164 125550 0
nvidia 12344969 58
dvb_core 107786 1 saa7164
tveeprom 21141 1 saa7164
v4l2_common 15099 1 saa7164
videodev 106926 2 saa7164,v4l2_common
media 20444 1 videodev
i2c_core 38028 8 i2c_i801,saa7164,nvidia,v4l2_common,tveeprom,tda10 048,tda18271,videodev

...and a tda18271 turns up.. .


Quote:
Originally Posted by hmmsjan View Post
Remarkable that the card is not found automatically.

uname -r
3.4.0-1.fc17.i686

/usr/sbin/modprobe tda10048

cat /proc/kallsyms | grep tda10048_attach
f7fb9024 r __ksymtab_tda10048_attach [tda10048]
f7fb9aa8 r __kstrtab_tda10048_attach [tda10048]
f7fb8420 T tda10048_attach [tda10048]

Good luck
Reply With Quote
  #4  
Old 11th June 2012, 06:41 PM
hmmsjan Online
Registered User
 
Join Date: Jun 2009
Location: Alkmaar The Netherlands
Posts: 195
windows_xp_2003firefox
Re: Digital TV went bye-bye with Kernel 3.4.0-1 release.

From linuxtv.org
Quote:

Components Used

Based on as far as I know: PCIe dual channel hybrid PC TV PCV520/20

TDA18271 - Tuner (http://www.nxp.com/acrobat_download/...7/75015474.pdf)

- In Latest HG

NXP SAA7164E - NXP PCI Express dual-channel, PC TV capture/encode IC

- In Development by Steven Toth

TDA10048HN (http://www.nxp.com/acrobat_download/...7/75015931.pdf)
so... both TDA's are present on the board.

Nice that it works again. But why manual module loading is required, no idea. Real specialists may be able to fiddle within /etc/modprobe.d....


Good luck
__________________
H.Janssen
Alkmaar
The Netherlands

Last edited by hmmsjan; 11th June 2012 at 10:13 PM.
Reply With Quote
  #5  
Old 7th July 2012, 05:05 PM
mmmmm Offline
Registered User
 
Join Date: Jul 2012
Location: Europe
Posts: 4
linuxfirefox
Smile Almost solved: Digital TV went bye-bye with Kernel 3.4.0-1 release.

As the issue is still not fixed with kernel 3.4.4-3 and I didn't want to stick on 3.3.7 forever I had to dive into it. Manual startup from rc.local doesn't work for me, because I need the board for MythTV backend, which starts up before rc.local.

There seem to be dependencies that depmod doesn't fully detect. I don't know if the modules are needed for analogue operation, but at least tda10048 is needed for DVB mode. The messages from tda18271 suggest that this one is always needed. Adding a soft dependency made my HVR-2200 (saa7164 card=9) work automatically.

I created a file /etc/modprobe.d/saa7164, containing the following line:

softdep saa7164 pre: tda10048 tda18271

While this solution is good enough for me, it might be better to code the dependencies into the modules, so that depmod can find them.

Last edited by mmmmm; 7th July 2012 at 05:10 PM. Reason: Giving a better indication that this is a good solution
Reply With Quote
  #6  
Old 7th July 2012, 11:21 PM
Wabbit Offline
Registered User
 
Join Date: May 2004
Location: New Zealand
Age: 48
Posts: 48
linuxfirefox
Re: Almost solved: Digital TV went bye-bye with Kernel 3.4.0-1 release.

It's good enough for me, too. Thanks, mmmmm.
Reply With Quote
  #7  
Old 20th July 2012, 12:07 PM
billydv Offline
Registered User
 
Join Date: Jun 2006
Posts: 8
linuxfirefox
Re: Digital TV went bye-bye with Kernel 3.4.0-1 release.

I have the same problem with an hvr-1800, it uses cx23885

02:00.0 Multimedia video controller: Conexant Systems, Inc. CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb (rev 0f)
Subsystem: Hauppauge computer works Inc. Device 7809
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at f7200000 (64-bit, non-prefetchable) [size=2M]
Capabilities: [40] Express Endpoint, MSI 00
Capabilities: [80] Power Management version 2
Capabilities: [90] Vital Product Data
Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [100] Advanced Error Reporting
Capabilities: [200] Virtual Channel
Kernel driver in use: cx23885

but when I open kaffeine, no device found and although the device is listed in tv configuration, it says that it's not connected. Not sure what changed between kernels but I'm stuck
Reply With Quote
  #8  
Old 20th July 2012, 08:55 PM
mmmmm Offline
Registered User
 
Join Date: Jul 2012
Location: Europe
Posts: 4
linuxfirefox
Re: Digital TV went bye-bye with Kernel 3.4.0-1 release.

I haven't got your board. But the driver (cx23885.ko in your case according to the listing above) must try to connect to the lower level driver somehow. So I searched for hints in my driver. I found interesting error message strings in the saa7164 that mached with the "soft dependencies".

cx23885.ko has got a lot of such dependencies. I suggest that you put all of these modules in to a soft dependency file.

This is a general command to extract all of these messages out of all DVB modules that you have currently installed and converts them to the modprobe.d softdep format (the command is one long line):

echo;for i in $(lspci -nv |awk 'BEGIN {look=0;driver=""} /^..:.........:/{look=0} /^..:.....04[08]0:/{look=1} /Kernel driver in use: / {if(look) {print $5}}'); do MODFILE=$(find /lib/modules/$(uname -r) -name "$i.ko" -print); if [ -r "$MODFILE" ]; then DEPS=$(strings "$MODFILE" |grep -i "Unable to find symbol"|sed 's/.*Unable to find symbol \(.*\)_attach.*/\1/'); if [ -n "$DEPS" ]; then echo -e "softdep $i pre: \c"; for j in $DEPS; do echo -e " $j\c";done;echo;echo;fi;fi;done

I hope that the output works in an /etc/modprobe.d file. It should work at least on Fedora 17.

The command output might be long enough to wrap around, but it is one line per driver.

Of course, not all modules are actually needed. Which modules are needed depends on the card you are using. So you can try omitting some of the results. I have tried it with the cx23885 driver. That one has lots of soft dependencies. I'm sure that you can remove most of them. But as a first try, I suggest to try the full set.

Hope that helps.
Reply With Quote
  #9  
Old 20th July 2012, 10:10 PM
billydv Offline
Registered User
 
Join Date: Jun 2006
Posts: 8
linuxfirefox
Re: Digital TV went bye-bye with Kernel 3.4.0-1 release.

Here is what the script came up with

root@Linux2 billydv]# echo;for i in $(lspci -nv |awk 'BEGIN {look=0;driver=""} /^..:.........:/{look=0} /^..:.....04[08]0:/{look=1} /Kernel driver in use: / {if(look) {print $5}}'); do MODFILE=$(find /lib/modules/$(uname -r) -name "$i.ko" -print); if [ -r "$MODFILE" ]; then DEPS=$(strings "$MODFILE" |grep -i "Unable to find symbol"|sed 's/.*Unable to find symbol \(.*\)_attach.*/\1/'); if [ -n "$DEPS" ]; then echo -e "softdep $i pre: \c"; for j in $DEPS; do echo -e " $j\c";done;echo;echo;fi;fi;done

softdep cx23885 pre: s5h1409 mt2131 lgdt3305 tda18271 s5h1411 tda829x lgdt330x simple_tuner xc5000 xc2028 tda10048 dib7000p zl10353 xc4000 cx24116 ds3000 stv0900 stv6110 lnbh24 lgs8gxx atbm8830 max2165 stv0367ter stv0367cab drxk mt2063

So here is my modprobe file

options cx23885 card=2
softdep cx23885 pre: s5h1409
softdep cx23885 pre: mt2131
softdep cx23885 pre: lgdt3305
softdep cx23885 pre: tda18271
softdep cx23885 pre: s5h1411
softdep cx23885 pre: tda829x
softdep cx23885 pre: lgdt330x
softdep cx23885 pre: xc5000
softdep cx23885 pre: simple_tuner
softdep cx23885 pre: xc2028
softdep cx23885 pre: dib7000p
softdep cx23885 pre: tda10048
softdep cx23885 pre: zl10353
softdep cx23885 pre: cx24116
softdep cx23885 pre: xc4000
softdep cx23885 pre: ds3000
softdep cx23885 pre: stv0900
softdep cx23885 pre: stv6110
softdep cx23885 pre: lgs8gxx
softdep cx23885 pre: lnbh24
softdep cx23885 pre: atbm8830
softdep cx23885 pre: max2165
softdep cx23885 pre: stv0367ter
softdep cx23885 pre: stv0367cab
softdep cx23885 pre: drxk
softdep cx23885 pre: mt2063

Still no tv
Reply With Quote
  #10  
Old 20th July 2012, 11:28 PM
mmmmm Offline
Registered User
 
Join Date: Jul 2012
Location: Europe
Posts: 4
linuxfirefox
Re: Digital TV went bye-bye with Kernel 3.4.0-1 release.

Sorry, my post wasn't clear.

I proposed one line with all its dependencies per DVB card driver. My command detected only one DVB card driver, which is cx23885. I don't know how modprobe handles multiple softdep lines for one driver.

Modprobe will try to load all drivers listed in the same line after the "pre:" before loading cx23885.

so my suggested file /etc/modprobe.d/cx23885 would contain the following single line:

softdep cx23885 pre: s5h1409 mt2131 lgdt3305 tda18271 s5h1411 tda829x lgdt330x simple_tuner xc5000 xc2028 tda10048 dib7000p zl10353 xc4000 cx24116 ds3000 stv0900 stv6110 lnbh24 lgs8gxx atbm8830 max2165 stv0367ter stv0367cab drxk mt2063

Of course, you may also need the "options ... card=2" line, but I'm not sure. I had a to use a card option for my card before kernel 3.4 as well. However, the driver from kernel 3.4 auto-detected my card (with a different number) and it works better than before now. Many annoying system log messages have gone and I haven't had any system crash since. OK, the box is running for just two weeks now, but before kernel 3.4, the system got unstable about once a week, flooding the log with spurious interrupt messages and losing X11.

The fixed card type might even be the core of your problem, with the driver evolving, learning about new cards and improving the support for old ones.
Reply With Quote
  #11  
Old 20th July 2012, 11:35 PM
billydv Offline
Registered User
 
Join Date: Jun 2006
Posts: 8
linuxfirefox
Re: Digital TV went bye-bye with Kernel 3.4.0-1 release.

Sorry, this worked

softdep cx23885 pre: s5h1409 mt2131 lgdt3305 tda18271 s5h1411 tda829x lgdt330x simple_tuner xc5000 xc2028 tda10048 dib7000p zl10353 xc4000 cx24116 ds3000 stv0900 stv6110 lnbh24 lgs8gxx atbm8830 max2165 stv0367ter stv0367cab drxk mt2063


after a reboot
Reply With Quote
Reply

Tags
3.4.1-0, byebye, digital, digital tv, dvb, dvb-t, kernel, release, tv card

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Another New Kernel Release For F16? dd_wizard Using Fedora 9 24th March 2012 01:40 AM
[SOLVED] Does anyone know how to build a release kernel from the kernel-$(uname -r).src.rpm? PaulAlesius F17 Development Forum 4 5th March 2012 10:08 PM
non-GPL kernel release.... chocobanana Using Fedora 1 27th March 2006 03:56 PM


Current GMT-time: 21:54 (Thursday, 23-05-2013)

TopSubscribe to XML RSS for all Threads in all ForumsFedoraForumDotOrg Archive
logo

All trademarks, and forum posts in this site are property of their respective owner(s).
FedoraForum.org is privately owned and is not directly sponsored by the Fedora Project or Red Hat, Inc.

Privacy Policy | Term of Use | Posting Guidelines | Archive | Contact Us | Founding Members

Powered by vBulletin® Copyright ©2000 - 2012, vBulletin Solutions, Inc.

FedoraForum is Powered by RedHat