Problem using USBTinyISP to upload  since V17

I’ve been having a problem with my adafruit USBTinyISP since I installed v17 IDE. Just prior to installing and using V16 I successfully installed a bootloader on 6 ATMega328s (plugged into a Duemilanove). And I’ve not had a problem uploading sketches with the USBTinyISP either, although I usually use the bootloader.

From my preferences.txt
upload.using=usbtiny
upload.verbose=true

Today I tried to upload a sketch and I get the following avrdude error :

Binary sketch size: 960 bytes (of a 30720 byte maximum)
C:\Arduino\arduino-0017\hardware/tools/avr/bin/avrdude -CC:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -pm328p -cnull -Uflash:w:C:\Design\Arduino\sketchbook\Blinkcount\Blinkcount\applet\Blinkcount.cpp.hex:i 


avrdude: Version 5.4-arduino, compiled on Oct 11 2007 at 19:12:32
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         System wide configuration file is "C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf"


avrdude: Can't find programmer id "null"

Valid programmers are:
  dasa3    = serial port banging, reset=!dtr sck=rts mosi=txd miso=cts [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:776]
  dasa     = serial port banging, reset=rts sck=dtr mosi=txd miso=cts [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:763]
  siprog   = Lancos SI-Prog <http://www.lancos.com/siprogsch.html> [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:750]
  ponyser  = design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:737]
  frank-stk200 = Frank STK200                   [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:702]
  blaster  = Altera ByteBlaster             [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:689]
  ere-isp-avr = ERE ISP-AVR <http://www.ere.co.th/download/sch050713.pdf> [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:679]
  atisp    = AT-ISP V1.1 programming cable for AVR-SDK1 from <http://micro-research.co.th/>  [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:669]
  dapa     = Direct AVR Parallel Access cable [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:658]
  xil      = Xilinx JTAG cable              [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:645]
  futurlec = Futurlec.com programming cable. [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:628]
  abcmini  = ABCmini Board, aka Dick Smith HOTCHIP [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:618]
  picoweb  = Picoweb Programming Cable, http://www.picoweb.net/ [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:608]
  sp12     = Steve Bolt's Programmer        [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:597]
  alf      = Nightshade ALF-PgmAVR, http://nightshade.homeip.net/ [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:581]
  bascom   = Bascom SAMPLE programming cable [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:571]
  dt006    = Dontronics DT006               [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:561]
  pony-stk200 = Pony Prog STK200               [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:549]
  stk200   = STK200                         [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:533]
  bsd      = Brian Dean's Programmer, http://www.bsdhome.com/avrdude/ [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:522]
  pavr     = Jason Kyle's pAVR Serial Programmer [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:514]
  dragon_dw = Atmel AVR Dragon in debugWire mode [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:507]
  dragon_hvsp = Atmel AVR Dragon in HVSP mode  [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:499]
  dragon_pp = Atmel AVR Dragon in PP mode    [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:491]
  dragon_isp = Atmel AVR Dragon in ISP mode   [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:483]
  dragon_jtag = Atmel AVR Dragon in JTAG mode  [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:475]
  jtag2dw  = Atmel JTAG ICE mkII in debugWire mode [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:467]
  jtag2isp = Atmel JTAG ICE mkII in ISP mode [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:459]
  jtag2    = Atmel JTAG ICE mkII            [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:451]
  jtag2fast = Atmel JTAG ICE mkII            [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:443]
  jtag2slow = Atmel JTAG ICE mkII            [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:435]
  jtagmkII = Atmel JTAG ICE mkII            [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:427]
  jtag1slow = Atmel JTAG ICE (mkI)           [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:420]
  jtag1    = Atmel JTAG ICE (mkI)           [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:412]
  jtagmkI  = Atmel JTAG ICE (mkI)           [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:404]
  avr911   = Atmel AppNote AVR911 AVROSP    [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:398]
  avr109   = Atmel AppNote AVR109 Boot Loader [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:392]
  butterfly = Atmel Butterfly Development Board [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:386]
  usbtiny  = USBtiny simple USB programmer  [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:380]
  usbasp   = USBasp, http://www.fischl.de/usbasp/ [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:374]
  avr910   = Atmel Low Cost Serial Programmer [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:368]
  stk500hvsp = Atmel STK500 V2 in high-voltage serial programming mode [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:362]
  stk500pp = Atmel STK500 V2 in parallel programming mode [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:356]
  stk500v2 = Atmel STK500 Version 2.x firmware [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:350]
  stk500v1 = Atmel STK500 Version 1.x firmware [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:344]
  stk500   = Atmel STK500                   [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:338]
  avrisp2  = Atmel AVR ISP mkII             [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:328]
  avrispmkII = Atmel AVR ISP mkII             [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:322]
  avrispv2 = Atmel AVR ISP V2               [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:316]
  avrisp   = Atmel AVR ISP                  [C:\Arduino\arduino-0017\hardware/tools/avr/etc/avrdude.conf:310]

It appears that the programmer choice from preferences.txt can’t be found and “null” was substituted.

however the avrdude.conf in the path specified by the command does have the usbtiny defined:

....programmer
  id    = "usbasp";
  desc  = "USBasp, http://www.fischl.de/usbasp/";
  type  = usbasp;
;

programmer
  id    = "usbtiny";
  desc  = "USBtiny simple USB programmer";
  type  = usbtiny;
;

programmer
  id    = "butterfly";
  desc  = "Atmel Butterfly Development Board";
  type  = butterfly;
;
.....

If I change the programmer to bootloader in preferences.txt it works ok (without the USBTinyISP of course).

if I open a command line and try to communicate directly it works fine:

C:\DOCUME~1\ROY>avrdude -c usbtiny -p m328p

AVRDUDE: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

AVRDUDE: Device signature = 0x1e950f

AVRDUDE: safemode: Fuses OK

AVRDUDE done.  Thank you.


C:\DOCUME~1\ROY>

Finally if I try to (re)burn a bootloader to a chip I get read errors on verify but the bootloader is there.

Help?

Found the problem - I/O error (Ignorant/Operator). Needed to set the programmer to usbtinyisp as declared in hardware/programmers.txt