[mythtv] Assistance with code for Motorola 6200 series STB's

Jerry Rubinow jerrymr at gmail.com
Thu Nov 15 18:01:15 UTC 2007


On 11/15/07, Joe Borne <joe.borne at gmail.com> wrote:
> Hello all,
>
> In my quest to better stabilize the connection between Mythtv and my
> Motorola DCT 6416 III, I have gotten a new piece of code from the original
> author of the 6200ch code. This new code simply reboots the STB.
>
> However, I am having trouble getting it to work. It claims there is no box
> on the firewire port.
> I suspect that it may need code inserted to allow it to select the proper
> node/port.

Assuming the 6416 has the same power cycle control code as the 6200,
you want to copy this big "if" block from 6200ch.c:

      if ( ((dir.vendor_id == DCT3412_VENDOR_ID1) ||
            (dir.vendor_id == DCT5100_VENDOR_ID1) ||
            (dir.vendor_id == DCT6200_VENDOR_ID1) ||
            (dir.vendor_id == DCT6200_VENDOR_ID2) ||
            (dir.vendor_id == DCT6200_VENDOR_ID3) ||
            (dir.vendor_id == DCT6200_VENDOR_ID4) ||
            (dir.vendor_id == DCT6200_VENDOR_ID5) ||
            (dir.vendor_id == DCT6200_VENDOR_ID6) ||
            (dir.vendor_id == DCT6200_VENDOR_ID7) ||
            (dir.vendor_id == DCT6200_VENDOR_ID8) ||
            (dir.vendor_id == DCT6200_VENDOR_ID9) ||
            (dir.vendor_id == DCT6200_VENDOR_ID10) ||
            (dir.vendor_id == DCT6200_VENDOR_ID11) ||
            (dir.vendor_id == DCT6412_VENDOR_ID1) ||
            (dir.vendor_id == DCT6412_VENDOR_ID2) ||
            (dir.vendor_id == DCT6416_VENDOR_ID1) ||
            (dir.vendor_id == DCT6416_VENDOR_ID2)) &&
           ((dir.model_id == DCT3412_MODEL_ID1) ||
            (dir.model_id == DCT5100_MODEL_ID1) ||
            (dir.model_id == DCT6200_MODEL_ID1) ||
            (dir.model_id == DCT6200_MODEL_ID2) ||
            (dir.model_id == DCT6412_MODEL_ID1) ||
            (dir.model_id == DCT6412_MODEL_ID2) ||
            (dir.model_id == DCT6416_MODEL_ID1)) ) {
            if (dir.unit_spec_id != DCT6200_SPEC_ID)
               fprintf(stderr, "Warning: Unit Spec ID different.\n");
            if (dir.unit_sw_version != DCT6200_SW_VERSION)
               fprintf(stderr, "Warning: Unit Software Version different.\n");
            device = i;
            break;
      }
   }

And replace this "if" block in 6200pwr.c with it:

     if ( ((dir.vendor_id == DCT6200_VENDOR_ID1) ||
           (dir.vendor_id == DCT6200_VENDOR_ID2) ||
           (dir.vendor_id == DCT6200_VENDOR_ID3)) &&
          ((dir.model_id == DCT6200_MODEL_ID1) ||
           (dir.model_id == DCT6200_MODEL_ID2) ||
           (dir.model_id == DCT6200_MODEL_ID3)) ) {
           if (dir.unit_spec_id != DCT6200_SPEC_ID)
              fprintf(stderr, "Warning: Unit Spec ID different.\n");
           if (dir.unit_sw_version != DCT6200_SW_VERSION)
              fprintf(stderr, "Warning: Unit Software Version different.\n");
           device = i;
           break;
     }

This should get you further.  As it is, 6200pwr.c looks like it will
only recognize 6200 boxes.

-Jerry


More information about the mythtv-dev mailing list