public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Michel Verbraak <michel@verbraak.org>
To: linux-dvb@linuxtv.org
Subject: [linux-dvb] How to find which command generates error in FE_SET_PROPERTY
Date: Sat, 08 Nov 2008 18:02:00 +0100	[thread overview]
Message-ID: <4915C608.9000709@verbraak.org> (raw)

I'm trying to modify one of my applications to use the new S2API. With 
this application I control my dvb-t and dvb-s/s2 receivers.

I'm using szap-s2 as an example but I run into a problem that the ioctl 
FE_SET_PROPERTY always returns -1 and variable errno is set to 14.

My question is. How do I determine which of the commands in the command 
queue given to FE_SET_PROPERTY is producing this error. I did not try 
yet to devide my command queue up into one command queue per command.

Regards,

Michel.

Part of source code for dvb-s/s2:

#ifdef S2API
int TDVBDevice::SetProperty(struct dtv_property *cmdseq)
{
  int err;

  err = ioctl(vfrontendfd, FE_SET_PROPERTY, cmdseq);

  if (err < 0)
  {
    syslog(LOG_ERR, "ioctl FE_SET_PROPERTY failed (errno=%d, 
%d).",errno, err);
    return -1;
  }

  syslog(LOG_INFO, "ioctl FE_SET_PROPERTY ok.");
  return 0;
}
#else
int TDVBDevice::SetFrontend(struct dvb_frontend_parameters *frontend)
{
  if (ioctl(vfrontendfd, FE_SET_FRONTEND, frontend) < 0)
  {
    syslog(LOG_ERR, "ioctl FE_SET_FRONTEND failed (errno=%d).",errno);
    return -1;
  }

  return 0;
}
#endif

//calling part
#ifdef S2API
    struct dtv_property p[DTV_IOCTL_MAX_MSGS];

    p[0].cmd = DTV_CLEAR;
    p[1].cmd = DTV_DELIVERY_SYSTEM; p[1].u.data = atoi(channel->Item(2));
    p[2].cmd = DTV_FREQUENCY;       p[2].u.data = (__u32)(ifreq * 1000);
    p[3].cmd = DTV_MODULATION;      p[3].u.data = QPSK;
    p[4].cmd = DTV_SYMBOL_RATE;     p[4].u.data = (__u32)(sr * 1000);
    p[5].cmd = DTV_INNER_FEC;       p[5].u.data = FEC_AUTO;
    p[6].cmd = DTV_INVERSION;       p[6].u.data = INVERSION_AUTO;
       //     { .cmd = DTV_ROLLOFF,           .u.data = rolloff },
    p[7].cmd = DTV_PILOT;           p[7].u.data = PILOT_AUTO;
    p[8].cmd = DTV_TUNE;

    struct dtv_properties cmdseq;

    cmdseq.num = 9;
    cmdseq.props = p;

#else 
    frontend.frequency = (unsigned int)(ifreq * 1000);
    frontend.inversion = INVERSION_AUTO;
    frontend.u.qpsk.symbol_rate = (unsigned int)(sr * 1000);
    frontend.u.qpsk.fec_inner = FEC_AUTO;
#endif

#ifdef S2API
      if (SetProperty(&p[0]) == 0)
#else
      if (SetFrontend(&frontend) == 0)
#endif



_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

             reply	other threads:[~2008-11-08 17:02 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-08 17:02 Michel Verbraak [this message]
2008-11-08 18:01 ` [linux-dvb] How to find which command generates error in FE_SET_PROPERTY Darron Broad
2008-11-08 18:23   ` Michel Verbraak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4915C608.9000709@verbraak.org \
    --to=michel@verbraak.org \
    --cc=linux-dvb@linuxtv.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox