How determine DVB-S2 card?
Ali H.M. Hoseini
alihmh at gmail.com
Tue Nov 20 12:34:29 CET 2012
Dear Jan-Benedict,
Could you kindly send your complete fe.c, or a patch of it against
getstream in git?
I tried to merge your code in fe.c, but I'm not a c programmer, and it
seems your code section is different from getstream in git.
Best regards.
Ali.
On Tue, Nov 20, 2012 at 2:19 PM, Jan-Benedict Glaw <jbglaw at lug-owl.de> wrote:
> 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 :
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iEYEARECAAYFAlCrYDEACgkQHb1edYOZ4btVawCfdTaKyRqj0S7EPcLNa/F+X18j
> AbUAniIZwUxhJidBYw6VaVDLTGrIMTeB
> =UkVI
> -----END PGP SIGNATURE-----
>
More information about the Getstream
mailing list