Jan
15
Filed Under (Random) by mark on 15-01-2006

News

Latest: added a version that compiles with 2.6.27 kernels.
Latest: if you are packaging this, see the note at the bottom as to why I don’t provide a simple patch.
Latest: added an updated version that compiles with 2.6.24 kernels, tested against 2.6.23.12
Latest: updated `firmware` to a later revision from hauppauge (743 codesets)

HOWTO

  1. This is not for the MCE version of the PVR-150. This includes a USB unit which does not work the same way as the normal PVR-150, use standard lirc (and lirc_mceusb) for that.
  2. Use a recent kernel (note: the ivtv drivers have been part of the mainline kernel for a good number of revisions so no external drivers are required — sorry, I don’t know off hand which revision they were merged in), or for older kernels install ivtv-0.4.2+ (from this page). Earlier versions of ivtv _are not supported_.
  3. Get the pre-patched lirc 0.8.5-CVS-pvr150 tarball. There are also earlier versions that can be found here, should you want them. The previous revision may be required for kernels < 2.6.27 (as it is untested on lower revisions -- in theory it should work)
  4. You need the dialog package installed to use the lirc configuration GUI, so install that (apt-get install dialog, yum install dialog, whatever is appropriate for your distribution).
  5. Unpack the patched lirc:

    cd /usr/src
    tar xfj lirc-0.8.3-CVS-pvr150-2.tar.bz2
    cd lirc-0.8.3-CVS-pvr150-2
    ./setup.sh

    Choose:
    TV card
    i – Hauppauge PVR-150 TV card (note: _NOT_ ‘g – Hauppauge TV card’)
    Save configuration & run configure

    then:

    make && make install.

  6. IR blaster only: Now you need the ‘firmware’. This is a set of data blocks that correspond to those generated by the windows software. This goes in /usr/lib/hotplug/firmware on my debian system. Depending on your system this might also be /usr/local/lib/firmware, /lib/firmware or /lib/modules.

    Note that the entire firmware is kept in memory (currently 300K) so this makes the driver quite large. (I have no plans to sort this out, memory is cheap).

  7. Check everything is working so far:

    modprobe lirc_dev debug=1 && modprobe lirc_pvr150 debug=1

    Check the syslog output. This should report something like:

    Aug 28 02:09:11 soapbox kernel: lirc_pvr150: chip found with RX and TX
    Aug 28 02:09:11 soapbox kernel: ivtv: i2c attach [client=Hauppauge PVR150 IR RX, ok]
    Aug 28 02:09:11 soapbox kernel: ivtv: i2c attach [client=Hauppauge PVR150 IR TX, ok]
    Aug 28 02:09:11 soapbox kernel: lirc_dev: lirc_register_plugin: sample_rate: 0
    Aug 28 02:09:11 soapbox udev[5221]: creating device node ‘/dev/lirc0′
    Aug 28 02:09:11 soapbox kernel: lirc_pvr150: firmware of size 302355 loaded
    Aug 28 02:09:11 soapbox kernel: lirc_pvr150: 743 codesets loaded
    Aug 28 02:09:11 soapbox kernel: lirc_pvr150: Hauppauge PVR-150 IR blaster: firmware version 1.3.0

    This means that the driver has detected and initialised the IR blaster hardware — if you don’t see that then let me know.

  8. You need to configure lircd, and find out which codeset you are going to be using. The easiest way is to start with this configuration file which contains key definitions for everything in the database. Do not use other lirc configuration files for specific STBs — these simply will not work. The IR chip is only capable of sending those codes which are in the database.
  9. Start lircd. Note: if you are using a static /dev, you may need to make a device for lirc. If unsure, once you have verified that the module has been loaded ok, run ls -l /dev/lirc*. If you don’t see a /dev/lirc0 or similar, then try mknod /dev/lirc0 c 61 0 if the steps below fail.

    modprobe lirc_dev && modprobe lirc_pvr150 debug=1
    lircd --device=/dev/lirc0

  10. You can now check if the remote is working using irw. Run this, and press buttons on the remote. You should see some output like

    0000000000001795 00 Down Hauppauge_350.

  11. Next, for the ir blaster you need to work out which codeset to use, this is the tricky bit. For this I have send_power_new, a script that just sends the power command in every single codeset. You may find your codeset number listed here if you are lucky.

    Firstly, check that you are seeing the IR blaster blink. If you don’t have blinking lights at this stage, your cable probably isn’t in the card properly (try wiggling it around), or it may be broken.

    Next you need to stick the IR blaster on the IR receiver of box that you intend to control, being quite careful to position it correctly — it has a very short range (a few cm) and took me a couple of goes to get right. The best way to do this is to find the IR demodulator on the box — easiest with a torch. Note that this is _not_ the light that comes on when you press a button on the remote, they tend to look like this.

    If you can’t get this to work, please try and check it against the Windows driver if possible. If your device will work with the windows driver but not my driver, then it’s a driver bug that I should be able to fix. If it does not work with the Windows driver either then your only options are to use a different IR blaster or bug hauppauge until they add support for the box you are trying to control. At that point, I can update my
    database too.

  12. Once you know which codeset you want you can go and delete all of the rest from lircd.conf. They are named “XXX_key” so should be pretty easy to find. I also gave the keys standard names (0-9).
  13. To get mythtv to work, configure a channel change script for your device. There’s one here that should work out of the box if you
    rename the number keys.
  14. If you’re happy, you can always send me beer money. If not, add comments at the bottom :)

That’s it, good luck!

Packaging

The lirc distribution tarball is generated using `make dist-bzip2` which uses the gnu autotools to generate a configure script, and Makefile.in, etc. The contents of these generated files depends very much on the version of autotools that is installed; this varies from distribution to distribution. I don’t have the same auto* as the lirc maintainers, so producing a patch file against a distribution tarball makes a patch bigger than the original source archive. Hence I don’t bother; I just make a new dist bzip2 and drop it here.

I maintain the code by importing a current lirc CVS into a subversion repository hosted on this server. I tag each lirc import, generate a diff from the previous lirc import and apply it to my source tree, then port any fixes from lirc_i2c.c to lirc_pvr150.c, test, and generate a new .tar.bz2. To get the source tree you can do:

svn co http://svn.blushingpenguin.com/svn/trunk/3rdparty/lirc lirc

and you can get the changes I made to the CVS revision of lirc with:

svn diff http://svn.blushingpenguin.com/svn/vendor/lirc/current http://svn.blushingpenguin.com/svn/trunk/3rdparty/lirc


366 Responses to “LIRC PVR-150 IR blaster support, version 3”

