Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: Nova-USB-t v2.1 version
> finally, I have the tda10046 driver written, but:
> "DVB: registering frontend 1:0 (Alps TDLB7)...
> DVB: registering frontend 1:0 (Alps TDMB7)...
> tda1004x: Detected Philips TDA10046H.
> tda1004x: Detected Philips TD1316 tuner.
> DVB: registering frontend 1:0 (Philips TDA10046H)..."
>
> For some reason both ALPS frontends are registering themselves as well!
I've figured out why multiple frontends are detected. Currently the ttusb code
doesn't check if a i2c transfer actually completed OK... so it always returns
OK even if you try to access to a nonexistent i2c address.
I've been playing about with it, and it seems you can detect when theres an
error: when an i2c transfer fails, the i2c_send_len (offset 5) and
i2c_recv_len (offset 6) of the data structure returned from the nova-usb-t
are both set to 0. You can test against the values supplied to the
ttusb_i2c_msg() function, and if they're different, you know something has
gone wrong.
Now: the problem. The ALPS TDLB7 and ALPS TDMB7 both do i2c transfers of 0
bytes to detect if the devices are present, so the above cannot catch the
error. The solution would appear to be to fix those tuners so they do a
transfer of 1 byte (e.g. read a register) from the frontend device so the USB
i2c error detection code can work. This is whats I'm looking into now... if
anyone has any suggestions, please let me know.
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index