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. Best regards. A. HMH.
On Tue, Nov 20, 2012 at 12:37:17PM +0330, Ali H.M. Hoseini 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.
Which version of getstream and kernel are you using? The S2 API has changed multiple times and getstream tried to adapt but IIRC the latest S2 API is not supported although i know Jan Benedict has written stuff to get that working. I havent had Internet @home for the past Year and no Sat Feed @Work so have not done a lot for getstream. Flo -- Florian Lohoff f@zz.de
Hi Florian, I've used latest getstream from git, with kernel 3.6.5. Where should I change getstream to overcome this? By the way, getstream is a marvelous project. It would be nice if you can keep work on it. best regards. Ali HMH. On Tue, Nov 20, 2012 at 1:42 PM, Florian Lohoff <f@zz.de> wrote:
On Tue, Nov 20, 2012 at 12:37:17PM +0330, Ali H.M. Hoseini 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.
Which version of getstream and kernel are you using?
The S2 API has changed multiple times and getstream tried to adapt but IIRC the latest S2 API is not supported although i know Jan Benedict has written stuff to get that working.
I havent had Internet @home for the past Year and no Sat Feed @Work so have not done a lot for getstream.
Flo -- Florian Lohoff f@zz.de
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux)
iQIVAwUBUKtXq5DdQSDLCfIvAQhd6w//ZM0OD3nUMnM4Beu9nLM5BII6PJ9CMkNb kH/nmu1JVMutnUiZaRktAAa6SKGHX3XkktVo7h+CcEgUd5x5wtx2Dl+8jCHei0Qa HqIZAXNeY/31Ty8oVjcZgVkn6DvUuFKR+p8l6wltUptlKwiZZ+aIIu/SHBUWtBQA IwilhR89nSIwDcg4savKJtKlehxaGuAIJkZsI2kFTFLnu0jrPwVYIVho9raUS1CJ clCAZQNfkeMUfHce1Sg9PAs+1f+lSWIv7keFqO/8Ge7EJOTrnPSk90CTUulVqgvc e3Y6fyggTSs1lakL9/ZDc6b0vicsNE6whC0rSWLUvYqR/dc2eu/EyPr+s0j+9QhO F3QifXprUw03pfbCd7rzgtPEZSXoSsbxU0GuIxShrIGewNG2BNUTD7bkD3d1MvBS jKVbYusRWa2kCVB7zpexCTXu83Cgwsb/Xnkn54x8AZ5zBCcYIGwbk9iXG20icFlc VOBPyIWUeX8XZKVHUu/lUEkfUo1Bczo+RRCCJO96S90LWIV6SODXqa1Rh75z17u0 7Hd4e4HnDKVpEbXJX1xwnycGgORQ0UbLeXmho7OtG9oCZVo8vpJuCyo+8T+UMbay jDk0bdFh4emxLWyEVt6BvGR/Nuwe/pWi/Eb0cbA1w9JYEYVVtPEcaI1Q8cp9Y5Ar SXQ/U5z2wB0= =8CoF -----END PGP SIGNATURE-----
On Tue, 2012-11-20 12:37:17 +0330, Ali H.M. Hoseini <alihmh@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@lug-owl.de +49-172-7608481 Signature of: http://www.eyrie.org/~eagle/faqs/questions.html the second :
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@lug-owl.de> wrote:
On Tue, 2012-11-20 12:37:17 +0330, Ali H.M. Hoseini <alihmh@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@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-----
participants (3)
-
Ali H.M. Hoseini -
Florian Lohoff -
Jan-Benedict Glaw