Hello dear all,
i have buy a DVB-S2 card from Tevii S471 and i need help to get it running with
Debian Wheezy/Sid Kernel 3.2.0-2-686-pae.

The Tevii S471 was similar to the Tevii S470 but it has different LNB control.

The first thing I have to use the s2-liplianin drivers unfortunately I was not successful.
s2-liplianin:
>cx23885: add TeVii s471 card.
>From: Igor M. Liplianin <liplia...@me.by>
>New TeVii s471 card is like s470 model,
>but there is different LNB power control.

Next, I have made a git clone from media_build and change the files (cx23885-dvb.c, cx23885-cards.c, cx23885.h)
with code from s2-liplianin. See the diff output at the end of this message.
The compiling was now ready and i have installed the new driver.
It was loaded and the adapter0 was installed.

A scan with w_scan (w_scan -fs -s S19E2 -X > channels-sat1.conf) give me some errors like this:
(time: 00:11) diseqc_send_msg: FE_SET_VOLTAGE failed.
diseqc_send_msg: FE_SET_VOLTAGE failed.
But it found some but not all Channels it is a problem to switch the LNB.

A test was successful with Mplayer and a scanned channel (mplayer dvb://ZDF) unfortunately
the picture and sound output was disturbed.
After a restart and a new scan it found new channels but the card dont switch to the older channels.

Many Thanks for reading this message, hopefully
Hubert Fink

Some outputs and diffs:

ls -rl /dev/dvb/
insgesamt 0
drwxr-xr-x 2 root root 120 Apr  7 19:31 adapter0

dmesg output:
[   17.423214] cx23885 driver version 0.0.3 loaded
[ 17.423246] cx23885 0000:05:00.0: PCI INT A -> GSI 48 (level, low) -> IRQ 48 [ 17.423519] CORE cx23885[0]: subsystem: d471:9022, board: TeVii S471 [card=35,autodetected]
[   17.549784] cx23885_dvb_register() allocating 1 frontend(s)
[   17.549788] cx23885[0]: cx23885 based dvb card
[   17.645414] DS3000 chip version: 0.192 attached.
[   17.645417] DVB: registering new adapter (cx23885[0])
[ 17.645419] DVB: registering adapter 0 frontend 0 (Montage Technology DS3000/TS2020)...
[   17.672210] TeVii S471 MAC= 00:18:bd:5b:63:ad
[   17.672213] cx23885_dev_checkrevision() Hardware revision = 0xb0
[ 17.672217] cx23885[0]/0: found at 0000:05:00.0, rev: 2, irq: 48, latency: 0, mmio: 0xfe400000
[   17.672222] cx23885 0000:05:00.0: setting latency timer to 64



diff ./cx23885-dvb.c ./cx23885-dvb.c.orig
491,494d490
< static int prof_set_voltage(struct dvb_frontend *fe, fe_sec_voltage_t voltage)
< {
<     struct cx23885_tsport *port = fe->dvb->priv;
<     struct cx23885_dev *dev = port->dev;
496,503d491
<     if (voltage == SEC_VOLTAGE_18)
<         cx_write(MC417_RWD, 0x00001e00);/* GPIO-13 high */
<     else if (voltage == SEC_VOLTAGE_13)
<         cx_write(MC417_RWD, 0x00001a00);/* GPIO-13 low */
<     else
<         cx_write(MC417_RWD, 0x00001800);/* GPIO-12 low */
<     return 0;
< }
985,994d972
<     case CX23885_BOARD_TEVII_S471:
<         i2c_bus = &dev->i2c_bus[1];
<
<         fe0->dvb.frontend = dvb_attach(ds3000_attach,
< &tevii_ds3000_config,
< &i2c_bus->i2c_adap);
<         if (fe0->dvb.frontend != NULL)
<             fe0->dvb.frontend->ops.set_voltage = f300_set_voltage;
<
<         break;
1270,1282d1247
<         memcpy(port->frontends.adapter.proposed_mac, eeprom + 0xa0, 6);
<         break;
<         }
<     case CX23885_BOARD_TEVII_S471: {
<         u8 eeprom[256]; /* 24C02 i2c eeprom */
<
<         if (port->nr != 1)
<             break;
<
<         /* Read entire EEPROM */
<         dev->i2c_bus[0].i2c_client.addr = 0xa0 >> 1;
< tveeprom_read(&dev->i2c_bus[0].i2c_client, eeprom, sizeof(eeprom));
<         printk(KERN_INFO "TeVii S471 MAC= %pM\n", eeprom + 0xa0);

diff ./cx23885-cards.c ./cx23885-cards.c.orig:
500,504c500
<     },
<     [CX23885_BOARD_TEVII_S471] = {
<         .name        = "TeVii S471",
<         .portb        = CX23885_MPEG_DVB,
<     },
---
     }
712,715d707
<     }, {
<         .subvendor = 0xd471,
<         .subdevice = 0x9022,
<         .card      = CX23885_BOARD_TEVII_S471,
1312,1322d1303
<     case CX23885_BOARD_TEVII_S471:
<         if (!enable_885_ir)
<             break;
<         dev->sd_ir = cx23885_find_hw(dev, CX23885_HW_AV_CORE);
<         if (dev->sd_ir == NULL) {
<             ret = -ENODEV;
<             break;
<         }
<         v4l2_subdev_call(dev->sd_cx25840, core, s_io_pin_config,
<                  ir_rx_pin_cfg_count, ir_rx_pin_cfg);
<         break;
1353d1333
<     case CX23885_BOARD_TEVII_S471:
1397d1376
<     case CX23885_BOARD_TEVII_S471:
1484d1462
<     case CX23885_BOARD_TEVII_S471:
1542d1519
<     case CX23885_BOARD_TEVII_S471:

diff ./cx23885.h ./cx23885.h.orig
92d91
< #define CX23885_BOARD_TEVII_S471               35

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to