Author: pebender
Date: Sat Jan 10 12:48:59 2009
New Revision: 4211

Added:
     
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.sh/init.d/firmware
    
(contents, props changed)
     
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/firmware.pm
     
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/rules.d/05-minimyth-detect-tuner.rules.disabled
     
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/rules.d/06-minimyth-firmware.rules.disabled
       - copied unchanged from r4203,  
/trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/rules.d/03-minimyth-firmware.rules.disabled
     
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/rules.d/07-minimyth-mythtv.rules
       - copied unchanged from r4197,  
/trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/rules.d/06-minimyth-mythtv.rules
Removed:
     
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/rules.d/03-minimyth-firmware.rules.disabled
     
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/rules.d/06-minimyth-mythtv.rules
Modified:
    trunk/gar-minimyth/html/minimyth/conf/minimyth.conf
    trunk/gar-minimyth/html/minimyth/document-changelog.txt
    trunk/gar-minimyth/html/minimyth/document-history.html
    trunk/gar-minimyth/html/minimyth/document-minimyth_conf.html
    trunk/gar-minimyth/html/minimyth/index.html
     
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.sh/init.d/conf.d/MM_BACKEND
     
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.sh/rc
     
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf.pm
     
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf/MM_BACKEND.pm
     
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/rc.pl
    trunk/gar-minimyth/script/perl/perl-MiniMyth/checksums
    trunk/gar-minimyth/script/perl/perl-MiniMyth/files/MiniMyth.pm

Log:
- Added required firmware file detection and fetching.
- Added MM_BACKEND_TUNER_FIRMWARE_FILE_LIST.



Modified: trunk/gar-minimyth/html/minimyth/conf/minimyth.conf
==============================================================================
--- trunk/gar-minimyth/html/minimyth/conf/minimyth.conf (original)
+++ trunk/gar-minimyth/html/minimyth/conf/minimyth.conf Sat Jan 10 12:48:59  
2009
@@ -299,6 +299,13 @@
   
################################################################################

   
################################################################################
+# Slave backend configuration variables.
+#
+# MM_BACKEND_ENABLED
+# MM_BACKEND_TUNER_FIRMWARE_FILE_LIST
+################################################################################
+
+################################################################################
  # MiniMyth Myth frontend configuration variables.
  #
  # MM_MYTHDB_JUMPPOINTS_{key}

Modified: trunk/gar-minimyth/html/minimyth/document-changelog.txt
==============================================================================
--- trunk/gar-minimyth/html/minimyth/document-changelog.txt     (original)
+++ trunk/gar-minimyth/html/minimyth/document-changelog.txt     Sat Jan 10  
12:48:59 2009
@@ -14,7 +14,7 @@

  Added PVR-250 card support
      - Enabled IVTV support in MythTV backend.
-    - Added IVTV kernel drivers (minimyth.pm required to fetch firmware).
+    - Added IVTV kernel drivers.
      - Added lircd.conf files for the Hauppauge R808 and Hauppauge A415  
remotes
        using the PVR-250 card receiver.
      - Added autoconfiguration of the PVR-250 IR receiver.
@@ -23,7 +23,7 @@
      - Enabled IVTV support in MythTV backend.

  Modified kernel
-    - Added IVTV kernel drivers (minimyth.pm required to fetch firmware).
+    - Added IVTV kernel drivers.

  Modified mediaplayers
      - Patched MPlayer SVN with the VDPAU 'line 704 hack' patch.
@@ -36,6 +36,13 @@
      - Added detection of i2c lirc devices.
      - Added support for loading firmware (as long as it is present in
        '/lib/firmware').
+    - Added support for detecting and fetching required tuner firmware  
files.
+    - Added MM_BACKEND_TUNER_FIRMWARE_FILE_LIST.
+
+Modified udev
+    - Renamed 06-minimyth-mythtv.rules to 07-minimyth-mythtv.rules.
+    - Added 05-minimyth-detect-tuner.rules for detecting tuner cards.
+    - Added 06-minimyth-firmware.rules for loading firmware.

  Fixed bugs
      - Fixed a bug that caused there to be no PCI devices in  
