Hello All
I thought I will start a new thread (DVB-C USB) does not mean alot.
I am trying to get this device working.
The USB-ID is 0b48:1004 and it is the same as the C-1100 device. Gavin
Hamill reported that his device (C-1100) is working.
I checked the components. The C-1200 has a STMicroelectronics STV0297D
demu and a Philips TD1316A/SHIP tuner.
The C-1100 has ves1820/ALPS TDBE2.
The ttpci driver has support for STV0297D/TD1316A. So, I used this code
to add support for the USB C-1200 but it does not really work :-(
I use 0x1c for .demod_address in stv0297_config which seems to work
after I changed "stv0297_readreg"[1]
But that's it :-) I am no a bit lost. The drivers load fine and I don't
get any error messages. scan reports "tuning failed" and xine is just
busy if I try to connect to DVB.
Log:
Apr 2 17:13:32 localhost kernel: [4296743.064000] usb 2-2: new full
speed USB device using uhci_hcd and address 3
Apr 2 17:13:34 localhost kernel: [4296745.099000]
ttusb_init_controller: unknown STC version V 2.5, please report!
Apr 2 17:13:34 localhost kernel: [4296745.102000]
ttusb_init_controller: dsp-version: 0.0
Apr 2 17:13:34 localhost kernel: [4296745.102000] DVB: registering new
adapter (Technotrend/Hauppauge Nova-USB).
Apr 2 17:13:34 localhost kernel: [4296745.109000] stv0297 called
Apr 2 17:13:34 localhost kernel: [4296745.111000] stv0297_readreg
reg=0x80, returned=0x20,
Apr 2 17:13:34 localhost kernel: [4296745.111000] DVB: registering
frontend 0 (ST STV0297 DVB-C)...
Whats' next? Does a usbsnoop help?
Regards, Thomas
[1]:
static int stv0297_readreg(struct stv0297_state *state, u8 reg)
{
int ret;
u8 b0[] = { reg };
u8 b1[] = { 0 };
struct i2c_msg msg[] = { {.addr =
state->config->demod_address,.flags = 0,.buf = b0,.len = 1},
{.addr = state->config->demod_address,.flags =
I2C_M_RD,.buf = b1,.len = 1}
};
/*TK test
// this device needs a STOP between the register and data
if ((ret = i2c_transfer(state->i2c, &msg[0], 1)) != 1) {
dprintk("%s: readreg error (reg == 0x%02x, ret == %i)\n",
__FUNCTION__, reg, ret);
return -1;
}
if ((ret = i2c_transfer(state->i2c, &msg[1], 1)) != 1) {
dprintk("%s: readreg error (reg == 0x%02x, ret == %i)\n",
__FUNCTION__, reg, ret);
return -1;
}
*/
if ((ret = i2c_transfer(state->i2c, msg, 2)) != 2) {
dprintk("%s: readreg error (reg == 0x%02x, ret == %i)\n",
__FUNCTION__, reg, ret);
return -EREMOTEIO;
}
return b1[0];
}
--
http://www.kaiser-linux.li
_______________________________________________
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb