The efuse section of avrdude.conf is incorrect for all four AT90PWM parts. Each part should have eight efuse bits. The function of efuse bit 0x40 is undocumented, but it can be set and cleared reliably. Cheers, Shaun 2007-11-15 Shaun Jackman * avrdude.conf (pwm2, pwm2b, pwm3, pwm3b) : Write eight bits. Index: avrdude.conf.in =================================================================== RCS file: /sources/avrdude/avrdude/avrdude.conf.in,v retrieving revision 1.127 diff -u -p -r1.127 avrdude.conf.in --- avrdude.conf.in 29 Oct 2007 22:43:00 -0000 1.127 +++ avrdude.conf.in 28 Nov 2007 18:52:36 -0000 @@ -8374,7 +8374,7 @@ part memory "efuse" size = 1; write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; + "x x x x x x x x i i i i i i i i"; read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", "x x x x x x x x o o o o o o o o"; @@ -8558,7 +8558,7 @@ part memory "efuse" size = 1; write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; + "x x x x x x x x i i i i i i i i"; read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", "x x x x x x x x o o o o o o o o"; @@ -8740,7 +8740,7 @@ part memory "efuse" size = 1; write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; + "x x x x x x x x i i i i i i i i"; read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", "x x x x x x x x o o o o o o o o"; @@ -8923,7 +8923,7 @@ part memory "efuse" size = 1; write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", - "x x x x x x x x x x x x x x x i"; + "x x x x x x x x i i i i i i i i"; read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", "x x x x x x x x o o o o o o o o";