Pages: « 1 2 3 4 [5] 6 7 8 » Show All

  1. 201
    Ram Says:

    Mark:
    I was using lirc_i2c and couldnt get the infrared working. Followed your steps and got it working. Wonderful job. I also wanted to know how to run this automatically when the system boots up. Any thoughts on that? I am newbie so dont know much.

    Thanks

  2. 202
    Ram Says:

    Mark,
    One more question. I have dish network dvp 311. I attached the ir blaster to the front of the box and when i issue irsend through command line it works fine. But the Hauppauge PVR-150 remote seems not working. Here is how my lircd.conf looks like. Any way i can make it work? Onething is how does my remote fall into the name blaster?

    Thanks

    #
    # this config file was automatically generated
    # using lirc-0.5.5pre8 on Sun Apr 18 11:43:45 1999
    #
    # contributed by Jens Leuschner
    #
    # brand: Hauppauge
    # model:
    # supported devices: WinTV primo; WinTV pci; WinTV radio
    #
    # This config file will work with both homebrew receivers and
    # original Hauppauge TV cards !!!
    #

    begin remote

    name blaster
    bits 32
    flags RAW_CODES
    eps 0
    aeps 0
    plead 0
    gap 333333
    repeat_bit 0
    begin raw_codes
    name 1_136_KEY_0
    2156396544
    name 1_136_KEY_1
    2156396545
    name 1_136_KEY_2
    2156396546
    name 1_136_KEY_3
    2156396547
    name 1_136_KEY_4
    2156396548
    name 1_136_KEY_5
    2156396549
    name 1_136_KEY_6
    2156396550
    name 1_136_KEY_7
    2156396551
    name 1_136_KEY_8
    2156396552
    name 1_136_KEY_9
    2156396553
    name 1_136_KEY_POWER
    2156396554
    name 1_136_KEY_CH_UP
    2156396559
    name 1_136_KEY_CH_DOWN
    2156396560
    name 1_136_KEY_MUTE
    2156396561
    name 1_136_KEY_VOL_DOWN
    2156396562
    name 1_136_CH_PREVIOUS
    2156396563
    name 1_136_KEY_VOL_UP
    2156396564
    name 1_136_KEY_DISPLAY
    2156396565
    name 1_136_KEY_EXIT
    2156396568
    name 1_136_KEY_GUIDE
    2156396571
    name 1_136_KEY_SAT
    2156396586
    name 1_136_KEY_MENU
    2156396591
    name 1_136_KEY_MUP
    2156396592
    name 1_136_KEY_MDOWN
    2156396593
    name 1_136_KEY_MLEFT
    2156396594
    name 1_136_KEY_MRIGHT
    2156396595
    end raw_codes
    end remote

    begin remote

    name Hauppauge
    bits 13
    flags SHIFT_ENC
    eps 30
    aeps 100

    one 950 830
    zero 950 830
    plead 960
    gap 89584
    repeat_bit 2

    begin codes
    TV 0x000000000000100F
    RADIO 0x000000000000100C
    FULL_SCREEN 0x000000000000102E
    CH+ 0x0000000000001020
    CH- 0x0000000000001021
    VOL- 0x0000000000001011
    VOL+ 0x0000000000001010
    MUTE 0x000000000000100D
    SOURCE 0x0000000000001022
    1 0x0000000000001001
    2 0x0000000000001002
    3 0x0000000000001003
    4 0x0000000000001004
    5 0x0000000000001005
    6 0x0000000000001006
    7 0x0000000000001007
    8 0x0000000000001008
    9 0x0000000000001009
    0 0x0000000000001000
    RESERVED 0x000000000000101E
    MINIMIZE 0x0000000000001026
    end codes

    end remote

    #
    # this config file was automatically generated
    # using lirc-0.6.6(animax) on Tue Apr 15 19:50:27 2003
    #
    # contributed by
    #
    # brand: Hauppauge
    # model no. of remote control:
    # devices being controlled by this remote: PVR 2/350
    #

    begin remote

    name hauppauge_pvr
    bits 13
    flags RC5|CONST_LENGTH
    eps 30
    aeps 100

    one 969 811
    zero 969 811
    plead 1097
    gap 114605
    toggle_bit 2

    begin codes
    Power 0x00000000000017FD
    Go 0x00000000000017FB
    1 0x00000000000017C1
    2 0x00000000000017C2
    3 0x00000000000017C3
    4 0x00000000000017C4
    5 0x00000000000017C5
    6 0x00000000000017C6
    7 0x00000000000017C7
    8 0x00000000000017C8
    9 0x00000000000017C9
    Back/Exit 0x00000000000017DF
    0 0x00000000000017C0
    Menu 0x00000000000017CD
    Red 0x00000000000017CB
    Green 0x00000000000017EE
    Yellow 0x00000000000017F8
    Blue 0x00000000000017E9
    Ch+ 0x00000000000017E0
    Ch- 0x00000000000017E1
    Vol- 0x00000000000017D1
    Vol+ 0x00000000000017D0
    Ok 0x00000000000017E5
    Mute 0x00000000000017CF
    Blank 0x00000000000017CC
    Full 0x00000000000017FC
    Rewind 0x00000000000017F2
    Play 0x00000000000017F5
    Forward 0x00000000000017F4
    Record 0x00000000000017F7
    Stop 0x00000000000017F6
    Pause 0x00000000000017F0
    Replay 0x00000000000017E4
    Skip 0x00000000000017DE
    end codes

    end remote

    #
    # this config file was automatically generated
    # using lirc-0.7.0(any) on Sun Nov 28 20:25:09 2004
    #
    # contributed by
    #
    # brand: Hauppauge 350
    # Created: G.J. Werler (The Netherlands)
    # Project: Mythtv Fedora Pundit-R http://www.mythtvportal.com
    # Date: 2004/11/28
    # model no. of remote control: Hauppauge A415-HPG
    # devices being controlled by this remote: PVR-350
    #

    begin remote

    name Hauppauge_350
    bits 13
    flags RC5|CONST_LENGTH
    eps 30
    aeps 100

    one 969 811
    zero 969 811
    plead 1097
    gap 114605
    # gap 200000
    toggle_bit 2

    begin codes
    Go 0x00000000000017BB
    Power 0x00000000000017BD
    TV 0x000000000000179C
    Videos 0x0000000000001798
    Music 0x0000000000001799
    Pictures 0x000000000000179A
    Guide 0x000000000000179B
    Radio 0x000000000000178C
    Up 0x0000000000001794
    Left 0x0000000000001796
    Right 0x0000000000001797
    Down 0x0000000000001795
    OK 0x00000000000017A5
    Back/Exit 0x000000000000179F
    Menu/i 0x000000000000178D
    Vol+ 0x0000000000001790
    Vol- 0x0000000000001791
    Prev.Ch 0x0000000000001792
    Mute 0x000000000000178F
    Ch+ 0x00000000000017A0
    Ch- 0x00000000000017A1
    Record 0x00000000000017B7
    Stop 0x00000000000017B6
    Rewind 0x00000000000017B2
    Play 0x00000000000017B5
    Forward 0x00000000000017B4
    Replay/SkipBackward 0x00000000000017A4
    Pause 0x00000000000017B0
    SkipForward 0x000000000000179E
    1 0x0000000000001781
    2 0x0000000000001782
    3 0x0000000000001783
    4 0x0000000000001784
    5 0x0000000000001785
    6 0x0000000000001786
    7 0x0000000000001787
    8 0x0000000000001788
    9 0x0000000000001789
    Asterix 0x000000000000178A
    0 0x0000000000001780
    # 0x000000000000178E
    Red 0x000000000000178B
    Green 0x00000000000017AE
    Yellow 0x00000000000017B8
    Blue 0x00000000000017A9
    end codes

    end remote

  3. 203
    Ram Says:

    3rd one. I apologize for asking so many questions. Please bear with me. How do i still have pause, rewind, control pvr and guide, right arrow key etc… control the dishbox?

  4. 204
    Cristiano Says:

    Hi mark,
    I have a pvr150 controlling a skybox so I tried your package and it seems to work with a little problem.
    When I send a command like “irsend SEND_ONCE blaster 1_663_KEY_XXXX” the IR code is generated ok but the box receives two signal instead of one and this creates some problem during the OSD navigation (double jump on the osd entry).

    I am using gentoo with 2.6.18-gentoo-r4 kernel and here is my logs:
    Jan 16 12:30:44 LiveServer-222 lirc_dev (lirc_pvr150[0]): open called
    Jan 16 12:30:44 LiveServer-222 lirc_dev (lirc_pvr150[0]): ioctl called (0x80046900)
    Jan 16 12:30:44 LiveServer-222 lirc_dev (lirc_pvr150[0]): ioctl called (0x40046911)
    Jan 16 12:30:44 LiveServer-222 lirc_dev (lirc_pvr150[0]): ioctl called (0x40046912)
    Jan 16 12:30:44 LiveServer-222 lirc_dev (lirc_pvr150[0]): ioctl called (0x8004690f)
    Jan 16 12:30:44 LiveServer-222 lirc_dev (lirc_pvr150[0]): poll called
    Jan 16 12:30:44 LiveServer-222 lirc_pvr150: poll called
    Jan 16 12:30:44 LiveServer-222 lirc_pvr150: poll result = 0
    Jan 16 12:30:44 LiveServer-222 lirc_dev (lirc_pvr150[0]): poll called
    Jan 16 12:30:44 LiveServer-222 lirc_pvr150: poll called
    Jan 16 12:30:44 LiveServer-222 lirc_pvr150: poll result = 0
    Jan 16 12:30:44 LiveServer-222 lirc_dev (lirc_pvr150[0]): write called
    Jan 16 12:30:44 LiveServer-222 lirc_pvr150: 01 60 b2 a0 2alirc_pvr150: 05 b8 07 90 79lirc_pvr150: 09 fd 00 26 05lirc_pvr150: 0d 5b 90 43 ddlirc_pvr150: 11 49 5c b5 00lirc_pvr150: 15 ac 9e d3 dblirc_pvr150: 19 f7 13 c9 2dlirc_pvr150: 1d 32 d4 3d 4blirc_pvr150: 21 3b 14 40 c6lirc_pvr150: 25 2b 68 14 cflirc_pvr150: 29 6d e9 6f 2alirc_pvr150: 2d 66 5a 1c 6elirc_pvr150: 31 2e 77 25 48lirc_pvr150: 35 54 26 3b falirc_pvr150: 39 79 fd cb 94lirc_pvr150: 3d ad 7e 8b f0lirc_pvr150: 41 81 49 94 d5lirc_pvr150: 45 80 f9 fa 87lirc_pvr150: 49 8c ff d9 falirc_pvr150: 4d a4 6f bc 30lirc_pvr150: 51 95 a2 d4 fflirc_pvr150: 55 83 60 8c 24lirc_pvr150: 59 d1 30 c5 d2lirc_pvr150: 5d cd 2b 99 c8lirc_pvr150: 61 00 00 00 c8lirc_pvr150: NAK expected: i2c_master_send failed with -121 (try 1)
    Jan 16 12:30:44 LiveServer-222 lirc_pvr150: NAK expected: i2c_master_send failed with -121 (try 2)
    Jan 16 12:30:44 LiveServer-222 lirc_pvr150: NAK expected: i2c_master_send failed with -121 (try 3)
    Jan 16 12:30:44 LiveServer-222 lirc_pvr150: NAK expected: i2c_master_send failed with -121 (try 4)
    Jan 16 12:30:44 LiveServer-222 lirc_pvr150: NAK expected: i2c_master_send failed with -121 (try 5)
    Jan 16 12:30:44 LiveServer-222 lirc_pvr150: sent code 33431, key 49
    Jan 16 12:30:44 LiveServer-222 lirc_dev (lirc_pvr150[0]): poll called
    Jan 16 12:30:44 LiveServer-222 lirc_pvr150: poll called
    Jan 16 12:30:44 LiveServer-222 lirc_pvr150: poll result = 0
    Jan 16 12:30:44 LiveServer-222 lirc_dev (lirc_pvr150[0]): poll called
    Jan 16 12:30:44 LiveServer-222 lirc_pvr150: poll called
    Jan 16 12:30:44 LiveServer-222 lirc_pvr150: poll result = 0
    Jan 16 12:30:44 LiveServer-222 lirc_dev (lirc_pvr150[0]): close called
    Jan 16 12:30:44 LiveServer-222 lirc_pvr150: key (0x00/0x00)

    any ideas?
    thanks in advance

  5. 205
    Travis with a Sore Head Says:

    Try as I might, I can’t get my driver recognized. I keep getting this in my log:

    Jan 24 22:36:18 compy kernel: lirc_pvr150: ivtv i2c driver #0: no devices found

    I started of with the binary modules from ATrpms, then downloaded your updated PVR 150 module, compiled, and attempted to load it. Here is a whole slew of potentially uninteresting information…

    [root@compy ~]# rpm -qv lirc-kmdl-`uname -r`
    lirc-kmdl-2.6.19-1.2895.fc6-0.8.1-65_cvs20061130.fc6.at

    [root@compy ~]# rpm -qv lirc
    lirc-0.8.1-65_cvs20061130.fc6.at

    [root@compy modules]# cat /etc/sysconfig/modules/lirc.modules
    #!/bin/sh

    for module in `/sbin/modprobe -c | awk ‘/^alias[[:space:]]+char-major-61+[[:space:]]/ { print $3 }’`; do
    /sbin/modprobe $module
    done

    [root@compy etc]# cat /etc/udev/rules.d/lirc.rules
    KERNEL==”lirc[0-9]*”, NAME=”lirc%n”
    KERNEL==”lirc0″, SYMLINK=”lirc”

    [root@compy etc]# cat /etc/modprobe.conf
    alias char-major-61 lirc_dev
    alias eth0 forcedeth
    alias scsi_hostadapter sata_nv
    alias snd-card-0 snd-intel8x0
    options snd-card-0 index=0
    options snd-intel8x0 index=0
    remove snd-intel8x0 { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r –ignore-remove snd-intel8x0
    alias char-major-81 videodev
    alias char-major-81-0 ivtv
    # nvidia kernel module
    alias char-major-195 nvidia-1_0-9746
    alias nvidia nvidia-1_0-9746
    install lirc_i2c /sbin/modprobe ivtv; /sbin/modprobe –ignore-install lirc_i2c

    ======
    After Reboot
    ======

    [root@compy ~]# cat /var/log/messages

    Jan 23 23:17:52 compy kernel: ivtv: ==================== START INIT IVTV ====================
    Jan 23 23:17:52 compy kernel: ivtv: version 0.9.1 (tagged release) loading
    Jan 23 23:17:52 compy kernel: ivtv: Linux version: 2.6.19-1.2895.fc6 SMP mod_unload 686 REGPARM 4KSTACKS
    Jan 23 23:17:52 compy kernel: ivtv: In case of problems please include the debug info between
    Jan 23 23:17:52 compy kernel: ivtv: the START INIT IVTV and END INIT IVTV lines, along with
    Jan 23 23:17:52 compy kernel: ivtv: any module options, when mailing the ivtv-users mailinglist.
    Jan 23 23:17:52 compy kernel: hdb: ATAPI 40X CD-ROM drive, 128kB Cache
    Jan 23 23:17:52 compy kernel: Uniform CD-ROM driver Revision: 3.20
    Jan 23 23:17:52 compy kernel: eth0: forcedeth.c: subsystem: 01462:7125 bound to 0000:00:0a.0
    Jan 23 23:17:52 compy kernel: ACPI: PCI Interrupt Link [APCJ] enabled at IRQ 20
    Jan 23 23:17:52 compy kernel: ACPI: PCI Interrupt 0000:00:04.0[A] -> Link [APCJ] -> GSI 20 (level, low) -> IRQ 20
    Jan 23 23:17:52 compy kernel: intel8x0_measure_ac97_clock: measured 51640 usecs
    Jan 23 23:17:53 compy kernel: intel8x0: clocking to 46916
    Jan 23 23:17:53 compy kernel: ivtv0: Autodetected Hauppauge card (cx23416 based)
    Jan 23 23:17:53 compy kernel: ACPI: PCI Interrupt 0000:01:08.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 18
    Jan 23 23:17:53 compy kernel: ivtv0: loaded v4l-cx2341x-enc.fw firmware (262144 bytes)
    Jan 23 23:17:53 compy kernel: tveeprom 2-0050: Hauppauge model 26132, rev G1B2, serial# 9545043
    Jan 23 23:17:53 compy kernel: tveeprom 2-0050: tuner model is TCL M2523_5N_E (idx 112, type 50)
    Jan 23 23:17:53 compy kernel: tveeprom 2-0050: TV standards NTSC(M) (eeprom 0x08)
    Jan 23 23:17:53 compy kernel: tveeprom 2-0050: audio processor is CX25841 (idx 35)
    Jan 23 23:17:53 compy kernel: tveeprom 2-0050: decoder processor is CX25841 (idx 28)
    Jan 23 23:17:53 compy kernel: tveeprom 2-0050: has no radio, has IR remote
    Jan 23 23:17:53 compy kernel: ivtv0: Autodetected Hauppauge WinTV PVR-150
    Jan 23 23:17:53 compy kernel: ivtv0: reopen i2c bus for IR-blaster support
    Jan 23 23:17:53 compy kernel: tuner 2-0061: chip found @ 0xc2 (ivtv i2c driver #0)
    Jan 23 23:17:53 compy kernel: cx25840 2-0044: cx25841-23 found @ 0x88 (ivtv i2c driver #0)
    Jan 23 23:17:53 compy kernel: cx25840 2-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
    Jan 23 23:17:53 compy kernel: wm8775 2-001b: chip found @ 0x36 (ivtv i2c driver #0)
    Jan 23 23:17:53 compy kernel: ivtv0: Encoder revision: 0x02050032
    Jan 23 23:17:53 compy kernel: ivtv0: Registered device video0 for encoder MPEG
    Jan 23 23:17:53 compy kernel: ivtv0: Registered device video32 for encoder YUV
    Jan 23 23:17:53 compy kernel: ivtv0: Registered device vbi0 for encoder VBI
    Jan 23 23:17:53 compy kernel: ivtv0: Registered device video24 for encoder PCM audio
    Jan 23 23:17:53 compy kernel: tuner 2-0061: type set to 50 (TCL 2002N)
    Jan 23 23:17:53 compy kernel: ivtv0: Initialized Hauppauge WinTV PVR-150, card #0
    Jan 23 23:17:53 compy kernel: ivtv: ==================== END INIT IVTV ====================

    [root@compy ~]# grep lirc /var/log/messages
    Jan 24 21:24:18 compy kernel: lirc_dev: IR Remote Control driver registered, at major 61

    [root@compy ~]# ls /dev/lir*
    ls: /dev/lir*: No such file or directory

    [root@compy ~]# lsmod | grep lirc
    lirc_dev 16788 0

    [root@compy ~]# modprobe lirc_dev
    [root@compy ~]# modprobe lirc_pvr150

    [root@compy ~]# tail /var/log/messages

    Jan 24 22:36:18 compy kernel: lirc_pvr150: ivtv i2c driver #0: no devices found

    [root@compy ~]# lsmod | grep lirc
    lirc_pvr150 22976 0
    lirc_dev 16788 1 lirc_pvr150
    ivtv 167696 1 lirc_pvr150
    i2c_core 26049 10 lirc_pvr150,i2c_ec,wm8775,cx25840,tuner,ivtv,i2c_algo_bit,tveeprom,i2c_nforce2,nvidia

    [root@compy ~]# mknod /dev/lirc c 61 0
    [root@compy ~]# ln -s /dev/lirc /dev/lirc0
    [root@compy ~]# ls -l /dev/li*
    crw-r–r– 1 root root 61, 0 Jan 24 22:39 /dev/lirc
    lrwxrwxrwx 1 root root 9 Jan 24 22:39 /dev/lirc0 -> /dev/lirc

    [root@compy ~]# /sbin/service lircd start
    Starting infrared remote control daemon: [ OK ]
    Starting infrared remote control mouse daemon: [ OK ]

    [root@compy ~]# tail /var/log/messages

    Jan 24 22:42:33 compy lircd-0.8.1-CVS[3311]: lircd(userspace) ready
    Jan 24 22:42:33 compy lircd-0.8.1-CVS[3311]: accepted new client on /dev/lircd
    Jan 24 22:42:33 compy lircd-0.8.1-CVS[3311]: could not open /dev/lirc
    Jan 24 22:42:33 compy lircd-0.8.1-CVS[3311]: default_init(): No such device
    Jan 24 22:42:33 compy lircd-0.8.1-CVS[3311]: caught signal

    [root@compy ~]# ps -e | grep lircd
    [root@compy ~]#

  6. 206
    Travis with a Sore Head Says:

    By way of a second try, I removed all of the lirc packages I had downloaded from ATrpms. I then cleaned up all of the old lirc stuff I could find lying around (removing /dev/lirc*, /etc/sysconfig/lircd, so and and so forth). When I was done, I had what I felt was a pristine ivtv 0.91 environment with no lirc contamination.

    I then reconfigured the source and turned debugging on. Cleaned, compiled, and installed. During the compile, I got this error a couple of times (but it didn’t stop the compilation):

    ]make[4]: Entering directory `/usr/src/kernels/2.6.19-1.2895.fc6-i686′
    test -e include/linux/autoconf.h -a -e include/config/auto.conf || ( \
    echo; \
    echo ” ERROR: Kernel configuration is invalid.”; \
    echo ” include/linux/autoconf.h or include/config/auto.conf are
    missing.”; \
    echo ” Run ‘make oldconfig && make prepare’ on kernel src to fix
    it.”; \
    echo; \
    /bin/false)

    I then went on to steps 4 and 5. When I did the modprobe, I cried…

    lirc_dev: IR Remote Control driver registered, at major 61
    lirc_pvr150: probe 0x70 @ ivtv i2c driver #0: no
    lirc_pvr150: probe 0x71 @ ivtv i2c driver #0: no
    lirc_pvr150: ivtv i2c driver #0: no devices found

    Could card placement in the PCI bus make a difference? I think I’m going to swap the card with another PVR150 I have to rule out hardware somewhat.

    *sniff* I want my toy to work.

  7. 207
    Travis with a Sore Head Says:

    Ugh, one last: I turned debugging on in the code configuration, but I don’t see where it actually gives any of that debugging. :) Is there more information I can provide you from that?

    Thanks.

    Travis

  8. 208
    Ram Says:

    For my second question above, here is my lircrc file and change_channel script. My Hauppauge remote works now with mythtv but if I do channel up or down, prev channel (whichever has to send signal through ir transmitter), doesnt work. infact I dont see the red light blinking. But, when i do it from command line using irsend … blaster … then I can see it working. when i track the /var/log/mythtv/myth.log, it says
    /usr/local/bin/irsend: command failed: SEND_ONCE blaster 7
    /usr/local/bin/irsend: unknown command: “7”

    What is happening here?

    cat .mythtv/lircrc

    begin
    prog = mythtv
    button = Off
    config = Esc
    end

    begin
    prog = mythtv
    button = Go
    # Swap the PiP windows
    config = N
    end

    begin
    prog = mythtv
    button = 1
    config = 1
    end

    begin
    prog = mythtv
    button = 2
    config = 2
    end

    begin
    prog = mythtv
    button = 3
    config = 3
    end

    begin
    prog = mythtv
    button = 4
    config = 4
    end

    begin
    prog = mythtv
    button = 5
    config = 5
    end

    begin
    prog = mythtv
    button = 6
    config = 6
    end

    begin
    prog = mythtv
    button = 7
    config = 7
    end

    begin
    prog = mythtv
    button = 8
    config = 8
    end

    begin
    prog = mythtv
    button = 9
    config = 9
    end

    begin
    prog = mythtv
    button = Back/Exit
    config = Esc
    end

    begin
    prog = mythtv
    button = 0
    config = 0
    end

    begin
    prog = mythtv
    button = Menu/i
    config = M
    end

    # Below are keys used with the Hauppauge Grey remote

    begin
    prog = mythtv
    # This is the Red key
    # We’ll use it for “Delete”
    button = Red
    config = D
    end

    begin
    prog = mythtv
    button = Asterix
    config = I
    end

    begin
    prog = mythtv
    button = Videos
    config = Ctrl+V
    end

    begin
    prog = mythtv
    button = Music
    config = Ctrl+M
    end

    begin
    prog = mythtv
    button = Pictures
    config = Ctrl+D
    end

    begin
    prog = mythtv
    button = Radio
    config = Ctrl+W
    end

    begin
    prog = mythtv
    button = Prev.Ch
    config = Alt+M
    end

    # Note the “repeat =” strings in the volume and channel.
    # This means that if you hold down the key, every nth instance will be
    # passed. This depends on your system, so you may want to increase or
    # decrease this and see what happens. repeat = 1 is probably too
    # fast.

    begin
    prog = mythtv
    button = Ch+
    # This is the “up” on the central diamond
    repeat = 3
    config = Up
    end

    begin
    prog = mythtv
    button = Ch-
    # This is the “down” on the central diamond
    repeat = 3
    config = Down
    end

    begin
    prog = mythtv
    button = Vol-
    # This is the “left” on the central diamond
    repeat = 3
    config = Left
    end

    begin
    prog = mythtv
    button = Vol+
    # This is the “right” on the central diamond
    repeat = 3
    config = Right
    end

    begin
    prog = mythtv
    button = Up
    repeat = 3
    config = Up
    end

    begin
    prog = mythtv
    button = Down
    repeat = 3
    config = Down
    end

    begin
    prog = mythtv
    button = Left
    repeat = 3
    config = Left
    end

    begin
    prog = mythtv
    button = Right
    repeat = 3
    config = Right
    end

    begin
    prog = mythtv
    # Middle button on the diamond
    button = Ok
    config = Return
    end

    begin
    prog = mythtv
    button = Mute
    config = F9
    end

    begin
    prog = mythtv
    # Change focus for PiP (to change channel in the other window)
    button = Blank
    config = B
    end

    begin
    prog = mythtv
    # Toggle PiP on/off
    button = Full
    config = V
    end

    begin
    prog = mythtv
    button = Rewind
    config = Left
    end

    begin
    prog = mythtv
    button = Play
    config = P
    end

    begin
    prog = mythtv
    button = Forward
    config = Right
    end

    begin
    prog = mythtv
    button = Record
    config = R
    end

    begin
    prog = mythtv
    button = Stop
    config = Esc
    end

    begin
    prog = mythtv
    button = pause
    config = P
    end

    begin
    prog = mythtv
    button = Green
    repeat = 3
    config = PgUp
    end

    begin
    prog = mythtv
    button = Blue
    repeat = 3
    config = PgDown
    end

    cat /usr/bin/change_channel

    #!/usr/bin/perl

    # make sure to set this string to
    # the corresponding remote in /etc/lircd.conf
    $remote_name = “blaster”;

    # Let’s assume you don’t need to press enter after you punch in a
    # channel number. Change this to 1 if your cable box expects you press
    # enter after each command
    $needs_enter = 0;

    # Change this to point to your rc executable
    $rc_command = “/usr/local/bin/irsend”;

    # This subroutine actually sends the signal to the cable box
    sub change_SIGNAL {
    my($SIGNAL) = @_;
    system (“$rc_command SEND_ONCE $remote_name $SIGNAL”);
    }

    $SIGNAL=$ARGV[0];
    open F, “>> /var/log/channel.log”;
    print F “channel changing $SIGNAL\n”;
    close F;
    print “channel changing $SIGNAL\n”;

    # Checks if $SIGNAL begins with a digit
    # If it detects that the string is made up of digits, then it puts
    # spaces between the digits. Ex. 1234 becomes 1 2 3 4
    if ( $SIGNAL =~ /^\d+$/ )
    {
    my $length = length($SIGNAL);
    my $counter = 0;
    my $temp;

    while( $counter

  9. 209
    Travis with a Sore Head Says:

    Nevermind…freaking hardware problem. Put in a different PVR150 and it worked like a charm. Thanks for your efforts on this! It is much appreciated.

  10. 210
    John Says:

    I noticed lirc release lirc-0.8.1 on 07-Jan-2007, can we use this version for the PVR-150 now instead of the CVS version?

  11. 211
    Allison Says:

    Mark,

    First of all, thanks for all of your work on this!

    I’m having some problems getting it to run properly. I’m using kernel 2.6.17-10 and using what I think is the most current lirc source available on your site: http://www.blushingpenguin.com/mark/lmilk/lirc-0.8.1-CVS-pvr150.tar.bz2 .
    I’m getting errors similar to what have been reported before, when I’m using irsend:Jan 29 17:13:46 ajones-desktop lircd-0.8.0[5979]: error in configfile line 58:
    Jan 29 17:13:46 ajones-desktop lircd-0.8.0[5979]: “2147483648”: must be a valid (lirc_t) number
    Jan 29 17:13:46 ajones-desktop lircd-0.8.0[5979]: reading of config file failed
    Jan 29 17:13:46 ajones-desktop lircd-0.8.0[5980]: lircd(userspace) ready

    Do you have any suggestions/advice? Thanks in advance!

  12. 212
    Morten Says:

    Thanks alot Mark. This is working great for me. ๐Ÿ˜‰

  13. 213
    Barry Says:

    If I test with a simple script like:

    echo 1_28_KEY_MUTE
    irsend SEND_ONCE blaster 1_28_KEY_MUTE

    it works fine, the STB mutes. When I try the perl script, I get:

    # ./change_bev 123
    channel changing 123
    /usr/bin/irsend: command failed: SEND_ONCE blaster 1
    /usr/bin/irsend: unknown command: “1”

    It always barfs after the first digit. Maybe this is real obvious, but not to me. Can’t find a lot of related web support either.
    I’m using a PVR150, and latest Knoppmyth.
    Thanks for any help.

    Barry

  14. 214
    David Hawks Says:

    Hauppauge has a new version of IR Blaster titled:

    Beta version 4.0 (October 13, 2006) with a new list of set top boxes.

    This new version supports my box (the DirecTV R10). Any chance of getting the new codesets added?

  15. 215
    Octavian Says:

    I also had this, Did you make clean first?

    However, I cannot use the remote since
    /usr/bin/ivtvctl –reset-ir
    does not work. Still investigating.

  16. 216
    John Says:

    Hey,
    I tried installing the blaster using this howto on Ubuntu Edgy with IVTV 0.7.0,
    however I get FATAL: Module lirc_pvr150 not found. everytime I do modprobe lirc_dev debug=1 && modprobe lirc_pvr150 debug=1

    I tried to copy haup-ir-blaster.bin to /lib/firmware/`uname -r`/ and /lib/modules/`uname -r`/ but that didnt change anything!

    Help would definately be appreciated

  17. 217
    mark Says:

    Shitsticks!

    I moved this off to a nice new server and broke mail notifications at the same time. Hence the lack of replies, I thought everybody was all settled down and things were working perfectly. Oh well, obviously not! This is a bit much for me all at the same time, so I’ll start plodding through tomorrow.

    Sorry about that,

    Mark

  18. 218
    John Says:

    I gave it a new try and this time I get FATAL: Module lirc_dev not found when I do modprobe lirc_dev debug=1 && modprobe lirc_pvr150 debug=1.

    I am getting desperate, I can get my receiver working in 2 seconds, but the IR Blaster seems impossible to set up for me, I also have a serial IR Blaster never got it to work either.
    I have been working on this for a couple of months now, but no success at all. If somebody can help me get this to work Id be very thankful

  19. 219
    Dan Says:

    You can disregard my questions from above. I’m all set with that stuff. Right now I’m trying to figure out a better workaround to set my PVR-150’s default volume. I have to use a crontab job every 5 seconds to re adjust the volume level. MythTV likes to put it back to the default, and the default is way to low…

    Example:
    * * * * * /usr/bin/v4l2-ctl –set-ctrl=volume=63500
    * * * * * /bin/sleep 5; /usr/bin/v4l2-ctl –set-ctrl=volume=63500
    * * * * * /bin/sleep 10; /usr/bin/v4l2-ctl –set-ctrl=volume=63500
    * * * * * /bin/sleep 15; /usr/bin/v4l2-ctl –set-ctrl=volume=63500
    * * * * * /bin/sleep 20; /usr/bin/v4l2-ctl –set-ctrl=volume=63500
    * * * * * /bin/sleep 25; /usr/bin/v4l2-ctl –set-ctrl=volume=63500
    * * * * * /bin/sleep 30; /usr/bin/v4l2-ctl –set-ctrl=volume=63500
    * * * * * /bin/sleep 35; /usr/bin/v4l2-ctl –set-ctrl=volume=63500
    * * * * * /bin/sleep 40; /usr/bin/v4l2-ctl –set-ctrl=volume=63500
    * * * * * /bin/sleep 45; /usr/bin/v4l2-ctl –set-ctrl=volume=63500
    * * * * * /bin/sleep 50; /usr/bin/v4l2-ctl –set-ctrl=volume=63500
    * * * * * /bin/sleep 55; /usr/bin/v4l2-ctl –set-ctrl=volume=63500

  20. 220
    Jeff Says:

    From the Edgy How to

    Ubuntu Edgy introduces support in the kernel to directly manage some remotes via the i2c bus. For remotes like this, the kernel is deprecating the use (and requirement) of lirc. You should be able to press keys on the remote and have them recognized as ordinary keyboard keys. If you don’t like the way that the keypresses that are recognized for certain buttons on the remote, their behavior can be changed using Xmodmap.

    Alternatively, if you would like to still use lirc to manage your i2c device, hexion has written a howto explaining how to install lirc from source and replace the ir_common module in the kernel causing this behavior. See his howto here: HOWTO: Lirc in Edgy.

    I will try setting this up tonight

  21. 221
    Chris K Says:

    Trying the send power script, will not find a codeset but it has worked before.
    dmesg output after running ut;
    lirc_pvr150: 01 60 a6 58 2alirc_pvr150: 05 87 06 05 78lirc_pvr150: 09 73 00 26 05lirc_pvr150: 0d 5b 90 43 dclirc_pvr150: 11 77 55 32 00lirc_pvr150: 15 81 9c 7c 9clirc_pvr150: 19 37 cb 2b 80lirc_pvr150: 1d 81 d4 3d 4blirc_pvr150: 21 3b 96 51 a6lirc_pvr150: 25 28 68 15 9dlirc_pvr150: 29 0d e9 6c 29lirc_pvr150: 2d 66 59 1f 6dlirc_pvr150: 31 2d 74 25 48lirc_pvr150: 35 14 26 58 falirc_pvr150: 39 3c 4c 3a 19lirc_pvr150: 3d 23 f3 06 7dlirc_pvr150: 41 0c c4 18 a8lirc_pvr150: 45 7b 13 c5 fblirc_pvr150: 49 8c ff d9 falirc_pvr150: 4d a4 6f bc 30lirc_pvr150: 51 95 a2 d4 fflirc_pvr150: 55 83 60 8c 24lirc_pvr150: 59 d1 30 c5 d2lirc_pvr150: 5d cd 2b ce 0elirc_pvr150: 61 00 00 00 0elirc_pvr150: NAK expected: i2c_master_send failed with -121 (try 1)
    lirc_pvr150: NAK expected: i2c_master_send failed with -121 (try 2)
    lirc_pvr150: NAK expected: i2c_master_send failed with -121 (try 3)
    lirc_pvr150: NAK expected: i2c_master_send failed with -121 (try 4)
    lirc_pvr150: NAK expected: i2c_master_send failed with -121 (try 5)
    lirc_pvr150: sent code 32777, key 0
    lirc_pvr150: key (0x00/0x00)
    lirc_dev (lirc_pvr150[0]): poll called
    lirc_pvr150: poll called
    lirc_pvr150: poll result = 0
    lirc_dev (lirc_pvr150[0]): close called

  22. 222
    mark Says:

    Well, if you’ve not all given up by now here are the replies that I meant to send before it went right out of my head. If you post anything here and I don’t reply it’s probably worth dropping me a mail (mark@npsl.co.uk) as I tend to respond to those a bit faster.

    In other news I have purchased another PVR-150 from ebay so when it turns up I will update the codesets to the latest hauppauge version. It is not easy for me to do this at the moment as it means disassembling my mythtv box (which does not make me popular).

    So, hopefully not missing anything:

    jake: this is specific to the PVR-150, the PVR-350 doesn’t have the same hardware (AFAIK). I don’t have a PVR-350, and don’t know anything about them. Sorry!
    steve: yes, it’s an LED not a proper IR device so the range is just a few cm.
    bo: kill lircd
    d. jay: in mythtv-setup just set the change channel script
    dan: you have got lirc_i2c loaded, these both try to claim the same hardware. Uninstall whatever prepackaged lirc you have and start again from the top.
    chris: no, sorry.
    dan: list the modules in /etc/modules
    tom: sorry I missed that. Drop me a mail if you are still interested.
    cristiano: try another codeset, other than that there is not a lot that I can do, sorry
    paul: probably something is conflicting, try unloading the kernel module that provides the remote driver. Other than that, I need a bit more information about the specific issue that you are having.
    byte surfer: yes, you have to remove the current lirc first
    aravind: I’m afraid it was rejected due to licensing issues (with the firmware blob that it requires, not the software on this site)
    amankhan: I will try and do this at some point soon
    ram: for starting on boot, /etc/modules, /etc/rcX.d/script ? Other than that I need some more information — ‘not working’ doesn’t tell me much.
    travis: glad you sorted it out
    john: no
    allison: that bug was fixed a while ago, did you pick up an old copy of the software from somewhere?
    morten: cool!
    barry: rename the keys in lircd.conf (1_28_KEY_1 -> 1), or change the channel changing script to add the 1_28_KEY_ prefix
    david: will do as soon as I get my new card
    octavian: thread out of order maybe? Not sure what you are referring to.
    john: depmod -a?
    chris: hmm, the i2c layer is borked. Try loading ivtv with the option newi2c=0.

  23. 223
    Vish Says:

    Trying to the backend box up with transmitter only.
    output of modprobe:
    ——————-
    Mar 8 11:42:57 mythtv kernel: lirc_dev: IR Remote Control driver registered, at major 61
    Mar 8 11:42:57 mythtv kernel: lirc_pvr150: chip found with RX and TX
    Mar 8 11:42:57 mythtv kernel: lirc_dev: lirc_register_plugin: sample_rate: 0
    Mar 8 11:42:57 mythtv kernel: lirc_pvr150: firmware of size 248009 loaded
    Mar 8 11:42:57 mythtv kernel: lirc_pvr150: 637 codesets loaded
    Mar 8 11:42:57 mythtv kernel: lirc_pvr150: ivtv i2c driver #1: no devices found

    ———————————-
    # dmesg | grep lirc
    lirc_dev: IR Remote Control driver registered, at major 61
    lirc_pvr150: probe 0x70 @ ivtv i2c driver #0: yes
    lirc_pvr150: probe 0x71 @ ivtv i2c driver #0: yes
    lirc_pvr150: chip found with RX and TX
    lirc_pvr150: poll thread started
    lirc_dev: lirc_register_plugin: sample_rate: 0
    lirc_dev: plugin lirc_pvr150 registered at minor number = 0
    lirc_pvr150: firmware of size 248009 loaded
    lirc_pvr150: 637 codesets loaded
    lirc_pvr150: 01 60 00 01 c7lirc_pvr150: 05 02 04 9d 16lirc_pvr150: 09 6a bc 13 0flirc_pvr150: 0d ea f6 6a falirc_pvr150: 11 72 be 32 7flirc_pvr150: 15 91 9e b6 6blirc_pvr150: 19 2a 7f 06 05lirc_pvr150: 1d 78 73 00 26lirc_pvr150: 21 05 5b 90 43lirc_pvr150: 25 cf 6a 5d 2blirc_pvr150: 29 00 7c 9f 73lirc_pvr150: 2d db 2e cf 3alirc_pvr150: 31 2d 32 d4 3dlirc_pvr150: 35 4b 3b 96 40lirc_pvr150: 39 d7 5a 1a 64lirc_pvr150: 3d ec 7c 98 1elirc_pvr150: 41 5b 17 2b 6dlirc_pvr150: 45 1f 5f 06 54lirc_pvr150: 49 39 66 57 29lirc_pvr150: 4d 8b 4d 3d 48lirc_pvr150: 51 6b 52 81 74lirc_pvr150: 55 0f 7e 1b 63lirc_pvr150: 59 41 b8 91 f9lirc_pvr150: 5d dd 0a 67 50lirc_pvr150: 61 00 00 00 50lirc_pvr150: Hauppauge PVR-150 IR blaster: firmware version 1.3.0
    lirc_pvr150: probe 0x70 @ ivtv i2c driver #1: no
    lirc_pvr150: probe 0x71 @ ivtv i2c driver #1: no
    lirc_pvr150: ivtv i2c driver #1: no devices found

    Look at the other posts from Simon and Travis.
    Hardware problem ?
    Using ivtv-kmdl-2.6.18-1.2257.fc5-0.10.1-126.fc5.at

    Thanks
    Vish

  24. 224
    mark Says:

    It looks like you have 2xPVR-150s and it is finding an IR chip on one of them? PVR-500 maybe? If it’s a PVR-500 and it has 1 IR chip then I can’t see a problem here (disclaimer: I don’t actually know what hardware is on the PVR-500s, I don’t own one). What’s the actual issue?

  25. 225
    Vish Says:

    That was quick reply .. really appreciate it.
    I have 2 PVR-150ss.
    One has an IR chip, one does not.
    1042 and 1062.

    So there’s no issue here ?
    I just freaked out when i saw the message and my dmesg didn’t look anything like yours.

    Thanks
    # /sbin/lspci | grep -i mpeg
    01:04.0 Multimedia video controller: Internext Compression Inc iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
    01:06.0 Multimedia video controller: Internext Compression Inc iTVC16 (CX23416) MPEG-2 Encoder (rev 01)

  26. 226
    mark Says:

    In that case it looks fine.

  27. 227
    Octavian Says:

    Hi Mark,

    Yes my post was out out of order.

    I was trying to answer to:
    John Says: February 8th, 2007 at 3:41 pm

    I have another annoying issue. It works but only when it wants :-).

    I used to fix it by issuing ivtvctl –reset-ir, as you nicely mentioned in a post.
    Since I have updated to 2.6.19 it does not work anymore :-(. Here is a small listing:

    mythtv ~ # ivtvctl –reset-ir
    ioctl VIDIOC_INT_RESET failed: Invalid argument

    mythtv ~ # uname -a
    Linux mythtv 2.6.19-gentoo-r5 #4 Mon Mar 5 22:50:57 CET 2007 i686 VIA Esther processor 1200MHz CentaurHauls GNU/Linux

    As you can notice the ivtvctl –reset-ir does not work anymore. Could it be because of the kernel or ivtv? Has anyone seen this before?

    Thank you in advance for your answer,
    Octavian

  28. 228
    waldo Says:

    Okay. I got about halfway through the comments and gave up. So I’m sorry if I missed this answer.

    I have a computer running Ubuntu 6.10 with kernel 2.6.17-10-generic. These instructions worked great, the card wasn’t detected, i powered the computer off, powered it back on, and everything worked great.

    Then I ran apt-get update / apt-get upgrade.

    The kernel version didn’t change, but now lirc won’t detect the hardware. I tried both 0.8.1-CVS-pvr150 and the for-cecil versions, and they both resulted in

    Mar 8 19:38:58 pedro kernel: [17181781.636000] lirc_dev: IR Remote Control driver registered, at major 61
    Mar 8 19:38:58 pedro kernel: [17181781.708000] lirc_pvr150: probe 0x70 @ ivtv i2c driver #0: no
    Mar 8 19:38:58 pedro kernel: [17181781.732000] lirc_pvr150: probe 0x71 @ ivtv i2c driver #0: no
    Mar 8 19:38:58 pedro kernel: [17181781.732000] lirc_pvr150: ivtv i2c driver #0: no devices found

    when I modprobed.

    Any advice is more than welcome. SSH access or further information from my computer are readily available.

    Thanks!
    waldo

  29. 229
    mark Says:

    Octavian: I believe that ioctl was removed from the ivtv driver in later versions, you can ask on the ivtv-devel list to be sure. There are stability issues with the crappy software running on the zilog chip that handles the IR, mostly related to timing. I would check that:

    1. you are loading ivtv with newi2c=1 (this should be the default if the card has the IR chip, but you can force it)
    2. if this does not work, please hack up the driver source ๐Ÿ˜‰ Here is what the new hauppauge windows driver does:

    – the ivtv_scldelay equivalent function has changed from polling SCL 5 times to polling SCL 5 times + HcwI2CSpeedAdjust. I am not sure how the value of HcwI2CSpeedAdjust is determined
    – ivtv_scldelay, ivtv_waitscl, ivtv_waitsda all take an extra adjustment parameter which is added to to the total amount (but is only ever set to -1 in one place AFAICT)
    – there are some extra ivtv_scldelay() calls dotted about

    Basically you can increase the delay lengths. If this does help get back to me, I am still waiting on a guy from hauppage for an answer to where this magic delay parameter comes from.

    Waldo: try powering it off, then yanking the power cord from the wall (seriously, we want it _absolutely_ powered off), waiting for about a minute, then plugging it back in and powering it up again. If that doesn’t work let me know.

    hth,

    Mark

  30. 230
    waldo Says:

    Waldo: try powering it off, then yanking the power cord from the wall (seriously, we want it _absolutely_ powered off), waiting for about a minute, then plugging it back in and powering it up again. If that doesnโ€™t work let me know.

    I tried this. Like I said, it solved the problem pre-upgrade, but alas, not this time. Sorry. I unplugged it. Punched the power button. Wandered off and did laundry and made dinner. hit the power button again. Plugged it in. No dice.

  31. 231
    Patrick Says:

    Mark,

    First I’d like to thank you for your time with this. I’ve used your driver for a while now.

    Ok – Like a idiot i’ve upgraded to Ubuntu Fiesty. This uses kernel 2.6.20. This meant I had to use IVTV 10.1. Well your driver compiles fine but won’t load.
    Searching through dmesg shows;
    [ 3369.491982] lirc_pvr150: disagrees about version of symbol ivtv_reset_ir_gpio
    [ 3369.491992] lirc_pvr150: Unknown symbol ivtv_reset_ir_gpio

    Any Ideas?


    Patrick

  32. 232
    Patrick Says:

    Hi again.

    Discovered I don’t need to compile an IVTV driver for Fiesty. It already comes with one.
    I reinstalled the linux-image now the IVTV is working fine, but I still get the error;

    [ 3369.491982] lirc_pvr150: disagrees about version of symbol ivtv_reset_ir_gpio
    [ 3369.491992] lirc_pvr150: Unknown symbol ivtv_reset_ir_gpio


    Patrick

  33. 233
    mark Says:

    waldo: if it can’t find the hardware then there isn’t much to do. Can you check to ensure that lirc_i2c is not hanging around anywhere (you should be able to see this from dmesg), as if it has grabbed the hardware first then the lirc_pvr150 driver won’t be able to see it. If not, can you try loading ivtv with newi2c=0 and newi2c=1 to see if that makes any difference? I can’t think of anything else that might cause it at the moment.

    patrick: can you remove the sections of the code in drivers/lirc_pvr150/lirc_pvr150.c that call ivtv_reset_ir? It seems this has been killed off so we will have to do without it, I will look into the latest ivtv driver soon as I now have my spare PVR-150 (I just need to build a machine to put it in!)

  34. 234
    Patrick Says:

    Hi Mark,

    Yep that got me up and running.

    Now I’ve just got to solve the picture breakup in Mythtv.

  35. 235
    waldo Says:

    Tired of re-posting when captcha eats my comment.

    All is working again, needed to switch ivtv to newi2c=1 and to use lirc_i2c instead of lirc_pvr150 (i used to use pvr150)

  36. 236
    Simon Says:

    Has anyone got this working with Ubuntu Edgy?

    I keep running into problems when doing make install, similar to problems encountered by other posters above. However I can’t find how people fixed those problems.

    Thanks,

    Simon

  37. 237
    mark Says:

    patrick: cool!
    waldo: sorry about captcha, but I couldn’t deal with the volume of spam I was getting without it. Glad you’ve got it working in the end though.
    simon: you need to be more specific, what’s the exact error message you are encountering?

  38. 238
    Simon Says:

    Mark,

    Sorry, my info was a bit scant.

    Running Ubuntu Edgy with IVTV 0.7.4, which seems to be working fine in that I can watch output from the PVR-150 through Myth.

    I followed the instructions on the mythtv wiki to install lirc in Ubuntu Edgy to get the remote working.
    I then found your excellent instructions to install the blaster. I keep getting stuck at point 3, which then means that point 5 fails. Make seems to work, make install fails with output very similar to that posted by Adam on April 13th 2006.

    I’ve tried the original pre-patched lirc 0.8.1-CVS-pvr150 tarball, the for cecil version and the updated version you created for Adam and Dave.
    I’ve also tried uninstalling all the versions of lirc I can find on my machine and starting from scratch, but no joy.

    Any suggestions gratefully appreciated.

    Thanks,

    Simon

  39. 239
    mark Says:

    Simon, please try this one and see if it fixes your issue:

    lirc-0.8.2-CVS-pvr150.tar.bz2

    I have finally updated the codeset dump using the latest software on hauppauge’s site. There are now 654 codesets — which is an increase of just 20. Would those who asked for it please give it a try and let me know?

    Thanks,

    Mark

  40. 240
    mark Says:

    *cough*link*cough*

    Also the send_power new script has been updated:

    send_power_new

    And the codesets page:

    IRcodesets.html

  41. 241
    Kevin Gray Says:

    Mark,

    I tried installing MythDora (FC5), and it installed very simply and saved a lot of hassle; however, the one thing that doesn’t seem to work for me out of the box is the IR Blaster for my PVR-150.

    My first issue is that when I try to send with “irsend”, I get the following error:

    “irsend: hardware does not support sending”

    From your site, it appears this is due to the lirc_i2c module being installed, versus the lirc_pv150 being installed. When I successfully compile the pvr150 module though, when I modprobe it, I get the error that I’m installed two things with the same name (due to lirc_i2c being installed). In one of your comments to another user, I see that you mention that i2c has to be removed and pvr150 installed. I can’t see to find a way to do this cleanly.

    Could you point me in the right direction? Also, does removing the i2c module and inserting the pvr150 module require any changes to the ivtv module?

    Hope this question makes sense,
    kg

  42. 242
    mark Says:

    Just uninstall the lirc package first. Something like:

    rpm -qa |grep lirc
    rpm -e lirc-package

    should do. wrt to ivtv, any version >= 0.4.2 should work.

  43. 243
    Don Says:

    Mark,

    Looks like your permissions are wrong on the firmware files. I can read download them.

  44. 244
    mark Says:

    You were spot on — I have now fixed this. Sorry for the mistake!

  45. 245
    Mickey Says:

    hi mark and others

    I had a lot of problems with my PVR150 and lirc, but after reading hundreds of sites and comments I was somehow able to made lirc recognize my remote. I used lirc from cvs and ivtv 0.10.1 with newi2c=1.

    and that was working for a few days. today I made a mistake to recompile my kernel. that cleaned the /lib/modules/2.6.20.1 and deleted ivtv and lirc_* modules. I thought that is not such a big deal and I recompiled my lirc and ivtv modules. But now the remote is again not being recognized, and I have the same situation like a few days before.

    I tried you modules, but nothing changed:
    lirc_dev: IR Remote Control driver registered, at major 61
    lirc_pvr150: probe 0x70 @ ivtv i2c driver #0: no
    lirc_pvr150: probe 0x71 @ ivtv i2c driver #0: no
    lirc_pvr150: ivtv i2c driver #0: no devices found

    I checked my yesterday’s syslog and found this:
    lirc_i2c: no version for “lirc_unregister_plugin” found: kernel tainted.
    lirc_i2c: chip found @ 0x71 (Hauppauge IR (PVR150))

    How can this happen? Any ideas or suggestions? I never had such a stupid problem in all these years.

    I am able to watch TV with pvr150 but there is no remote. I tried newi2c=0 and =1 without success.

    Is it somehow possible to tell lirc_i2c that PVR150 is on “0x71″ and that is should not try to recognize it? Or something else?

    Thanks.

  46. 246
    mark Says:

    Try something like ivtvctl –reset-ir && rmmod lirc_pvr150 && modprobe lirc_pvr150

  47. 247
    Mickey Says:

    No changes. And –reset-ir gives this error:

    ioctl VIDIOC_INT_RESET failed: Invalid argument

    dmesg after loading ivtv and lirc_pvr150:
    ivtv: ==================== START INIT IVTV ====================
    ivtv: version 0.10.1 (tagged release) loading
    ivtv: Linux version: 2.6.20.1 SMP mod_unload K8
    ivtv: In case of problems please include the debug info between
    ivtv: the START INIT IVTV and END INIT IVTV lines, along with
    ivtv: any module options, when mailing the ivtv-users mailinglist.
    ivtv0: Autodetected Hauppauge card (cx23416 based)
    ACPI: PCI Interrupt 0000:03:07.0[A] -> Link [APC2] -> GSI 17 (level, low) -> IRQ 22
    ivtv0: loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
    ivtv0: Encoder revision: 0x02060039
    tveeprom 5-0050: Hauppauge model 26134, rev F1B3, serial# 10233063
    tveeprom 5-0050: tuner model is TCL M2523_3DB_E (idx 113, type 55)
    tveeprom 5-0050: TV standards PAL(B/G) PAL(D/D1/K) (eeprom 0x44)
    tveeprom 5-0050: audio processor is CX25842 (idx 36)
    tveeprom 5-0050: decoder processor is CX25842 (idx 29)
    tveeprom 5-0050: has no radio, has IR receiver, has IR transmitter
    ivtv0: Autodetected Hauppauge WinTV PVR-150
    tuner 5-0061: chip found @ 0xc2 (ivtv i2c driver #0)
    cx25840 5-0044: cx25842-23 found @ 0x88 (ivtv i2c driver #0)
    cx25840 5-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
    wm8775 5-001b: chip found @ 0x36 (ivtv i2c driver #0)
    ivtv0: Registered device video0 for encoder MPEG (4 MB)
    ivtv0: Registered device video32 for encoder YUV (2 MB)
    ivtv0: Registered device vbi0 for encoder VBI (1 MB)
    ivtv0: Registered device video24 for encoder PCM audio (1 MB)
    tuner 5-0061: type set to 55 (TCL 2002MB)
    ivtv0: Initialized Hauppauge WinTV PVR-150, card #0
    ivtv: ==================== END INIT IVTV ====================
    lirc_dev: IR Remote Control driver registered, at major 61
    lirc_pvr150: probe 0x70 @ ivtv i2c driver #0: no
    lirc_pvr150: probe 0x71 @ ivtv i2c driver #0: no
    lirc_pvr150: ivtv i2c driver #0: no devices found
    lirc_pvr150: ivtv i2c driver #0: no devices found
    lirc_pvr150: ivtv i2c driver #0: no devices found

    I was really loving it for a last few days, but I almost hate it at the moment.

    Is this lirc or ivtv problem?

  48. 248
    mark Says:

    –reset-ir should work, try asking ivtv-devel and see if Hans can help you out.

    It is basically an i2c issue, either lirc_i2c or lirc_pvr150 will work, but only if they can talk to the hardware. The IR chip on the PVR-150 is very sensitive to timing issues, and once it has crashed you can either reset it (if –reset-ir works), or you can power off the machine, disconnect the power cord, wait for a minute or so, then power it up again.

    Please try either/both of the above and get back to me; if you are still having trouble and are willing I will have a poke via SSH (won’t be until later this week though, I have a lot of work on up to about Thursday).

    HTH,

    Mark

  49. 249
    Mickey Says:

    I send the question to ivtv-devel and I will report back if I get some new ideas.

    cold reboot didn’t work, but I will try to change the PCI slot with my sound card. I will test it today in the evening. I will try –reset-ir once more after moving to another PCI slot.

    I was using ivtv-0.10.1 (and lirc-cvs) because I got some compile errors with ivtv-cvs (missing v4l2…. files, it looked like dvb support. i will check/try it one more time).

    thanks a lot

    M.

  50. 250
    Mickey Says:

    I tried cold reboot once more, but without succes. Still the same.
    —————-
    lirc_dev: IR Remote Control driver registered, at major 61
    cx2388x v4l2 driver version 0.0.6 loaded
    lirc_i2c: probe 0x1a @ ivtv i2c driver #0: no
    lirc_i2c: probe 0x18 @ ivtv i2c driver #0: no
    lirc_i2c: probe 0x71 @ ivtv i2c driver #0: no
    lirc_i2c: probe 0x4b @ ivtv i2c driver #0: no
    lirc_i2c: probe 0x64 @ ivtv i2c driver #0: no
    lirc_i2c: probe 0x30 @ ivtv i2c driver #0: no
    lirc_i2c: probe 0x6b @ ivtv i2c driver #0: no
    —————-

    also no success with your lirc_pvr150. I would be ready to give you root password for SSH, if you think that you can do something to repair this. I am thinking about giving back this card or I will maybe try to replace it.

    Ideas?

    Thanks a lot one more time.

Pages: « 1 2 3 4 [5] 6 7 8 » Show All

Leave a Reply


1 + two =