Latest version is 12.04
Rebuild of the new machine with the dual tuner. The dual tuner card still hangs every few weeks. I think I'm going to tweak this a little so that it:
sudo apt-get install jed
sudo nano /etc/network/interfaces
# The primary network interface auto eth0 iface eth0 inet static address xx.xx.xx.xx netmask 255.255.255.0 network xx.xx.xx.xx # this one is the same as gateway I think broadcast xx.xx.xx.255 gateway xx.xx.xx.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers xx.xx.xx.xx dns-search some.domain.com
sudo /etc/init.d/networking restart
I did a grep of dmesg looking for the 7164 card, and sure enough the support is there, but it can't find the firmware that the kernel was compiled with. I did a quick google and found the link to where the firmware file was. Here is what I did and how I installed the driver:
[ 6.508493] saa7164_downloadfirmware() no first image [ 6.508515] saa7164_downloadfirmware() Waiting for firmware upload (NXP7164-2010-03-10.1.fw) [ 7.756686] saa7164_downloadfirmware() Upload failed. (file not found?)
cd ~/Downloads wget http://www.steventoth.net/linux/hvr22xx/firmwares/4019072/NXP7164-2010-03-10.1.fw
sudo cp ~/Downloads/NXP7164-2010-03-10.1.fw /lib/firmware/
sudo rmmod saa7164 sudo modprobe saa7164
[ 1037.124209] Histogram named irq intervals (ms, count, last_update_jiffy) [ 1037.124220] Total: 0 [ 1037.124224] Histogram named deferred intervals (ms, count, last_update_jiffy) [ 1037.124230] Total: 0 [ 1037.124233] Histogram named irq to deferred intervals (ms, count, last_update_jiffy) [ 1037.124239] Total: 0 [ 1037.124242] Histogram named encoder/vbi read() intervals (ms, count, last_update_jiffy) [ 1037.124248] Total: 0 [ 1037.124252] Histogram named encoder/vbi poll() intervals (ms, count, last_update_jiffy) [ 1037.124257] Total: 0 [ 1037.124261] Histogram named encoder/vbi read() intervals (ms, count, last_update_jiffy) [ 1037.124267] Total: 0 [ 1037.124270] Histogram named encoder/vbi poll() intervals (ms, count, last_update_jiffy) [ 1037.124276] Total: 0 [ 1037.124299] saa7164 0000:01:00.0: PCI INT A disabled [ 1042.954006] saa7164 driver loaded [ 1042.954176] saa7164 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 [ 1042.956572] CORE saa7164[0]: subsystem: 0070:8851, board: Hauppauge WinTV-HVR2250 [card=7,autodetected] [ 1042.956586] saa7164[0]/0: found at 0000:01:00.0, rev: 129, irq: 16, latency: 0, mmio: 0xfd400000 [ 1042.956601] saa7164 0000:01:00.0: setting latency timer to 64 [ 1043.116024] saa7164_downloadfirmware() no first image [ 1043.116041] saa7164_downloadfirmware() Waiting for firmware upload (NXP7164-2010-03-10.1.fw) [ 1043.144214] saa7164_downloadfirmware() firmware read 4019072 bytes. [ 1043.144222] saa7164_downloadfirmware() firmware loaded. [ 1043.144226] Firmware file header part 1: [ 1043.144235] .FirmwareSize = 0x0 [ 1043.144239] .BSLSize = 0x0 [ 1043.144243] .Reserved = 0x3d538 [ 1043.144247] .Version = 0x3 [ 1043.144251] saa7164_downloadfirmware() SecBootLoader.FileSize = 4019072 [ 1043.144263] saa7164_downloadfirmware() FirmwareSize = 0x1fd6 [ 1043.144268] saa7164_downloadfirmware() BSLSize = 0x0 [ 1043.144272] saa7164_downloadfirmware() Reserved = 0x0 [ 1043.144277] saa7164_downloadfirmware() Version = 0x1661c00 [ 1050.004040] saa7164_downloadimage() Image downloaded, booting... [ 1050.108032] saa7164_downloadimage() Image booted successfully. [ 1050.108063] starting firmware download(2) [ 1052.232025] saa7164_downloadimage() Image downloaded, booting... [ 1054.104036] saa7164_downloadimage() Image booted successfully. [ 1054.104067] firmware download complete. [ 1054.152527] tveeprom 14-0000: Hauppauge model 88061, rev C4F2, serial# 7079441 [ 1054.152537] tveeprom 14-0000: MAC address is 00:0d:fe:6c:06:11 [ 1054.152544] tveeprom 14-0000: tuner model is NXP 18271C2_716x (idx 152, type 4) [ 1054.152552] tveeprom 14-0000: TV standards NTSC(M) ATSC/DVB Digital (eeprom 0x88) [ 1054.152559] tveeprom 14-0000: audio processor is SAA7164 (idx 43) [ 1054.152565] tveeprom 14-0000: decoder processor is SAA7164 (idx 40) [ 1054.152571] tveeprom 14-0000: has radio, has IR receiver, has no IR transmitter [ 1054.152577] saa7164[0]: Hauppauge eeprom: model=88061 [ 1054.515587] tda18271 15-0060: creating new instance [ 1054.520221] TDA18271HD/C2 detected @ 15-0060 [ 1054.771027] DVB: registering new adapter (saa7164) [ 1054.771042] DVB: registering adapter 0 frontend 0 (Samsung S5H1411 QAM/8VSB Frontend)... [ 1055.066157] tda18271 16-0060: creating new instance [ 1055.070573] TDA18271HD/C2 detected @ 16-0060 [ 1055.320827] tda18271: performing RF tracking filter calibration [ 1057.669998] tda18271: RF tracking filter calibration complete [ 1057.672579] DVB: registering new adapter (saa7164) [ 1057.672593] DVB: registering adapter 1 frontend 0 (Samsung S5H1411 QAM/8VSB Frontend)... [ 1057.673899] saa7164[0]: registered device video0 [mpeg] [ 1057.904351] saa7164[0]: registered device video1 [mpeg] [ 1058.115641] saa7164[0]: registered device vbi0 [vbi] [ 1058.115759] saa7164[0]: registered device vbi1 [vbi]
Run Settings → MythTV Backend Setup
Now enable a few more things:
Run Settings → Mythbuntu Control Centre
So that the samba share is actually useful, I will make a cron job that will every day build a list of links to the recorded shows.
sudo mkdir /var/lib/mythtv/recordings/links/
#!/bin/sh find /var/lib/mythtv/recordings/links/ -type l -exec rm {} \; cd /var/lib/mythtv/recordings/links/ for filename in /var/lib/mythtv/recordings/*.mpg do # windows did not like the colons in the name, so changing to underscores and periods fname=`/usr/local/bin/mythname.pl --rep=. --subtitle $filename | tr : _ | tr ';.' .`.mpg ##### no need to echo for a cron job ##### echo "Linking $filename to $fname" ln -s $filename $fname > /dev/null 2>&1 done exit 0
sudo cp mythtv_cronjob_symlink_recordings /etc/cron.daily/
sudo chown root:root /etc/cron.daily/mythtv_cronjob_symlink_recordings sudo chmod 755 /etc/cron.daily/mythtv_cronjob_symlink_recordings
follow symlinks = yes unix extensions = no wide links = yes
Use an hourly cron job to check for this error. If you see it, reboot! Here is my cron.hourly script mythtv_check_for_crashed_tuner:
#!/bin/bash # SAA7164ERRORS=$(/bin/dmesg | /bin/grep saa7164_api_i2c_write | /usr/bin/wc -l) if [ $SAA7164ERRORS -ne 0 ]; then MYDATE=$(/bin/date) echo $MYDATE : Rebooting Now Due to saa7164 card crash >> /home/mythbot/mythbot_reboot_log.txt /sbin/reboot fi
sudo alsamixer
sudo alsactl store 0
I added the following lines to my lirc configuration: ~/.lirc/mythtv
### added by david rabine (dlr) 2009.12.28 ### # I added the following - dlr 2008/10/18 # Skip forward (10 min default) begin remote = Streamzap_PC_Remote prog = mythtv button = >> repeat = 0 config = PgDown delay = 0 end begin remote = Streamzap_PC_Remote prog = mythtv button = << repeat = 0 config = PgUp delay = 0 end # Seek to previous commercial cut point begin remote = Streamzap_PC_Remote prog = mythtv button = YELLOW repeat = 0 config = Q end # Seek to next commercial cut point begin remote = Streamzap_PC_Remote prog = mythtv button = BLUE repeat = 0 config = Z end
I was having some issues with the internal player not hanging very well with high definition content, so I modified the video player setup to use mplayer
mplayer -cache=16384 -cache-min=10 -fs -zoom -quiet -nosub -vo vdpau -vc ffh264vdpau -heartbeat-cmd "xscreensaver-command -deactivate" %s
sudo nvidia-xconfig --no-composite