Philips TDA10046H (AsusTek TV Card sa7134 Driver)

Hi forum, this is my first post,

I have a problem with my WMC TV card based on a Philips TDA10046H chip, is an Asus Hybrid TV card inside my HP Pavillon t3630…

Ok, I have two system installed, in one partition Windows Vista Home Premium 32 BIT and in one the openSUSE 11 32 BIT version.

If I normal boot for first in the linux system my TV card is reconized everytime but there’s a problem to upload the firmware (system don’t found it).

To get DVB-T to shows channels I need first to boot on Windows System, start media Center, then restart in linux and kaffeine shows the DVB-T channels.

This happen everytime, no coincidence, tried 40 times and always this happen and have to do this If I want to show TV, everytime if I start for first on linux I’ve this problem that my DVB card don’t be able to upload firmware and don’t syntonize channels.

Any suggestion’ Any help please?

You’re, as the system states, lacking the firmware for the card which gets shipped with the Linux drivers.

Grab this file:
http://www.kernel.org/doc/Documentation/dvb/get_dvb_firmware

Save it somewhere and (as root!):
perl get_dvb_firmware

This will download, decompress and grab the firmware from the Windows drivers and will produce a file called : dvb-fe-tda10046.fw - move this file to /lib/firmware

Issue rcdvb restart and enjoy the TV.

Hi,

I’ve done this first to post here whith no result :frowning:

Are you sure you deposited it in the right place?

Could you look at dmesg or /var/log/messages and copy paste the exact errors and output.

there’s a log messages because in this moment it works and dmesg results are positive

Jun 27 12:43:02 linux-0vzj kernel: tda1004x: setting up plls for 48MHz sampling clock
Jun 27 12:43:04 linux-0vzj kernel: tda1004x: timeout waiting for DSP ready
Jun 27 12:43:04 linux-0vzj kernel: tda1004x: found firmware revision 0 – invalid
Jun 27 12:43:04 linux-0vzj kernel: tda1004x: trying to boot from eeprom
Jun 27 12:43:07 linux-0vzj kernel: tda1004x: timeout waiting for DSP ready
Jun 27 12:43:07 linux-0vzj kernel: tda1004x: found firmware revision 0 – invalid
Jun 27 12:43:07 linux-0vzj kernel: tda1004x: waiting for firmware upload…
Jun 27 12:43:07 linux-0vzj firmware.sh[4286]: Cannot find firmware file ‘dvb-fe-tda10046.fw’
Jun 27 12:43:07 linux-0vzj kernel: tda1004x: no firmware upload (timeout or file not found?)
Jun 27 12:43:07 linux-0vzj kernel: tda1004x: firmware upload failed
Jun 27 12:43:07 linux-0vzj firmware.sh[4290]: Cannot find firmware file ‘dvb-fe-tda10045.fw’
Jun 27 12:44:15 linux-0vzj kernel: tda1004x: setting up plls for 48MHz sampling clock
Jun 27 12:44:17 linux-0vzj kernel: tda1004x: timeout waiting for DSP ready
Jun 27 12:44:17 linux-0vzj kernel: tda1004x: found firmware revision 0 – invalid
Jun 27 12:44:17 linux-0vzj kernel: tda1004x: trying to boot from eeprom
Jun 27 12:44:19 linux-0vzj kernel: tda1004x: timeout waiting for DSP ready
Jun 27 12:44:20 linux-0vzj kernel: tda1004x: found firmware revision 0 – invalid
Jun 27 12:44:20 linux-0vzj kernel: tda1004x: waiting for firmware upload…
Jun 27 12:44:20 linux-0vzj kernel: tda1004x: no firmware upload (timeout or file not found?)
Jun 27 12:44:20 linux-0vzj kernel: tda1004x: firmware upload failed
Jun 27 12:44:20 linux-0vzj firmware.sh[4308]: Cannot find firmware file ‘dvb-fe-tda10045.fw’
Jun 27 12:44:20 linux-0vzj firmware.sh[4305]: Cannot find firmware file ‘dvb-fe-tda10046.fw’
Jun 27 12:44:45 linux-0vzj kernel: tda1004x: setting up plls for 48MHz sampling clock
Jun 27 12:44:47 linux-0vzj kernel: tda1004x: timeout waiting for DSP ready
Jun 27 12:44:47 linux-0vzj kernel: tda1004x: found firmware revision 0 – invalid
Jun 27 12:44:47 linux-0vzj kernel: tda1004x: trying to boot from eeprom
Jun 27 12:44:49 linux-0vzj kernel: tda1004x: timeout waiting for DSP ready
Jun 27 12:44:49 linux-0vzj kernel: tda1004x: found firmware revision 0 – invalid
Jun 27 12:44:49 linux-0vzj kernel: tda1004x: waiting for firmware upload…
Jun 27 12:44:49 linux-0vzj firmware.sh[4407]: Cannot find firmware file ‘dvb-fe-tda10046.fw’
Jun 27 12:44:49 linux-0vzj kernel: tda1004x: no firmware upload (timeout or file not found?)
Jun 27 12:44:49 linux-0vzj kernel: tda1004x: firmware upload failed
Jun 27 12:44:49 linux-0vzj firmware.sh[4411]: Cannot find firmware file ‘dvb-fe-tda10045.fw’
Jun 27 12:45:21 linux-0vzj kernel: tda1004x: setting up plls for 48MHz sampling clock
Jun 27 12:45:23 linux-0vzj kernel: tda1004x: timeout waiting for DSP ready
Jun 27 12:45:23 linux-0vzj kernel: tda1004x: found firmware revision 0 – invalid
Jun 27 12:45:23 linux-0vzj kernel: tda1004x: trying to boot from eeprom
Jun 27 12:45:26 linux-0vzj kernel: tda1004x: timeout waiting for DSP ready
Jun 27 12:45:26 linux-0vzj kernel: tda1004x: found firmware revision 0 – invalid
Jun 27 12:45:26 linux-0vzj kernel: tda1004x: waiting for firmware upload…
Jun 27 12:45:26 linux-0vzj firmware.sh[4444]: Cannot find firmware file ‘dvb-fe-tda10046.fw’

This is my present “dmesg” and it (after boot in windows system, works)

saa7133[0]: found at 0000:02:04.0, rev: 209, irq: 16, latency: 32, mmio: 0xfdeff000
saa7133[0]: subsystem: 1043:4871, board: ASUSTeK P7131 Hybrid [card=112,insmod option]
saa7133[0]: board init: gpio is 0
input: saa7134 IR (ASUSTeK P7131 Hybri as /devices/pci0000:00/0000:00:1e.0/0000:02:04.0/input/input5
saa7133[0]: i2c eeprom 00: 43 10 71 48 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
saa7133[0]: i2c eeprom 10: ff ff ff 0f ff 20 ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 20: 01 40 01 02 03 00 01 03 08 ff 00 cf ff ff ff ff
saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 40: ff 21 00 c2 96 10 03 22 15 50 ff ff ff ff ff ff
saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
tuner’ 1-004b: chip found @ 0x96 (saa7133[0])
tda8290 1-004b: setting tuner address to 61
tda8290 1-004b: type set to tda8290+75a
saa7133[0]: registered device video0 [v4l2]
saa7133[0]: registered device vbi0
saa7133[0]: registered device radio0
DVB: registering new adapter (saa7133[0])
DVB: registering frontend 0 (Philips TDA10046H DVB-T)…
tda1004x: setting up plls for 48MHz sampling clock
tda1004x: found firmware revision 29 – ok

Right - definitely it’s an issue with the firmware file being in the wrong place.

What do you have in /lib/firmware ?

linux-0vzj:/lib/firmware # ls
dvb-ttpci-01.fw dvb-ttpci-01.fw-2622

Well err…

This is a bit of an obvious question but err, you said you did the firmware cutting by the instructions I posted - so you should’ve moved the firmware to that location - yet I do not see it there? :slight_smile:

If I move the dvb-fe-tda10046.fw in /lib/firmware the system start toooo slow after 10 minutes, and don’t upload that firmware anyway, and when I try to start kaffeine, it start after long time 4/5 minutes about (don’t works anyway)

For now the only way to shows channels is the method that I write above :frowning:

Start in windows
open mc
reboot to linux

And most importantly - what does it say in dmesg after you’ve moved the firmware there?

This is the message in the log (don’t remember dmesg exactly but is the same when this firmware isn’t in the /lib/firmware):

Jul 1 11:26:57 linux-0vzj kernel: tda1004x: setting up plls for 48MHz sampling clock
Jul 1 11:27:00 linux-0vzj kernel: tda1004x: timeout waiting for DSP ready
Jul 1 11:27:00 linux-0vzj kernel: tda1004x: found firmware revision 0 – invalid
Jul 1 11:27:00 linux-0vzj kernel: tda1004x: trying to boot from eeprom
Jul 1 11:27:02 linux-0vzj kernel: tda1004x: timeout waiting for DSP ready
Jul 1 11:27:02 linux-0vzj kernel: tda1004x: found firmware revision 0 – invalid
Jul 1 11:27:02 linux-0vzj kernel: tda1004x: waiting for firmware upload…
Jul 1 11:27:02 linux-0vzj firmware.sh[4826]: Cannot find firmware file ‘dvb-fe-tda10046.fw’
Jul 1 11:27:02 linux-0vzj kernel: tda1004x: no firmware upload (timeout or file not found?)
Jul 1 11:27:02 linux-0vzj kernel: tda1004x: firmware upload failed
Jul 1 11:27:02 linux-0vzj firmware.sh[4830]: Cannot find firmware file ‘dvb-fe-tda10045.fw’
Jul 1 11:27:12 linux-0vzj kernel: tda1004x: setting up plls for 48MHz sampling clock
Jul 1 11:27:14 linux-0vzj kernel: tda1004x: timeout waiting for DSP ready
Jul 1 11:27:14 linux-0vzj kernel: tda1004x: found firmware revision 0 – invalid
Jul 1 11:27:14 linux-0vzj kernel: tda1004x: trying to boot from eeprom
Jul 1 11:27:17 linux-0vzj kernel: tda1004x: timeout waiting for DSP ready
Jul 1 11:27:17 linux-0vzj kernel: tda1004x: found firmware revision 0 – invalid
Jul 1 11:27:17 linux-0vzj kernel: tda1004x: waiting for firmware upload…
Jul 1 11:27:17 linux-0vzj firmware.sh[4843]: Cannot find firmware file ‘dvb-fe-tda10046.fw’
Jul 1 11:27:17 linux-0vzj kernel: tda1004x: no firmware upload (timeout or file not found?)
Jul 1 11:27:17 linux-0vzj kernel: tda1004x: firmware upload failed
Jul 1 11:27:17 linux-0vzj firmware.sh[4847]: Cannot find firmware file ‘dvb-fe-tda10045.fw’
Jul 1 11:27:24 linux-0vzj kernel: tda1004x: setting up plls for 48MHz sampling clock
Jul 1 11:27:26 linux-0vzj kernel: tda1004x: timeout waiting for DSP ready
Jul 1 11:27:26 linux-0vzj kernel: tda1004x: found firmware revision 0 – invalid
Jul 1 11:27:26 linux-0vzj kernel: tda1004x: trying to boot from eeprom
Jul 1 11:27:28 linux-0vzj kernel: tda1004x: timeout waiting for DSP ready
Jul 1 11:27:28 linux-0vzj kernel: tda1004x: found firmware revision 0 – invalid
Jul 1 11:27:28 linux-0vzj kernel: tda1004x: waiting for firmware upload…
Jul 1 11:27:28 linux-0vzj firmware.sh[4855]: Cannot find firmware file ‘dvb-fe-tda10046.fw’
Jul 1 11:27:28 linux-0vzj kernel: tda1004x: no firmware upload (timeout or file not found?)
Jul 1 11:27:28 linux-0vzj kernel: tda1004x: firmware upload failed
Jul 1 11:27:28 linux-0vzj firmware.sh[4859]: Cannot find firmware file ‘dvb-fe-tda10045.fw’

Can you give me
ls -l /lib/firmware/dvb-fe-tda10046.fw
and
md5sum /lib/firmware/dvb-fe-tda10046.fw

I want to compare them to the firmware I have here.

sorry but I’ve deleted :frowning:
can you please attach it here?

And if possible an alternative to linuxtv.org because the site is down, thank you very much for your time and help!

If this too helps you:

linux-0vzj:/lib/firmware # ls -l dvb-ttpci-01.fw
lrwxrwxrwx 1 root root 20 1 lug 12:57 dvb-ttpci-01.fw -> dvb-ttpci-01.fw-2622
linux-0vzj:/lib/firmware # /etc/init.d/dvb restart
Shutting down DVBERROR: Module dvb_ttpci does not exist in /proc/modules
ERROR: Module bcm3510 does not exist in /proc/modules
ERROR: Module cx22700 does not exist in /proc/modules
ERROR: Module cx22702 does not exist in /proc/modules
ERROR: Module cx24110 does not exist in /proc/modules
ERROR: Module cx24123 does not exist in /proc/modules
ERROR: Module dib0070 does not exist in /proc/modules
ERROR: Module dib3000mb does not exist in /proc/modules
ERROR: Module dib3000mc does not exist in /proc/modules
ERROR: Module dib7000m does not exist in /proc/modules
ERROR: Module dib7000p does not exist in /proc/modules
ERROR: Module dibx000_common does not exist in /proc/modules
ERROR: Module dvb_pll does not exist in /proc/modules
ERROR: Module isl6421 does not exist in /proc/modules
ERROR: Module l64781 does not exist in /proc/modules
ERROR: Module lgdt330x does not exist in /proc/modules
ERROR: Module lnbp21 does not exist in /proc/modules
ERROR: Module mt2060 does not exist in /proc/modules
ERROR: Module mt2131 does not exist in /proc/modules
ERROR: Module mt2266 does not exist in /proc/modules
ERROR: Module mt312 does not exist in /proc/modules
ERROR: Module mt352 does not exist in /proc/modules
ERROR: Module nxt200x does not exist in /proc/modules
ERROR: Module nxt6000 does not exist in /proc/modules
ERROR: Module or51132 does not exist in /proc/modules
ERROR: Module or51211 does not exist in /proc/modules
ERROR: Module qt1010 does not exist in /proc/modules
ERROR: Module s5h1409 does not exist in /proc/modules
ERROR: Module s5h1420 does not exist in /proc/modules
ERROR: Module sp8870 does not exist in /proc/modules
ERROR: Module sp887x does not exist in /proc/modules
ERROR: Module stv0297 does not exist in /proc/modules
ERROR: Module stv0299 does not exist in /proc/modules
ERROR: Module tda10021 does not exist in /proc/modules
ERROR: Module tda10023 does not exist in /proc/modules
ERROR: Module tda1004x is in use
ERROR: Module tda10086 does not exist in /proc/modules
ERROR: Module tda18271 is in use by tda8290
ERROR: Module tda8083 does not exist in /proc/modules
ERROR: Module tda826x does not exist in /proc/modules
ERROR: Module tda827x is in use by tda8290
ERROR: Module tua6100 does not exist in /proc/modules
ERROR: Module ves1820 does not exist in /proc/modules
ERROR: Module ves1x93 does not exist in /proc/modules
ERROR: Module xc5000 is in use by tuner
ERROR: Module zl10353 does not exist in /proc/modules
ERROR: Module dvb_core is in use by videobuf_dvb
done
Starting DVB done

linux-0vzj:/etc/init.d # rcdvb restart
Shutting down DVBERROR: Module tda1004x is in use
ERROR: Module tda18271 is in use by tda8290
ERROR: Module tda827x is in use by tda8290
ERROR: Module xc5000 is in use by tuner
ERROR: Module dvb_core is in use by videobuf_dvb
done
Starting DVB done

Do you know how to IRC?

If so, please hop to irc.freenode.net and join #suse - I’ll be there.

Much easier to send files etc. that way - this feels like spamming :slight_smile:

Nothing to do…don’t works

How I say above, need first to remove external firmwares from /lib/firmware and leave only what system created, boot first to Windows, start Media center and then reboot again on Linux…to watch LiveTV channels on DVB-T, in analogic works always…

Very strange…

The only thing that comes to mind anymore is either try to compile the latest DVB drivers direct from LinuxTV.org or try to extract the firmware the card uses from the Windows drivers themselves.

Hello,
i chmod 777 your firmwares, and now, after first bot (with machine OFF), it worked!!

Hope isn’t a false positive heh…see tomorrow at start again if works…

thx x1000

Excellent stuff, have fun watching TV!

Just for you and for who read this, hope helps…
I can confirm your firmware works great and everyboot, yuuuhuu!