Am Freitag, 4. November 2005 13:13 schrieb Oliver Endriss: > Chris Dietrich wrote: > > Oliver Endriss wrote: > > > Chris Dietrich wrote: > > >>Please, anyone got an idea what else I could try to get that card to > > >> work? > > > > > > [I'm not sure whether this card has ever worked reliably with the > > > driver.] Someone has to find out why stv0299_attach() fails for this > > > card. > > > > > > Add some printk's to stv0299_attach(stv0299.c) and find out what > > > happens. Sorry, I don't own this type of card. > > > > Oliver, thanks for your hint to check the attach-function. I did so and > > found out, that an i2c_transfer statement in writeregI fails: > > > > Nov 3 09:56:25 linux kernel: stv0299: stv0299_writeregI: writereg error > > (reg == 0x02, val == 0x34, ret == -5) > > Nov 3 09:56:31 linux kernel: stv0299: stv0299_readreg: readreg error > > (reg == 0x00, ret == -5) > > Nov 3 09:56:31 linux kernel: stv0299: readreg(state) returns: 0 =(dec) > > 0 (the return value is not important, writeregI failed before) > > Nov 3 09:56:31 linux kernel: stv0299: DEBUG: id != 0xa1 && id != 0x80, > > instead id= 0 > > Nov 3 09:56:31 linux kernel: budget-av: A frontend driver was not found > > for device 1131/7146 subsystem 1131/4f56 > > > > What does the return value of -5 (which seems to be returned by the > > i2c_transfer AFAIK) mean? > > The stv0299 did not respond, i.e. was not found on the I2C bus. > > > I also found out, that if I load the kernel 2.4 stv0299 driver (and > > budget-av etc...) and use the card, then warm reboot the machine into a > > 2.6 kernel, no error appears and the card works fine! > > So, this sounds like an initialization error, right? > > Yes. > > > Is it possible that > > timing is involved, I also tried to increment the msleeps in stv0299 but > > so far with no success (that was before I found out that the > > i2c_transfer failed). > > > > What else can I do? Should I try to just comment out the statement in > > the initialization that causes the failing writeregI??? > > Try the following: > (a) enable master reset in saa7146_core.c > > If it does not help: > (b) Add some delay at the beginning of stv0299_attach. > Something like msleep(1000) should do for testing. I just had the problem once again and (a) fixed it! -Julian