diff --git a/ddbridge/ddbridge-sx8.c b/ddbridge/ddbridge-sx8.c index 15b53d1..cf91cbe 100644 --- a/ddbridge/ddbridge-sx8.c +++ b/ddbridge/ddbridge-sx8.c @@ -255,6 +255,10 @@ static int start(struct dvb_frontend *fe, u32 flags, u32 modmask, u32 ts_config) u32 bits_per_symbol = 0; int i = -1, stat = 0; struct ddb_link *link = state->mci.base->link; + const u8 ro_lut[8] = { + 8 | SX8_ROLLOFF_35, 8 | SX8_ROLLOFF_20, 8 | SX8_ROLLOFF_25, 0, + 8 | SX8_ROLLOFF_15, 8 | SX8_ROLLOFF_10, 8 | SX8_ROLLOFF_05, 0, + }; if (link->ids.device == 0x000b) { /* Mask out higher modulations and MIS for Basic @@ -359,6 +363,7 @@ unlock: cmd.command = MCI_CMD_SEARCH_DVBS; cmd.dvbs2_search.flags = flags; cmd.dvbs2_search.s2_modulation_mask = modmask; + cmd.dvbs2_search.rsvd1 = ro_lut[p->rolloff & 7]; cmd.dvbs2_search.retry = 2; cmd.dvbs2_search.frequency = p->frequency * 1000; cmd.dvbs2_search.symbol_rate = p->symbol_rate;