> Hello, linuxtv. > Technotrend budget tt s-1500 don't work if voltage=0 ? > ============================================================ > example 1 > 4 cards, 1 splitter, vlc, os slackware > 1 card set vlotage=13 result work > 2,3,4 set voltage=0 result don't work > if 1,2,3,4 cards set voltage=13 result don't work (vlc always restart after > 1-3 seconds and says that can't tune) > change 4 differents splitters same result > so it work's only if use splitter 1 out power pass > so i set on all cards voltage=13 and all cards work > ============================================================ > example 2 > 1 card set vlotage=18 result work > 2,3,4 set voltage=0 result don't work* > *BUT IF I SET 2,3,4 voltage=18 then stop vlc and then set 2,3,4 > voltage=0 result 2,3,4 begin to work > *WORK ONLY IF VOLTAGE=18 > ============================================================ > example 3 > also test on Technotrend Budget S-1401 > 1 card set vlotage=13 result work > 2,3,4 set voltage=0 result work > ============================================================ > i think that card Technotrend budget tt s-1500 don't switch on tuner > or something else if voltage=0. my kernel 2.6.21.1 i think the problem somewhere in stv0299.c ... static int stv0299_set_voltage (struct dvb_frontend* fe, fe_sec_voltage_t voltage) { struct stv0299_state* state = fe->demodulator_priv; u8 reg0x08; u8 reg0x0c; dprintk("%s: %s\n", __FUNCTION__, voltage == SEC_VOLTAGE_13 ? "SEC_VOLTAGE_13" : voltage == SEC_VOLTAGE_18 ? "SEC_VOLTAGE_18" : "??"); reg0x08 = stv0299_readreg (state, 0x08); reg0x0c = stv0299_readreg (state, 0x0c); /** * H/V switching over OP0, OP1 and OP2 are LNB power enable bits */ reg0x0c &= 0x0f; if (voltage == SEC_VOLTAGE_OFF) { stv0299_writeregI (state, 0x0c, 0x00); /* LNB power off! */ return stv0299_writeregI (state, 0x08, 0x00); /* LNB power off! */ } stv0299_writeregI (state, 0x08, (reg0x08 & 0x3f) | (state->config->lock_output << 6)); switch (voltage) { case SEC_VOLTAGE_13: if (state->config->volt13_op0_op1 == STV0299_VOLT13_OP0) reg0x0c |= 0x10; else reg0x0c |= 0x40; return stv0299_writeregI(state, 0x0c, reg0x0c); case SEC_VOLTAGE_18: return stv0299_writeregI(state, 0x0c, reg0x0c | 0x50); default: return -EINVAL; }; } static int stv0299_send_legacy_dish_cmd (struct dvb_frontend* fe, unsigned long cmd) ... for (i=0; i<9; i++) { if (debug_legacy_dish_switch) do_gettimeofday (&tv[i+1]); if((cmd & 0x01) != last) { /* set voltage to (last ? 13V : 18V) */ stv0299_writeregI (state, 0x0c, reg0x0c | (last ? lv_mask : 0x50)); last = (last) ? 0 : 1; } cmd = cmd >> 1; ... _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb