Log in
Register
Menu
Log in
Register
Home
What's new
Latest activity
Authors
Forums
New posts
Search forums
What's new
New posts
Latest activity
Members
Current visitors
New posts
Search forums
Menu
Log in
Register
Install the app
Install
Forums
Satellite TV receivers & systems support forums
Satellite PC Card Receivers, Internet by Satellite
Blindscan on linux with tbs cards
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="Bobben_no" data-source="post: 1152213" data-attributes="member: 339576"><p>This solved diseqc issues for my Si2183 based cards:</p><p></p><p>[CODE]static int si2183_diseqc_send_msg(struct dvb_frontend *fe,</p><p> struct dvb_diseqc_master_cmd *d)</p><p>{</p><p> struct i2c_client *client = fe->demodulator_priv;</p><p></p><p> int ret;</p><p> u8 remaining = d->msg_len;</p><p> u8 *p = d->msg;</p><p> u8 len = 0;</p><p> char msg[256];</p><p> char*ps = &msg[0];</p><p> int i;</p><p> ps += sprintf(ps, "Diseqc message[%d]: ", d->msg_len);</p><p> for(i=0; i< d->msg_len; ++i)</p><p> ps += sprintf(ps, "0x%x ", d->msg[i]);</p><p> vprintk("%s", msg);</p><p></p><p> while (remaining > 0) {</p><p> p += len;</p><p> len = (remaining > 6) ? 6 : remaining;</p><p> remaining -= len;</p><p> if(remaining!=0)</p><p> dprintk("REMAIN= %d/%d", remaining, d->msg_len);</p><p> msleep(100); //## added 24 September 2023 ##</p><p></p><p> ret = send_diseqc_cmd(fe, 0, 0, 0,</p><p> (remaining == 0) ? 1 : 0, len, p);</p><p> if (ret)</p><p> goto err;</p><p> msleep(10);</p><p> }</p><p></p><p> return 0;</p><p> err:</p><p> dev_err(&client->dev, "set_tone failed=%d", ret);</p><p> return ret;</p><p>}[/CODE]</p></blockquote><p></p>
[QUOTE="Bobben_no, post: 1152213, member: 339576"] This solved diseqc issues for my Si2183 based cards: [CODE]static int si2183_diseqc_send_msg(struct dvb_frontend *fe, struct dvb_diseqc_master_cmd *d) { struct i2c_client *client = fe->demodulator_priv; int ret; u8 remaining = d->msg_len; u8 *p = d->msg; u8 len = 0; char msg[256]; char*ps = &msg[0]; int i; ps += sprintf(ps, "Diseqc message[%d]: ", d->msg_len); for(i=0; i< d->msg_len; ++i) ps += sprintf(ps, "0x%x ", d->msg[i]); vprintk("%s", msg); while (remaining > 0) { p += len; len = (remaining > 6) ? 6 : remaining; remaining -= len; if(remaining!=0) dprintk("REMAIN= %d/%d", remaining, d->msg_len); msleep(100); //## added 24 September 2023 ## ret = send_diseqc_cmd(fe, 0, 0, 0, (remaining == 0) ? 1 : 0, len, p); if (ret) goto err; msleep(10); } return 0; err: dev_err(&client->dev, "set_tone failed=%d", ret); return ret; }[/CODE] [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
Satellite TV receivers & systems support forums
Satellite PC Card Receivers, Internet by Satellite
Blindscan on linux with tbs cards
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.
Accept
Learn more…
Top