/dev/persistent.

Modified: trunk/gar-minimyth/html/minimyth/document-history.html
==============================================================================
--- trunk/gar-minimyth/html/minimyth/document-history.html      (original)
+++ trunk/gar-minimyth/html/minimyth/document-history.html      Sat Jan 10  
12:48:59 2009
@@ -75,10 +75,12 @@
              <a href="http://minimyth.org/";>minimyth.org</a>.
            </p>
            <p>
-            Since its initial creation, MiniMyth evolved to include  
support for additional MythTV plugins,
-            <a href="document-boot.html">boot methods</a>.
+            Since its initial creation, MiniMyth evolved to include  
support for
+            MythTV slave backend capability,
+            additional MythTV plugins,
+            additional <a href="document-boot.html">boot methods</a>.
              and
-            <a href="document-hardware.html">computer hardware</a>
+            additional <a href="document-hardware.html">computer  
hardware</a>
              However, in this evolution it has tried to stay true to  
Larry's original vision of
              a small Linux distribution for turning a diskless computer  
into a MythTV frontend.
            </p>
@@ -97,7 +99,7 @@
                alt="Valid CSS!"      height="31" width="88" /></a>
          </div>
          <div class="version">
-          Last Updated on 2008-09-19
+          Last Updated on 2009-01-10
            <br />
             
&lt;&nbsp;mailto&nbsp;:&nbsp;webmaster&nbsp;at&nbsp;minimyth&nbsp;dot&nbsp;org&nbsp;&gt;
          </div>

Modified: trunk/gar-minimyth/html/minimyth/document-minimyth_conf.html
==============================================================================
--- trunk/gar-minimyth/html/minimyth/document-minimyth_conf.html        
(original)
+++ trunk/gar-minimyth/html/minimyth/document-minimyth_conf.html        Sat Jan 
10  
12:48:59 2009
@@ -52,6 +52,7 @@
              <li><a href="#MM_EXTERNAL">Configuration variables for:  
external equipment control</a></li>
              <li><a href="#MM_SSH_SERVER">Configuration variables for: SSH  
server</a></li>
              <li><a href="#MM_CRON">Configuration variables for:  
cron</a></li>
+            <li><a href="#MM_BACKEND">Configuration variables for: Myth  
slave backend</a></li>
              <li><a href="#MM_MYTHDB">Configuration variables for: Myth  
frontend</a></li>
            </ul>
          </div>
@@ -2789,7 +2790,7 @@
              <dt id="MM_CRON-overview"><strong>Overview</strong></dt>
              <dd>
                <p>
-                External equipment control related configuration variables.
+                Cron related configuration variables.
                </p>
              </dd>
              <dt  
id="MM_CRON_FETCH_CRONTAB"><strong>MM_CRON_FETCH_CRONTAB</strong></dt>
@@ -2801,6 +2802,70 @@
              </dd>
            </dl>
          </div>
+        <div id="MM_BACKEND" class="section">
+          <div class="heading">Configuration variables for: Myth slave  
backend</div>
+          <ul>
+            <li><a href="#MM_BACKEND-overview">Overview</a></li>
+          </ul>
+          <ul>
+            <li><a href="#MM_BACKEND_ENABLED">MM_BACKEND_ENABLED</a></li>
+          </ul>
+          <ul>
+            <li><a  
href="#MM_BACKEND_TUNER_FIRMWARE_FILE_LIST">MM_BACKEND_TUNER_FIRMWARE_FILE_LIST</a></li>
+          </ul>
+          <dl>
+            <dt id="MM_BACKEND-overview"><strong>Overview</strong></dt>
+            <dd>
+              <p>
+                Myth slave backend related configuration variables.
+              </p>
+              <p>
+                MiniMyth can run a
+                <a  
href="http://www.mythtv.org/docs/mythtv-HOWTO.html#toc9.3";>Myth slave  
backend</a>.
+              </p>
+              <p>
+                MiniMyth has support for a limited number of tuner cards  
for use with the Myth slave backend.
+                This support includes kernel modules, kernel module  
loading, firmware file detection and firmware file loading.
+                However, MiniMyth does not include firmware files.
+                Rather, the firmware files are fetched from the MiniMyth  
read-only configuration directory.
+              </p>
+              <p>
+                If you have a tuner card that requires a kernel modules  
not included and you would like it added, then
+                <a href="http://minimyth.org/forum/";>let us know</a>.
+                Also, if you have tuner card that requires loading one or  
more firmware files and
+                MiniMyth does not detect the requirement, then
+                <a href="http://minimyth.org/forum/";>let us know</a>.
+              </p>
+            </dd>
+            <dt  
id="MM_BACKEND_ENABLED"><strong>MM_BACKEND_ENABLED</strong></dt>
+            <dd>
+              <p>
+                Indicate whether or not to enable the slave backend  
functionality.
+                Valid values are 'yes', 'no' and 'auto', with 'auto' the  
default.
+              </p>
+              <p>
+                If the value is 'auto', then MiniMyth will decide the  
value based on whether or not a tuner is present.
+                If a tuner is present, then the value will be 'yes'.
+                Otherwise, the value will be 'no'.
+              </p>
+            </dd>
+            <dt  
id="MM_BACKEND_TUNER_FIRMWARE_FILE_LIST"><strong>MM_BACKEND_TUNER_FIRMWARE_FILE_LIST</strong></dt>
+            <dd>
+              <p>
+                A list of tuner firmware files to add.
+                These tuner firmware files will be fetched from the  
frontend's MiniMyth read-only configuration directory.
+                Valid values are 'auto', 'none' or a space separated list  
of file names, with 'auto' being the default.
+              </p>
+              <p>
+                If the value is 'auto', then MiniMyth will decide the  
tuner firmware files based on the tuners present.
+                MiniMyth autodects the following firmware:
+              </p>
+              <ul>
+                <li><a  
href="http://www.ivtvdriver.org/index.php/Download#Firmware";>v4l-cx2341x-enc.fw</a></li>
+              </ul>
+            </dd>
+          </dl>
+        </div>
          <div id="MM_MYTHDB" class="section">
            <div class="heading">Configuration variables for: Myth  
frontend</div>
            <ul>
@@ -2885,7 +2950,7 @@
                alt="Valid CSS!"      height="31" width="88" /></a>
          </div>
          <div class="version">
-          Last Updated on 2009-01-08
+          Last Updated on 2009-01-10
            <br />
             
&lt;&nbsp;mailto&nbsp;:&nbsp;webmaster&nbsp;at&nbsp;minimyth&nbsp;dot&nbsp;org&nbsp;&gt;
          </div>

Modified: trunk/gar-minimyth/html/minimyth/index.html
==============================================================================
--- trunk/gar-minimyth/html/minimyth/index.html (original)
+++ trunk/gar-minimyth/html/minimyth/index.html Sat Jan 10 12:48:59 2009
@@ -31,7 +31,7 @@
              <a href="http://kernel.org";>Linux</a>
              distribution that turns a diskless computer into a
              <a href="http://www.mythtv.org/";>MythTV</a>
-            frontend.
+            frontend and slave backend.
            </p>
            <p>
              The latest version of MiniMyth contains:
@@ -164,6 +164,10 @@
              <a href="document-hardware.html">MiniMyth hardware  
requirements</a>.
            </p>
            <p>
+            Originally, MiniMyth was developed to be a MythTV frontend.
+            However, it has evolved to include MythTV slave backend  
functionality as well.
+          </p>
+          <p>
              To download MiniMyth, go to the
              <a href="download.html">MiniMyth download page</a>.
            </p>
@@ -197,7 +201,7 @@
                alt="Valid CSS!"      height="31" width="88" /></a>
          </div>
          <div class="version">
-          Last Updated on 2009-01-03
+          Last Updated on 2009-01-10
            <br />
             
&lt;&nbsp;mailto&nbsp;:&nbsp;webmaster&nbsp;at&nbsp;minimyth&nbsp;dot&nbsp;org&nbsp;&gt;
          </div>

Modified:  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.sh/init.d/conf.d/MM_BACKEND
==============================================================================
---  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.sh/init.d/conf.d/MM_BACKEND
         
(original)
+++  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.sh/init.d/conf.d/MM_BACKEND
         
Sat Jan 10 12:48:59 2009
@@ -23,10 +23,15 @@

      local device
      local device_list
+    local firmware_item
+    local firmware_list

      if /usr/bin/test -z "${MM_BACKEND_ENABLED}" ; then
          MM_BACKEND_ENABLED='auto'
      fi
+    if /usr/bin/test -z "${MM_BACKEND_TUNER_FIRMWARE_FILE_LIST}" ; then
+        MM_BACKEND_TUNER_FIRMWARE_FILE_LIST='auto'
+    fi

      if /usr/bin/test "${MM_BACKEND_ENABLED}" = "auto" ; then
          MM_BACKEND_ENABLED='no'
@@ -38,17 +43,50 @@
          done
      fi

+    if /usr/bin/test "${MM_BACKEND_TUNER_FIRMWARE_FILE_LIST}" = "auto" ;  
then
+        firmware_list=
+        for device in `mm_detect_state_get 'tuner'` ; do
+            firmware_item=`/bin/echo "${device}" | /usr/bin/cut -d ',' -f  
3 | /bin/sed -e 's%:% %g'`
+            firmware_list="${firmware_list} ${firmware_item}"
+        done
+        if /usr/bin/test -n "${firmware_list}" ; then
+            firmware_list=`/bin/echo ${firmware_list} | mm_uniq`
+        fi
+        MM_BACKEND_TUNER_FIRMWARE_FILE_LIST="${firmware_list}"
+    fi
+
+    if /usr/bin/test "${MM_BACKEND_TUNER_FIRMWARE_FILE_LIST}" = "none" ;  
then
+        MM_BACKEND_TUNER_FIRMWARE_FILE_LIST = ''
+    fi
+
      return 0
  }

  conf_write_MM_BACKEND() {
      local conf_file=$1

-    conf_variable_write "${conf_file}"  
MM_BACKEND_ENABLED "${MM_BACKEND_ENABLED}"
+    conf_variable_write "${conf_file}"  
MM_BACKEND_ENABLED                  "${MM_BACKEND_ENABLED}"
+    conf_variable_write "${conf_file}"  
MM_BACKEND_TUNER_FIRMWARE_FILE_LIST "${MM_BACKEND_TUNER_FIRMWARE_FILE_LIST}"

      return 0
  }

  conf_fetch_MM_BACKEND() {
+    local name_remote
+    local name_local
+
+    if /usr/bin/test -n "${MM_BACKEND_TUNER_FIRMWARE_FILE_LIST}" ; then
+        /bin/mkdir -p /lib/firmware
+        for name_remote in ${MM_BACKEND_TUNER_FIRMWARE_FILE_LIST} ; do
+            name_local=`/usr/bin/basename ${name_remote}`
+            name_local="/lib/firmware/${name_local}"
+            /bin/rm -f ${name_local}
+            mm_confro_get ${name_remote} ${name_local}
+            if /usr/bin/test ! -e ${name_local} ; then
+                mm_message_output err "error: failed to  
fetch '${name_remote}' file."
+            fi
+        done
+    fi
+
      return 0
  }

Added:  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.sh/init.d/firmware
==============================================================================
--- (empty file)
+++  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.sh/init.d/firmware
  
Sat Jan 10 12:48:59 2009
@@ -0,0 +1,33 @@
+#!/bin/sh
+################################################################################
+# firmware
+################################################################################
+. /etc/rc.d.sh/functions
+
+start() {
+
+    if /usr/bin/test -e '/lib/firmware' ; then
+        mm_message_output info "loading kernel module firmware ..."
+
+        # Enable firmware loading udev rules.
+        /bin/mv -f /lib/udev/rules.d/06-minimyth-firmware.rules.disabled  
/lib/udev/rules.d/06-minimyth-firmware.rules
+
+        # Trigger udev with the additional udev rules that handle firmware  
loading.
+        /sbin/udevadm trigger
+        /sbin/udevadm settle --timeout=60
+    fi
+
+    return 0
+}
+
+stop() {
+
+    return 0
+}
+
+case $1 in
+    start) start ;;
+    stop)  stop  ;;
+esac
+
+exit 0

Modified:  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.sh/rc
==============================================================================
---  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.sh/rc      
 
(original)
+++  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d.sh/rc      
 
Sat Jan 10 12:48:59 2009
@@ -11,6 +11,7 @@
      modules_automatic \
      conf \
      modules_manual \
+    firmware \
      log"
  script_list_kill_halt="\
      shutdown \

Modified:  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf.pm
==============================================================================
---  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf.pm
        
(original)
+++  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf.pm
        
Sat Jan 10 12:48:59 2009
@@ -120,17 +120,17 @@
          }
      }

-    # Enable disabled udev rules.
+    # Enable configuration auto-detection udev rules.
      if (opendir(DIR, '/lib/udev/rules.d'))
      {
-        foreach (grep(s/^([0-9][0-9]-minimyth-.*\.rules)\.disabled$/$1/,  
(readdir(DIR))))
+        foreach (grep(s/^(05-minimyth-.*\.rules)\.disabled$/$1/,  
(readdir(DIR))))
          {
               
rename("/lib/udev/rules.d/$_.disabled", "/lib/udev/rules.d/$_");
          }
          closedir(DIR);
      }

-    # Trigger udev with the additional udev rules.
+    # Trigger udev with the additional udev rules that handle  
configuration auto-detection.
      system(qq(/sbin/udevadm trigger));
      system(qq(/sbin/udevadm settle --timeout=60));


Modified:  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf/MM_BACKEND.pm
==============================================================================
---  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf/MM_BACKEND.pm
     
(original)
+++  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/conf/MM_BACKEND.pm
     
Sat Jan 10 12:48:59 2009
@@ -35,4 +35,52 @@
      }
  };

+$var_list{'MM_BACKEND_TUNER_FIRMWARE_FILE_LIST'} =
+{
+    value_default => 'auto',
+    value_valid   => 'auto|none|.*',
+    value_auto    => sub
+    {
+        my $minimyth = shift;
+        my $name     = shift;
+
+        my @value_auto = ();
+
+        my @tuners = @{$minimyth->detect_state_get('tuner')};
+        foreach my $tuner (@tuners)
+        {
+            push(@value_auto, split(/:/, $tuner->{firmware}));
+        }
+
+        # Remove any dumplicates.
+        {
+            my $prev = '';
+            @value_auto = grep($_ ne $prev && (($prev) = $_),  
sort(@value_auto));
+        }
+
+        return join(' ', @value_auto);
+    },
+    value_none    => '',
+    value_file    => '.+',
+    file          => sub
+    {
+        my $minimyth = shift;
+        my $name     = shift;
+
+        my @file = ();
+
+        foreach (split(/ /, $minimyth->var_get($name)))
+        {
+            my $item;
+            $item->{'name_remote'} = "$_";
+            $item->{'name_local'}  = '/lib/firmware/' .  
File::Basename::basename($_);
+            $item->{'mode_local'}  = '0644';
+
+            push(@file, $item);
+        }
+
+        return \...@file;
+    }
+};
+
  1;

Added:  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/firmware.pm
==============================================================================
--- (empty file)
+++  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/init/firmware.pm
    
