Oliver Endriss wrote: > Andrew de Quincey wrote: > > On Thursday 10 Nov 2005 13:00, Andrew de Quincey wrote: > > > On Wednesday 09 Nov 2005 01:34, Oliver Endriss wrote: > > > > Andrew de Quincey wrote: > > > > > On Tuesday 08 Nov 2005 20:35, Oliver Endriss wrote: > > > > > > Imho the dish support in stv0299.c should be replaced by a generic > > > > > > implementation in dvb_frontend.c which can be used by all frontends. > > > > > > It should be easy to replace the stv0299-specific set_voltage stuff > > > > > > by fe->ops->set_voltage() calls. > > > > > > > > > > I seem to remember asking the original author about that when he added > > > > > it. He said the problem was that it is really timing specific - he had > > > > > to specifically optimise the stv0299 code so that it met the > > > > > requirements. I don't have any dish networks hardware myself so I can't > > > > > confirm or deny this. > > > > > > > > Neither do I. > > > > > > I had a quick look over that code. Basically it transmits a 9 bit command > > > byte using 13v/18v levels to represent 0/1. I didn't see any reason why it > > > wouldn't be possible to move the signalling algorithm itself into the > > > dvb_frontend core code, where it would just call the appropriate frontend > > > set_voltage methods. Of course, timing is very important using such a > > > simple method - so we'll have to see. > > > > > > If I have a go at developing that, would someone with suitable dish > > > networks equipment be able to test a couple of patches? > > > > I'm talking absolute rubbish. I didn't spot the generic implementation of the > > dish networks protocol which is already present in dvb_frontend.c, sorry. > > When I wrote the first message I didn't spot it either. ;-) > > Then I found the generic code and suggested that Jeremy should try > > | case 0x000E: /* Hauppauge/TT Nexus-S rev 2.3 */ > | /* ALPS BSBE1 */ > | av7110->fe = stv0299_attach(&alps_bsbe1_config, &av7110->i2c_adap); > | if (av7110->fe) { > | av7110->fe->ops->set_voltage = lnbp21_set_voltage; > | av7110->fe->ops->dishnetwork_send_legacy_command = NULL; > | } > | break; > > which will enable the generic code. > I'll commit it if someone has confirmed that it is working. Done. Jeremy confirmed that it works. @all: If you override fe->ops->set_voltage() in the card driver you should also override fe->ops->dishnetwork_send_legacy_command(). Otherwise dishnetwork support will fail if the frontend driver implements its own dishnetwork routine (as the stv0299 driver does). Oliver -- -------------------------------------------------------- VDR Remote Plugin available at http://www.escape-edv.de/endriss/vdr/ --------------------------------------------------------