[linux-dvb] PWM I2C ioctl calls?
Anders Gunnarsson
d00guan at dtek.chalmers.se
Wed Mar 2 16:36:33 CET 2005
Finally something that helped me with my reception problem. I'm
recieving QAM64 channels on a Siemens DVB-C v1.5. Since I still use
2.4-drivers I can use the module parameters. :)
Have you found any optimal setting? I use pwm=0x64 now with good
reception, with higher values tuning tend to be really slow. I also use
a dvb_override_tune_delay=800 that seems to speed up the tuning. Could
someone please quickly explain the implication of these settings or give
a link to such information?
Are there any other settings or other things you can do that might
improve the reception? Maybe something should be written about this on
the wiki-page to help other people?
/Anders
Marko Kenttälä wrote:
>Hullo,
>
>I'm trying to improve my reception by optimizing the PWM values on my
>Siemens v1.5 and TT v2.1 cards. Previously when PWM was possible to give
>in module parameters my reception was much better than now when support
>for that was removed.
>
>Anyway here's a piece of code I trying to use to read PWM but it doesn't
>work. I tried googling for information how to set I2C subaddress but
>didn't find anything useful. Help anyone? I think quite many people are
>having problems with QAM128 channels and accurate PWM helps with those.
>
>#include <stdio.h>
>#include <fcntl.h>
>#include <sys/types.h>
>#include <sys/stat.h>
>#include <sys/ioctl.h>
>#include <linux/i2c.h>
>#include <linux/i2c-dev.h>
>
>int main(int argc, char *argv[])
>{
> int fh, rv;
> char fn[64]="/dev/i2c-1";
> struct i2c_smbus_ioctl_data msg;
> union i2c_smbus_data data;
> fh=open(fn, O_RDWR);
> if (fh==-1) {
> perror("open");
> exit(-1);
> }
> rv=ioctl(fh, I2C_SLAVE, 0x50);
> if (rv==-1) {
> perror("ioctl");
> close(fh);
> exit(-1);
> }
> msg.read_write=I2C_SMBUS_READ;
> msg.command=0;
> msg.size=I2C_SMBUS_BYTE;
> data.byte=0xFF; // subaddress?
> msg.data=&data;
> rv=ioctl(fh, I2C_SMBUS, &msg);
> if (rv==-1) {
> perror("ioctl");
> close(fh);
> exit(-1);
> }
> printf("data=0x%02X\n", data.byte);
> close(fh);
>}
>
>
>
More information about the linux-dvb
mailing list