Difference between revisions of "ASUS My Cinema-P7131 Hybrid"

From LinuxTVWiki
Jump to: navigation, search
(I'm going to get it right. I promise.)
m (Added note template. Tidied dmesg ouput.)
Line 4: Line 4:
  
 
Not sure if it is exactly the same card as the ASUS P7131 Dual.
 
Not sure if it is exactly the same card as the ASUS P7131 Dual.
*note: ''ASUSTek P7131 Dual, and ASUSTek P7131 Hybrid are not identical. In linux kernel modules 2.6.28 'Dual' is detected as card 78, 'Hybrid' is detected as card 112. Association of FM Radio and RF signals differs slightly.''
+
{{note | ''ASUSTek P7131 Dual, and ASUSTek P7131 Hybrid are not identical. In linux kernel modules 2.6.28 'Dual' is detected as card 78, 'Hybrid' is detected as card 112. Association of FM Radio and RF signals differs slightly.'' }}
  
 
==Overview/Features==
 
==Overview/Features==
Line 89: Line 89:
 
===Sample kernel output===
 
===Sample kernel output===
 
From Gentoo linux kernel 2.6.28-r2 (as '''second''' PCI card):
 
From Gentoo linux kernel 2.6.28-r2 (as '''second''' PCI card):
<pre>saa7134 0000:04:02.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18                                                                                        
+
<pre>saa7134 0000:04:02.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
saa7133[1]: found at 0000:04:02.0, rev: 209, irq: 18, latency: 32, mmio: 0xe3004800                                                                    
+
saa7133[1]: found at 0000:04:02.0, rev: 209, irq: 18, latency: 32, mmio: 0xe3004800
saa7133[1]: subsystem: 1043:4876, board: ASUSTeK P7131 Hybrid [card=112,autodetected]                                                                  
+
saa7133[1]: subsystem: 1043:4876, board: ASUSTeK P7131 Hybrid [card=112,autodetected]                                                                  
saa7133[1]: board init: gpio is 0                                                                                                                      
+
saa7133[1]: board init: gpio is 0                                                                                                                      
input: saa7134 IR (ASUSTeK P7131 Hybri as /class/input/input6                                                                                          
+
input: saa7134 IR (ASUSTeK P7131 Hybri as /class/input/input6                                                                                          
tuner' 2-004b: chip found @ 0x96 (saa7133[1])                                                                                                          
+
tuner' 2-004b: chip found @ 0x96 (saa7133[1])
saa7133[1]: i2c eeprom 00: 43 10 76 48 54 20 1c 00 43 43 a9 1c 55 d2 b2 92                                                                              
+
saa7133[1]: i2c eeprom 00: 43 10 76 48 54 20 1c 00 43 43 a9 1c 55 d2 b2 92  
saa7133[1]: i2c eeprom 10: ff ff ff 0f ff 20 ff ff ff ff ff ff ff ff ff ff                                                                              
+
saa7133[1]: i2c eeprom 10: ff ff ff 0f ff 20 ff ff ff ff ff ff ff ff ff ff  
saa7133[1]: i2c eeprom 20: 01 40 01 02 03 01 01 03 08 ff 00 d5 ff ff ff ff                                                                              
+
saa7133[1]: i2c eeprom 20: 01 40 01 02 03 01 01 03 08 ff 00 d5 ff ff ff ff                                                                            
saa7133[1]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
+
saa7133[1]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[1]: i2c eeprom 40: ff 21 00 c2 96 10 03 32 55 50 ff ff ff ff ff ff                                                                              
+
saa7133[1]: i2c eeprom 40: ff 21 00 c2 96 10 03 32 55 50 ff ff ff ff ff ff                                                                            
saa7133[1]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
+
saa7133[1]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                            
saa7133[1]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
+
saa7133[1]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                            
saa7133[1]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
+
saa7133[1]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                            
saa7133[1]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
+
saa7133[1]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                            
saa7133[1]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
+
saa7133[1]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                            
saa7133[1]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
+
saa7133[1]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                            
saa7133[1]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
+
saa7133[1]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                            
saa7133[1]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
+
saa7133[1]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                            
saa7133[1]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
+
saa7133[1]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                            
saa7133[1]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
+
saa7133[1]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                            
saa7133[1]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
+
saa7133[1]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                            
saa7133[1]: i2c scan: found device @ 0x10  [???]                                                                                                        
+
saa7133[1]: i2c scan: found device @ 0x10  [???]                                                                                                      
saa7133[1]: i2c scan: found device @ 0x96  [???]                                                                                                        
+
saa7133[1]: i2c scan: found device @ 0x96  [???]                                                                                                      
saa7133[1]: i2c scan: found device @ 0xa0  [eeprom]                                                                                                    
+
saa7133[1]: i2c scan: found device @ 0xa0  [eeprom]                                                                                                    
tda829x 2-004b: setting tuner address to 61                                                                                                            
+
tda829x 2-004b: setting tuner address to 61                                                                                                            
tda829x 2-004b: type set to tda8290+75a                                                                                                                
+
tda829x 2-004b: type set to tda8290+75a                                                                                                                
saa7133[1]: registered device video1 [v4l2]                                                                                                            
+
saa7133[1]: registered device video1 [v4l2]                                                                                                            
saa7133[1]: registered device vbi1                                                                                                                      
+
saa7133[1]: registered device vbi1                                                                                                                    
 
saa7133[1]: registered device radio1</pre>
 
saa7133[1]: registered device radio1</pre>
  

Revision as of 15:10, 2 July 2009

A PCI DVB-T card from ASUS.

The analog part of this card works out of the box.

Not sure if it is exactly the same card as the ASUS P7131 Dual.

Note: ASUSTek P7131 Dual, and ASUSTek P7131 Hybrid are not identical. In linux kernel modules 2.6.28 'Dual' is detected as card 78, 'Hybrid' is detected as card 112. Association of FM Radio and RF signals differs slightly.

Overview/Features

  • PCI
  • RF formats: PAL, DVB-T

The card does not have an AD for sound.

Card connectors

  • RF signal: Two IEC connectors
  • Video Input: S-Video mini-DIN
  • IR-Remote: 2.5mm jack
  • Audio output: Card internal

The RF inputs are for:

  • PAL TV RF signal
  • DVB-T RF signal
  • FM radio RF signal

The original documentation says:
Upper IEC connector is marked "RF/FM-IN" and is for FM radio and DVB-T
Lower IEC connector is marked "CATV-IN" and is for PAL TV

The FM radio is fixed to the upper connector, but for TV (PAL and DVB-T) the connectors can apparently be controlled by software. This is TBD. ???

  • note: In several cases users had to connect their antenna to the analog plug for dvb-t!
  • note: Signal association can change after booting into Windows and using bundled Win32 software to control card. Best solution is to split antenna signal and attach to both connectors.

Components Used

  • TV tuner: tda8290+75
  • Analog demodulator: ??
  • FM radio chip: ??
  • tda10046 demodulator
  • Video/audio decoder: Philips Semiconductors SAA7133 Video Broadcast Decoder (rev d1)

Identification

lspci -vn:

Making it Work

Firmware

This card requires a firmware file (dvb-fe-tda10046.fw) for the DVB-T demodulator. This file can be obtained two different ways:

  • download a package containing this and many other firmwares…:

DVB firmwares v2, 728KiB, contains 114 files

DVB firmwares v1, 1,52MiB, bigger because of worse compression, contains 36 files. Outdated.

  • note: If you can provide proper hosting, you're welcome to re-host the file and edit this page.
  • using the get_dvb_firmware perl script, included with kernel sources, which will download the Windows driver file and rip the firmware out of it:
cd /[kernel source directory]/Documentation/dvb/
perl get_dvb_firmware tda10046

Kernel source directory will usually be /usr/src/linux/. Whatever method you choose, once the download is complete, place a copy of the firmware file in your /lib/firmware directory. (This directory may differ with some distros i.e.depending on your hotplug version it could be /usr/lib/hotplug/firmware/ ; consult your distro's documentation for the appropriate location):

sudo cp dvb-fe-tda10046.fw /lib/firmware 

(replace /lib/firmware with /usr/lib/hotplug/firmware/ if required)

Bugs

This is not tested yet:

Get firmware, old option

In /usr/src/linux/drivers/media/video/saa7134/saa7134-dvb.c, line 873, struct tda1004x_config philips_tiger_config change the entry

 .request_firmware = NULL

to

 .request_firmware = philips_tu1216_request_firmware

Run /usr/src/linux/Documentation/dvb/get_dvb_firmware and copy the dvb-fe-tda10046.fw to /lib/firmware

 modprobe saa7134 card=78 gpio_tracking=1

See http://www.spinics.net/lists/vfl/msg27672.html

Get firmware, new option

The Mercurial version "emerge v4l-dvb-hg" gives the card a proper card number of 112. The card can then be brought up with

 modprobe saa7134 card=112 tuner=54 gpio_tracking=1 i2c_scan=1

You may also need to

 modprobe saa7134-dvb
 modprobe saa7134-alsa

This works now but may not continue to do so.

Drivers

Module Options: For analog signal (autodetected?):

 saa7134 card=78 tuner=54

module saa7134 was loaded automatically, but in addition command "modprobe saa7134_dvb" was required. Only after this the directory /dev/dvb appeared.

Sample kernel output

From Gentoo linux kernel 2.6.28-r2 (as second PCI card):

saa7134 0000:04:02.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
saa7133[1]: found at 0000:04:02.0, rev: 209, irq: 18, latency: 32, mmio: 0xe3004800
saa7133[1]: subsystem: 1043:4876, board: ASUSTeK P7131 Hybrid [card=112,autodetected]                                                                   
saa7133[1]: board init: gpio is 0                                                                                                                       
input: saa7134 IR (ASUSTeK P7131 Hybri as /class/input/input6                                                                                           
tuner' 2-004b: chip found @ 0x96 (saa7133[1])
saa7133[1]: i2c eeprom 00: 43 10 76 48 54 20 1c 00 43 43 a9 1c 55 d2 b2 92   
saa7133[1]: i2c eeprom 10: ff ff ff 0f ff 20 ff ff ff ff ff ff ff ff ff ff   
saa7133[1]: i2c eeprom 20: 01 40 01 02 03 01 01 03 08 ff 00 d5 ff ff ff ff                                                                              
saa7133[1]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[1]: i2c eeprom 40: ff 21 00 c2 96 10 03 32 55 50 ff ff ff ff ff ff                                                                              
saa7133[1]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
saa7133[1]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
saa7133[1]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
saa7133[1]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
saa7133[1]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
saa7133[1]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
saa7133[1]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
saa7133[1]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
saa7133[1]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
saa7133[1]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
saa7133[1]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff                                                                              
saa7133[1]: i2c scan: found device @ 0x10  [???]                                                                                                        
saa7133[1]: i2c scan: found device @ 0x96  [???]                                                                                                        
saa7133[1]: i2c scan: found device @ 0xa0  [eeprom]                                                                                                     
tda829x 2-004b: setting tuner address to 61                                                                                                             
tda829x 2-004b: type set to tda8290+75a                                                                                                                 
saa7133[1]: registered device video1 [v4l2]                                                                                                             
saa7133[1]: registered device vbi1                                                                                                                      
saa7133[1]: registered device radio1

Remote control support

An IR remote control is supplied. There is a sensor cable that must be plugged into the card.

The remote requires Linux 2.6.22

Also See

Discussions:

Old discussions (may no longer be relevant):

External links