diff -ru sc/contrib/sasc-ng/dvbloopback/module/config_dvb.pl sc-build/contrib/sasc-ng/dvbloopback/module/config_dvb.pl
--- sc/contrib/sasc-ng/dvbloopback/module/config_dvb.pl	2012-07-31 21:59:15.715706905 +0200
+++ sc-build/contrib/sasc-ng/dvbloopback/module/config_dvb.pl	2012-09-15 13:29:47.000000000 +0200
@@ -17,79 +17,12 @@
   $cmd = "cd config-dvb && make $vars" . ($debug ? "" : "2>/dev/null 1>/dev/null");
   print "$cmd\n" if($debug);
 
-  #test linux-version >= 2.6.22
   system("ln -sf chkdvb-2.6.v4l.c config-dvb/chkdvb.c");
-  if(system("$cmd") == 0) {
-    print "Found dvbdev.h from 2.6.22 or later\n";
+    print "Assuming kernel 2.6.22 or later\n";
     `echo "DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);" >> dvbdevwrap.h`; 
     `echo "#define wrap_dvb_reg_adapter(a, b, c) dvb_register_adapter(a, b, c, &dvblb_basedev->dev, adapter_nr)" >> dvbdevwrap.h`; 
     return 0;
-  }
-  
-  #test linux-version >= 2.6.18
-  system("ln -sf chkdvb-2.6.18.c config-dvb/chkdvb.c");
-  if(system("$cmd") == 0) {
-    print "Found dvbdev.h from 2.6.18 or later\n";
-    `echo "#define wrap_dvb_reg_adapter(a, b, c) dvb_register_adapter(a, b, c, &dvblb_basedev->dev)" >> dvbdevwrap.h`;
-    return 0;
-  }
-  
-  #test linux-version >= 2.6.14
-  system("ln -sf chkdvb-2.6.14.c config-dvb/chkdvb.c");
-  if(system("$cmd") == 0) {
-    print "Found dvbdev.h from 2.6.14 or later\n";
-    `echo "#define wrap_dvb_reg_adapter dvb_register_adapter" >> dvbdevwrap.h`;
-    return 0;
-  }
-
-  #test linux-version >= 2.6.5
-  system("ln -sf chkdvb-2.6.5.c config-dvb/chkdvb.c");
-  if(system("$cmd") == 0) {
-    print "Found dvbdev.h from 2.6.5 or later\n";
-    print "But this is an unsupported kernel!\n";
-    return 1;
-  }
 
-  #maybe kernel headers aren't available.  let's use canned dvbdev.h
-  #this is dangerous!
-  $uname = `uname -r`;
-  if($uname =~ /2\.6\.(\d\d)/ && $1 >= 22) {
-    system("ln -sf ../dvbdev-2.6.v4l.h config-dvb/dvbdev.h"); 
-    system("ln -sf chkdvb-2.6.v4l.c config-dvb/chkdvb.c"); 
-    if(system("$cmd") == 0) {
-      print "Found 2.6.22 or later kernel, but no dvbdev.h\n";
-      print "Using canned header\n";
-      `echo "DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);" >> dvbdevwrap.h`; 
-      `echo "#define wrap_dvb_reg_adapter(a, b, c) dvb_register_adapter(a, b, c, &dvblb_basedev->dev, adapter_nr)" >> dvbdevwrap.h`; 
-      system("ln -sf dvbdev-2.6.v4l.h dvbdev.h"); 
-      return 0;
-    }
-  }
-  elsif($uname =~ /2\.6\.2[01]/ ||
-        $uname =~ /2\.6\.1[89]/) {
-    system("ln -sf ../dvbdev-2.6.18.h config-dvb/dvbdev.h");
-    system("ln -sf chkdvb-2.6.18.c config-dvb/chkdvb.c");
-    if(system("$cmd") == 0) {
-      print "Found 2.6.18 or later kernel, but no dvbdev.h\n";
-      print "Using canned header\n";
-      `echo "#define wrap_dvb_reg_adapter(a, b, c) dvb_register_adapter(a, b, c, &dvblb_basedev->dev)" >> dvbdevwrap.h`;
-      system("ln -sf dvbdev-2.6.18.h dvbdev.h");
-      return 0;
-    }
-  }
-  elsif($uname =~ /2\.6\.1[4-7]/) {
-    system("ln -sf ../dvbdev-2.6.14.h config-dvb/dvbdev.h");
-    system("ln -sf chkdvb-2.6.14.c config-dvb/chkdvb.c");
-    if(system("$cmd") == 0) {
-      print "Found 2.6.14 or later kernel, but no dvbdev.h\n";
-      print "Using canned header\n";
-      `echo "#define wrap_dvb_reg_adapter dvb_register_adapter" >> dvbdevwrap.h`;
-      system("ln -sf dvbdev-2.6.14.h dvbdev.h");
-      return 0;
-    }
-  }
-  print "Could not identify kernel\n";
-  return 1;
 }
 
 exit(test_dvb_adapter(@ARGV));
--- sc/contrib/sasc-ng/configure.old	2013-01-04 16:08:36.000000000 +0100
+++ sc/contrib/sasc-ng/configure	2013-01-04 16:09:11.000000000 +0100
@@ -221,6 +221,9 @@
   elif test -e "${dvb_path}/linux/include/linux/dvb/frontend.h"; then
     echo "DVB_DIR=${dvb_path}/linux" >> config.mak
     echo "Using DVB_DIR: ${dvb_path}/linux"
+  elif test -e "${dvb_path}/include/uapi/linux/dvb/frontend.h"; then
+    echo "DVB_DIR=${dvb_path}" >> config.mak
+    echo "Using DVB_DIR: ${dvb_path}"
   else
     echo "Could not find DVB headers within $dvb_path"
   fi
