How determine DVB-S2 card?

Jan-Benedict Glaw jbglaw at lug-owl.de
Tue Nov 20 11:49:21 CET 2012


On Tue, 2012-11-20 12:37:17 +0330, Ali H.M. Hoseini <alihmh at gmail.com> wrote:
> Hi all,
> 
> I'm using getstream for more than 3 years, and it's a very stable,
> light and fast program.
> 
> Now I change my card to Tevii S464 S2 card, but when I use dvb-s2 {
> tag in my config file, getstream says the card is dvb-s and this
> option is not supported.
> I'm sure the card is S2, and I easily scan S2 frequencies with scan-s2.
> 
> How getstream determines a card is S or S2? and how could change
> this behavior.

That's probably a bug in fe_api5_checkcap(). I've fixed it locally,
not sure if that patch is already in Flo's repo.

Basically, you cannot only query an adaptor's delivery system (DVB-S
vs. DVB-S2) before requesting a specific mode.  That is because there
might be cards which can actually change their frontend (cut'n'pasted
from my fe.c):

#if (DVB_API_VERSION>=5)
static int fe_api5_checkcap(struct adapter_s *adapter) {
        struct dtv_properties cmds;
        struct dtv_property prop_set[2] = {
                { .cmd = DTV_CLEAR, },
                { .cmd = DTV_DELIVERY_SYSTEM, .u.data = adapter->type, },
        };
        struct dtv_property prop_get[1] = {
                { .cmd = DTV_DELIVERY_SYSTEM, .u.data = adapter->type, },
        };

        /* First try to set the adapter to the expected mode. Otherwise,
           some cards may claim to utilize a different delivery system...  */
        cmds.props = prop_set;
        cmds.num = ARRAY_SIZE(prop_set);
        if (ioctl(adapter->fe.fd, FE_SET_PROPERTY, &cmds) < 0) {
                logwrite(LOG_ERROR, "fe: ioctl FE_SET_PROPERTY failed (setting frontent type) - %s", strerror(errno));
        }

        /* Now request FE type.  */
        cmds.props = prop_get;
        cmds.num = ARRAY_SIZE(prop_get);
        if (ioctl(adapter->fe.fd, FE_GET_PROPERTY, &cmds)) {
                logwrite(LOG_DEBUG, "fe: ioctl(FE_GET_PROPERTY) failed - no API 5 support?");
                return 0;
        }
        logwrite(LOG_ERROR, "fe: Adapter %d is an adapter of type %d ", adapter->no, (int)prop_get[0].u.data);



Hth, JBG

-- 
      Jan-Benedict Glaw      jbglaw at lug-owl.de              +49-172-7608481
Signature of:               http://www.eyrie.org/~eagle/faqs/questions.html
the second  :
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://gt.owl.de/pipermail/getstream/attachments/20121120/6f7e477e/attachment.pgp>


More information about the Getstream mailing list