Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: TT Premium-T 1.2 problems



On Wednesday 27 October 2004 23:55, Jason Flynn wrote:
> Hi all,
>   my first venture into Linux DVB ;)
> I have two cards, a budget and a premium.
> I have the budget working OK but the premium
> never seems to FE_LOCK :(
>
> Anyway, I did some digging and reading these
> registers from the sp8870 may help:
>
> Data Valid register returns 0x0010 after
> about 40 or 50uSec then the status just is :
>
> read 0x0200 (status) returns 0x0200
> read 0x0303 (signal) returns 0x0000
>
> Using lastest code from CVS + fw-16 etc..
> I've read previous posts about this board
> but cannot lay my hands on the manual for
> the sp8870 even using archive.org etc...
> If someone could mail it to me ;)
>
> Card works 100% under windoze.
>
> I'm grateful for any help, Jason
>
> Send instant messages to your online friends http://uk.messenger.yahoo.com

Hi,

this patch could help. Please apply it directly in the frontends directory. 
Maybe you have to rename the firmware file to "dvb-fe-tdlb7.fw" and switch 
off your computer completly once before the changes work.

Juergen

------------------------------------------------------------------------------

--- alps_tdlb7.c_org 2004-08-26 19:36:56.000000000 +0200
+++ alps_tdlb7.c 2004-10-20 11:17:48.000000000 +0200
@@ -24,7 +24,7 @@
  * "<kerneldir>/Documentation/dvb/get_dvb_firmware alps_tdlb7" to
  * download/extract it, and then copy it to /usr/lib/hotplug/firmware.
  */ 
-#define SP887X_DEFAULT_FIRMWARE "dvb-fe-tdlb7-2.16.fw"
+#define SP8870_DEFAULT_FIRMWARE "dvb-fe-tdlb7.fw"
 
 #include <linux/init.h>
 #include <linux/module.h>
@@ -580,19 +580,14 @@ static int tdlb7_ioctl (struct dvb_front
   return sp8870_sleep(i2c);
 
         case FE_INIT:
-  sp8870_wake_up(i2c);
-  if (fe->data == NULL) {  // first time initialisation...
-   fe->data = (void*) ~0;
-   sp8870_init (i2c);
-  }
-  break;
+  return sp8870_wake_up(i2c);
 
  case FE_GET_TUNE_SETTINGS:
  {
          struct dvb_frontend_tune_settings* fesettings = (struct 
dvb_frontend_tune_settings*) arg;
-         fesettings->min_delay_ms = 150;
-         fesettings->step_size = 166667;
-         fesettings->max_drift = 166667*2;
+         fesettings->min_delay_ms = 350;
+         fesettings->step_size = 0;
+         fesettings->max_drift = 0;
          return 0;
  }     
      
@@ -648,7 +643,7 @@ static int attach_adapter(struct i2c_ada
 
  /* request the firmware, this will block until someone uploads it */
  printk("tdlb7: waiting for firmware upload...\n");
- ret = request_firmware(&fw, SP887X_DEFAULT_FIRMWARE, &client->dev);
+ ret = request_firmware(&fw, SP8870_DEFAULT_FIRMWARE, &client->dev);
  if (ret) {
   printk("tdlb7: no firmware upload (timeout or file not found?)\n");
   goto out;
@@ -661,6 +656,8 @@ static int attach_adapter(struct i2c_ada
   goto out;
  }
 
+ sp8870_init (adapter);
+
  ret = dvb_register_frontend(tdlb7_ioctl, state->dvb, state,
      &tdlb7_info, THIS_MODULE);
  if (ret) {




Home | Main Index | Thread Index