Sat Jan 10 12:48:59 2009
@@ -0,0 +1,40 @@
+#!/usr/bin/perl
+################################################################################
+# firmware
+################################################################################
+package init::firmware;
+
+use strict;
+use warnings;
+
+use MiniMyth ();
+
+sub start
+{
+    my $self     = shift;
+    my $minimyth = shift;
+
+    if (-e q(/lib/firmware))
+    {
+        $minimyth->message_output('info', "loading kernel module  
firmware ...");
+
+        # Enable firmware loading udev rules.
+         
rename('/lib/udev/rules.d/06-minimyth-firmware.rules.disabled', 
'/lib/udev/rules.d/06-minimyth-firmware.rules');
+
+        # Trigger udev with the additional udev rules that handle firmware  
loading.
+        system(qq(/sbin/udevadm trigger));
+        system(qq(/sbin/udevadm settle --timeout=60));
+    }
+
+    return 1;
+}
+
+sub stop
+{
+    my $self     = shift;
+    my $minimyth = shift;
+
+    return 1;
+}
+
+1;

Modified:  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/rc.pl
==============================================================================
---  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/rc.pl      
 
(original)
+++  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/etc/rc.d/rc.pl      
 
Sat Jan 10 12:48:59 2009
@@ -20,6 +20,7 @@
      'modules_automatic',
      'conf',
      'modules_manual',
+    'firmware',
      'log'
  );
  my @script_list_kill_halt =

Added:  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/rules.d/05-minimyth-detect-tuner.rules.disabled
==============================================================================
--- (empty file)
+++  
trunk/gar-minimyth/script/meta/minimyth/files/source/rootfs/lib/udev/rules.d/05-minimyth-detect-tuner.rules.disabled
     
Sat Jan 10 12:48:59 2009
@@ -0,0 +1,48 @@
+#-------------------------------------------------------------------------------
+# Detect tuner devices.
+#
+# mm_detect_state_tuner has the following format:
+#     <card>,<firmware>
+# where
+#     <card>:     The name of the tuner card.
+#     <firmware>: Colon separated list of required firmware files.
+# The state requires the tuner device name. However, since it is not yet
+# known, it cannot be added be included in mm_detect_state_tuner.  
Therefore, the
+# mm_detect script will prepend the tuner device name to the state.
+#-------------------------------------------------------------------------------
+ACTION!="add|change|remove", GOTO="end"
+SUBSYSTEM=="dvb", GOTO="begin"
+SUBSYSTEM=="video4linux", ATTR{name}=="ivtv? encoder MPG", GOTO="begin"
+GOTO="end"
+LABEL="begin"
+
+# Import mm_detect_id.
+IMPORT{program}="/lib/udev/mm_detect_id"
+
+ENV{mm_detect_state_tuner}="unknown,"
+
+ENV{mm_detect_id}!="pci:0400:00:4444:????:????:????", GOTO="end-4444"
+ENV{mm_detect_id}=="pci:0400:00:4444:0016:0070:0003",  
ENV{mm_detect_state_tuner}="hauppauge_pvr_250,v4l-cx2341x-enc.fw"
+ENV{mm_detect_id}=="pci:0400:00:4444:0016:0070:0009",  
ENV{mm_detect_state_tuner}="hauppauge_pvr_150,v4l-cx2341x-enc.fw"
+ENV{mm_detect_id}=="pci:0400:00:4444:0016:0070:0801",  
ENV{mm_detect_state_tuner}="hauppauge_pvr_150,v4l-cx2341x-enc.fw"
+ENV{mm_detect_id}=="pci:0400:00:4444:0016:0070:0807",  
ENV{mm_detect_state_tuner}="hauppauge_pvr_150,v4l-cx2341x-enc.fw"
+ENV{mm_detect_id}=="pci:0400:00:4444:0016:0070:4001",  
ENV{mm_detect_state_tuner}="hauppauge_pvr_250,v4l-cx2341x-enc.fw"
+ENV{mm_detect_id}=="pci:0400:00:4444:0016:0070:4009",  
ENV{mm_detect_state_tuner}="hauppauge_pvr_250,v4l-cx2341x-enc.fw"
+ENV{mm_detect_id}=="pci:0400:00:4444:0016:0070:4801",  
ENV{mm_detect_state_tuner}="hauppauge_pvr_250,v4l-cx2341x-enc.fw"
+ENV{mm_detect_id}=="pci:0400:00:4444:0016:0070:4803",  
ENV{mm_detect_state_tuner}="hauppauge_pvr_250,v4l-cx2341x-enc.fw"
+ENV{mm_detect_id}=="pci:0400:00:4444:0016:0070:8003",  
ENV{mm_detect_state_tuner}="hauppauge_pvr_150,v4l-cx2341x-enc.fw"
+ENV{mm_detect_id}=="pci:0400:00:4444:0016:0070:8801",  
ENV{mm_detect_state_tuner}="hauppauge_pvr_150,v4l-cx2341x-enc.fw"
+ENV{mm_detect_id}=="pci:0400:00:4444:0016:0070:c801",  
ENV{mm_detect_state_tuner}="hauppauge_pvr_150,v4l-cx2341x-enc.fw"
+ENV{mm_detect_id}=="pci:0400:00:4444:0016:0070:e807",  
ENV{mm_detect_state_tuner}="hauppauge_pvr_500,v4l-cx2341x-enc.fw"
+ENV{mm_detect_id}=="pci:0400:00:4444:0016:0070:e817",  
ENV{mm_detect_state_tuner}="hauppauge_pvr_500,v4l-cx2341x-enc.fw"
+ENV{mm_detect_id}=="pci:0400:00:4444:0016:0070:ff82",  
ENV{mm_detect_state_tuner}="hauppauge_pvr_550,v4l-cx2341x-enc.fw"
+ENV{mm_detect_id}=="pci:0400:00:4444:0016:0270:0801",  
ENV{mm_detect_state_tuner}="hauppauge_pvr_150,v4l-cx2341x-enc.fw"
+ENV{mm_detect_id}=="pci:0400:00:4444:0803:0070:4000",  
ENV{mm_detect_state_tuner}="hauppauge_pvr_350,v4l-cx2341x-enc.fw"
+ENV{mm_detect_id}=="pci:0400:00:4444:0803:0070:4001",  
ENV{mm_detect_state_tuner}="hauppauge_pvr_250,v4l-cx2341x-enc.fw"
+ENV{mm_detect_id}=="pci:0400:00:4444:0803:0070:4800",  
ENV{mm_detect_state_tuner}="hauppauge_pvr_350,v4l-cx2341x-enc.fw"
+LABEL="end-4444"
+
+# The state has been set, so save it.
+ENV{mm_detect_state_tuner}=="?*", RUN+="/lib/udev/mm_detect tuner %k  
$env{mm_detect_state_tuner} state_prepend_devname"
+
+LABEL="end"

Modified: trunk/gar-minimyth/script/perl/perl-MiniMyth/checksums
==============================================================================
--- trunk/gar-minimyth/script/perl/perl-MiniMyth/checksums      (original)
+++ trunk/gar-minimyth/script/perl/perl-MiniMyth/checksums      Sat Jan 10  
12:48:59 2009
@@ -1 +1 @@
-68490a5e32d96e6c071fac637438cef1  download/MiniMyth.pm
+c22e8de5d5e3ce52b62db9cc684741c8  download/MiniMyth.pm

Modified: trunk/gar-minimyth/script/perl/perl-MiniMyth/files/MiniMyth.pm
==============================================================================
--- trunk/gar-minimyth/script/perl/perl-MiniMyth/files/MiniMyth.pm       
(original)
+++ trunk/gar-minimyth/script/perl/perl-MiniMyth/files/MiniMyth.pm      Sat Jan 
 
10 12:48:59 2009
@@ -410,6 +410,7 @@
      $map{'event'}   = [ 'device' , 'type' ];
      $map{'lcdproc'} = [ 'device' , 'driver'];
      $map{'lirc'}    = [ 'device' , 'driver', 'lircd_conf' ];
+    $map{'tuner'}   = [ 'device' , 'name' , 'firmware' ];
      $map{'video'}   = [ 'driver' ];

      my @state;

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"minimyth-commits" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/minimyth-commits?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to