On Saturday 13 March 2004 15:00, you wrote: > Andrew de Quincey wrote: > > OK, this is getting far too confusing. Need to summarise this: > > > > We're trying two types of DVB-S-fullfeatured cards: the 1.3 and the 1.6 > > > > The 1.3 works fine with the alps_bsrv2(101) driver > > The 1.3 fails with the ves1x93(110) (polarisation switching) > > The 1.3 fails with the ves1x93(cvs) (polarisation switching) > > > > I don't see how the 1.6 can be working with either as it is using a > > completely different frontend. > > > > Klaus, you reported that the 1.3 fails completely for you with > > ves1x93(cvs), and that the suggestion by Andreas doesn't help with the > > polarization problem. That sounds weird 'cos Helmut says ves1x93(cvs) > > only has the polarization problem, not that it fails totally. Can you try > > Oliver's suggestion of resetting everything and retry ves1x93(cvs)? > > > > Is the above correct? > > Not quite. > > When I use the driver from yesterday's CVS it works a bit, > but switching polarizations doesn't always work. > > With > > 0x80, 0x00, 0x31, 0xb0, 0x14, 0x00, 0xDC, 0x20, > > it is the same as before, and with > > 0x80, 0x00, 0x21, 0xb0, 0x14, 0x00, 0xDC, 0x00,
OK, in that case it shouldn't be the 0x20/0x00 change; that appears to be the voltage setting (0x20==13v, 0x30==18v, 0x00=OFF). So that change was just changing the default from 13v to OFF. As for the 0x21/0x31. I do have the alps bsrv2 datasheet, but they don't go into much detail. They recommend 0x21 though and have a comment saying (MODE: QPSK/DVB). I don't know why 0x31 is working for you and not 0x21. Looking at the source, the only other change I can see is to when it sets the tuner frequency. The attached patch will disable this change. Note: I have _no_ idea what it does; the sheet doesn't go into any details.
Index: linux/drivers/media/dvb/frontends/ves1x93.c =================================================================== RCS file: /cvs/linuxtv/dvb-kernel/linux/drivers/media/dvb/frontends/ves1x93.c,v retrieving revision 1.6 diff -u -r1.6 ves1x93.c --- linux/drivers/media/dvb/frontends/ves1x93.c 11 Mar 2004 18:44:19 -0000 1.6 +++ linux/drivers/media/dvb/frontends/ves1x93.c 13 Mar 2004 15:23:38 -0000 @@ -148,9 +148,9 @@ int ret; struct i2c_msg msg = { .addr = 0x61, .flags = 0, .buf = data, .len = len }; - ves1x93_writereg(i2c, 0x00, 0x11); +// ves1x93_writereg(i2c, 0x00, 0x11); ret = i2c->xfer (i2c, &msg, 1); - ves1x93_writereg(i2c, 0x00, 0x01); +// ves1x93_writereg(i2c, 0x00, 0x01); if (ret != 1) printk("%s: i/o error (ret == %i)\n", __FUNCTION__, ret);