Thomas Richter wrote: > Hi folks, > > recently, I faced problems using my Hauppage Nova-T (old model, > TechnoTrend design), especially getting the firmware uploaded correctly. > The driver continuously fails to load the firmware, even though the file > is in the right place. Interestingly, this behaivour is not > reproducable: The system works fine for a week, then the next day it > fails, and even rebooting doesn't bring it back to a working condition. > The DVB-T card then requires once loading the windows drivers; then, > when rebooting to Linux, things are fine again. > > I played a lot with the sources now, using the 1.1.1 release of the > linuxtv-dvb sources. This driver is way too old and obsolete. Try current CVS with an 2.6.x kernel. > The code always fails the loop at lines 244ff of > saa7146_i2c.c, aborting with a "timed out waiting for end of xfer". > > Adding a "short_delay = 1" at around line 307 of saa7146_i2c_transfer > (thus bypassing > > if ( count > 3 || 0 != (SAA7146_I2C_SHORT_DELAY & dev->ext->flags) ) > short_delay = 1; > ) > seems to have fixed this *for today*. To avoid this hack, I modified > budget-ci.c, namely the flags for the i2c module as follows: > > static struct saa7146_extension budget_extension = { > .name = "budget_ci dvb\0", > .flags = SAA7146_I2C_SHORT_DELAY, /* FIX. was: 0, */ > ... > which seems to do the job right now. (Can anyone confirm that this is > the right thing to do to get short_delay set?) Yes. > My question would be: What does "short_delay" do and why could it be > that it fixes my card here? Are there any negative consequences I should > expect? It speeds up I2C transfers. > Otherwise, it might be useful to include this patch in the next release. Already in CVS. Please update your drivers. Oliver -- -------------------------------------------------------- VDR Remote Plugin available at http://www.escape-edv.de/endriss/vdr/ --------------------------------------------------------