Sto facendo delle prove caricando le varie versioni del mio Fuse Rescue su un Nano compatibile.
Avendo finito i pin, ho riprogrammato i fuse per l'oscillatore interno a 8MHz e ho continuato a caricare i programmi con l'USBASP senza problemi.
Poi, però, per errore, ho caricato un programma con selezionata nell'IDE la scheda Arduino/Genuino Uno anziché le impostazioni modificate per l'oscillatore a 8MHz. Da quel momento non riesco più neanche a leggere i fuse con AVRDude, né con Burn-O-Mat!
Ma hai caricato il codice via ICSP? ... se SI, probabilmente ha riprogrammato i FUSE con il default di Arduino UNO ... però dovrebbe ugualmente andare ... ... la Nano che stai usando ha il suo quarzo/risuonatore funzionanti vero?
... e dovrebbe funzionare ... probabilmente il programma non andrà come si deve (il "core" usato si aspetterà un clock a 16 MHz), ma non capisco perché tu non la veda più da programmatore
As noted in question, the 32kHz crystal is used as a clock source and also at least the first programming was working.
The ArduinoISP sketch has hardcoded ISP clock speed and ISP clock has to be at most 1/4 of MCU speed. So the ArduinoISP sketch SPI_CLOCK has to be set to the much lower value than default 166kHz, which is way too fast for 32kHz MCU clock. The safe value is about 5000 (5kHz)
Più che altro, avevo faticato un po' (data la vista non più perfetta) a saldare due fili da PB6 e PB7 ai pin A6 e A7 per collegare comodamente il rotary encoder!
Un po' d'aria calda...
Accadde anche a me con avrisp mkii, prima di arrivare a capire che il clock spi era troppo alto ci ho messo del mio. Così imparai che con avrisp mkii avrdude prende un parametro per regolare la SPI.
Però se questo fosse il problema tuo con chip vergini che lavorano a 1MHz non saresti riuscito a programmarli con ICSP.
Al momento non mi viene in mente nulla che possa essere successo scrivendo sbagliando scheda, tra l'altro Genuino Uno è sempre il 328 e comunque avrebbe dovuto dare errore di signature e non scrivere.
Certo che USBASP sta in piedi per miracolo. Ho ne compri uno più affidabile oppure te lo fai da te, tanto gli accoppiatori ottici li sai usare, l'oscillo lo hai, la programmazione ICSP è più semplice di quella parallela.
I traslatori di livello li hai. Certo sto semplificando, ma non è impossibile, richiede solo molto impegno di tempo.
Perché dici che l'USBASP sta in piedi per miracolo?... Ci sono circuiti, come lo stroboscopio, che ho programmato decine e decine di volte, una per ogni versione o prova, senza alcun problema. Quando vado a fare qualcosa di diverso, però, ogni tanto mi capita e probabilmente ho sbagliato io qualcosa!
Che ha di diverso dall'USBASP? Comunicando tramite ISP, la comunicazione deve avvenire nello stesso modo... No?
Poi, forse, TU non avresti avuto problemi nemmeno con l'USBASP!
Ma non mi è mai piaciuta l'idea di controllare dei pin GPIO via software per emulare la USB. Troppe variabili a partire dalla tensione di lavoro, passando per i fronti di salita e discesa da rispettare. La CPU deve fare altro di importante come salvarsi il byte prelevato da usb e scriverlo nel buffer della SPI. Per ogni byte la transazione USB impegna la CPU.
Non l'ho mai avuto, ci ho provato tanto tempo fa e alle volte funziona e già questo è un problema.
Non posso escludere che il problema possa dipendere da USBASP, ma non posso neanche affermare il contrario. Tecnicamente funziona per miracolo. Poi c'è da vedere che MCU monta a che frequenza lavora, perché nel tempo penso si sia evoluto o no?