Hi Juergen, On 10/1/07, Juergen Bausa <Juergen.Bausa at web.de> wrote: > Hi Juerg, > > > Von: "Juerg Haefliger" <juergh at gmail.com> > > > > On 9/25/07, Juergen Bausa <Juergen.Bausa at web.de> wrote: > > > What does this mean (taken from /var/log/messages)? > > > > > > Sep 23 12:11:22 lisa kernel: dme1737 0-002e: Write to register 0x30 failed! Please report to the driver maintainer. > > > > What exactly is unclear about the message? The write fails (for > > whatever reason). I should probably print out the return value as > > well... > > More interestingly is the register address. 0x30 is the current PWM > > duty-cycle. It only gets written during driver initialization or if > > userland does manual PWM control. > > > > > I get this sometimes (every some hours). I use the dme1737.ko without on my asus system > > > (Pundit P1-AH2) with Athlon BE-2350. > > > > What apps are you running that touch the driver? Are you doing manual > > PWM control? > > > > I use the script fancontrol from lm-sensors, that controls the cpu-fan by pwm. It works > fine. Maybe it somtimes fails in setting the fan speed, but can set in the next cycle. > I newer got error messages from fancontrol. Aha, that explains it. Can you apply the attached patch and reload the driver? Could you also please post the output of 'lsmod'? ...juerg --- dme1737.c.orig 2007-10-01 14:34:13.508278000 -0700 +++ dme1737.c 2007-10-01 14:35:14.041684000 -0700 @@ -493,8 +493,8 @@ static u8 dme1737_read(struct i2c_client if (val < 0) { dev_warn(&client->dev, "Read from register " - "0x%02x failed! Please report to the driver " - "maintainer.\n", reg); + "0x%02x failed (%d)! Please report to the " + "driver maintainer.\n", reg, val); } } else { /* ISA device */ outb(reg, client->addr); @@ -513,8 +513,8 @@ static s32 dme1737_write(struct i2c_clie if (res < 0) { dev_warn(&client->dev, "Write to register " - "0x%02x failed! Please report to the driver " - "maintainer.\n", reg); + "0x%02x failed (%d)! Please report to the " + "driver maintainer.\n", reg, res); } } else { /* ISA device */ outb(reg, client->addr);