On Thu, 05 Jul 2007 10:57:34 +0200 "Daniel Weigl" <danielweigl@xxxxxx> wrote: > Hello > Am Thu, 05 Jul 2007 02:03:53 +0200 hat Aapo Tahkola > <aet@xxxxxxxxxxxxxx> geschrieben: > > > > My bad, try this: > > +static int m920x_twalk_i2c_xfer(struct i2c_adapter *adap, struct > > i2c_msg msg[], int num) +{ > > [...] > > + } > > + if (i+1 < num && msg[i+1].flags & I2C_M_RD) { > > + if ((ret = m920x_read(d->udev, > > M9206_TWALK_I2C_R, > > + msg[i].addr, msg[i].buf[0], > > msg[i+1].buf, msg[i+1].len)) != 0) > > + goto unlock; > > + i++; > > + } else { > > + if ((ret = m920x_write_bulk(d->udev, > > M9206_TWALK_I2C_W, > > + msg[i].addr, 0, msg[i].buf, > > msg[i].len)) != 0) > > [...] > > +} > > > > Yes - you are right. Yesterday I took some time and investigated the > driver architecure more in detail. The first thing I had to change > was the m920x_i2c_xfer functions, than I changed some details in the > function you mentioned above. > > Now I am able to connect the tuner and demod frontend. The demod > frontend checks the TDA10046 by an version-request and gets the > correct result. So i2c is basically working. > > But something wents wrong with the initialization. After the two > frontends are attached, it takes about 3sec than the power led of the > Stick switches off. But there are no dmesgs when this happends. > Strangly: If I to a lsusb the power led sitches on for ~3seconds and > goes off again. Also no dmesgs. And the device stays in Warm-State. > (i.e. no full reset) Sounds like it's turned on whenever there is traffic. > > But if I try to access it (e.g. with dvbscan), I get error -19 from > the usb_control_msg function ("no such device"). It might be a good idea to test this with usbmon to ease debugging. I2C traffic shouldn't crash the entire usb-chip so there might still be some problem with the i2c-func. When does this actually start happening? Output of "lsusb -v" when in warm-state might also be useful. > > I have here the initialization of the two frontend chips, how it > happens when the windows driver inits the stick: > ---> http://danyserv.selfip.org/dir/LifeView/i2c_log1 > > I have annother annyoing problem: If I plug in the stick, and the > two frontends get attached, its use-count increases (lsmod). But if I > plug it off again, both frontends does not deattach again... So its > usecount goes up and up. If I want to change some sourcecode (for > debugging purposes) I always have to restart, bec. I cannot > rmmod the frontends. You can use "-f" option of rmmod if you have CONFIG_MODULE_FORCE_UNLOAD compiled in. > > How does the deregistering work properly? > > > TIA Daniel > -- Aapo Tahkola _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb