Falsche Signature Bytes bei von mir gekauften China Nano mit 328PB

OP #7456309
Lesenswert?

Moin,

Ist jemand von Euch dasselbe passiert, daß avrdude falsche Signature Bytes zurückbekommt?

Ich kaufte mir vor einiger Zeit ein paar China 328PB Nanos von "Imported Electronics".

https://www.importedelectronics.com/products/arduino-nano-v3-0-micro-usb-compatible-board-atmega328pb-terminal-adapter

https://www.importedelectronics.com/collections/all/nano

Beim Testen ergab sich, daß avrdude den Programmiervorgang mit der Begründung vorzeitig beendete, daß die "gelesenen" Signature Bytes mit 0x15950f falsch wären und daß eigentlich 0x159516 erwartet wären.

Daraufhin prüfte ich die avrdude conf Datei und die Signature Bytes sind dort für den 328pb korrekt eingetragen. Abgesehen davon funktionierten ältere Watterott 328pb Pro-Minis immer einwandfrei mit derselben Installation.

Dann schloss ich den AVR ISP mit AS7 an und der las die korrekten Signature Bytes mit 0x159516 aus.

OK, das könnte dann höchstwahrscheinlich nur noch der China Bootloader selber sein. Ich flashte daraufhin den 328pb mit dem mitgelieferten Watterott optiboot 328pb bootloader. Daraufhin funktionierte der Nano wie er sollte.

Ist es so, daß der Bootloader nicht die tatsächlichen Signature Bytes ausliest, sondern nur hard coded Bytes zurück gibt?

Wer weiß da Näheres?

Jedenfalls werde ich die alten BL alle austauschen. Auch weiß ich nicht ob der China Bootloader mit dem Watchdog Reset korrekt umgeht. Da hatte ich früher mit alten 328P Bootloadern auch meine Probleme.

VG, Gerhard

#7456336
Lesenswert?

Hallo,

ich weiß zwar aktuell nicht wie ein Bootloader Einfluss auf die Signatur hat, aber 0x1E950F ... ist der 328P 0x1E9516 ... ist der 328PB hast bestimmt nur einen Tippfehler. ;-)

Hat der kleine Chinese bestimmt nur falsch geflasht. :-)

Mal ein Gedankenspiel. Der PB ist ja zum P binär kompatibel. Wenn man so tut als wäre er ein P könnte das ggf. "in 99%" der Fälle funktionieren. Ich wüßte nur nicht wo der Sinn ist das als PB zu verkaufen um ihn als P zu verwenden. Weil man kauft ja einen PB und will ihn als PB behandeln. Zudem man als Käufer nicht weiß das er als P signiert wurde. Bleibt seltsam.

Eine Frage in die Runde. Kann ein Bootloader wirklich eine andere Signatur vorgaukeln?

#7456347
Lesenswert?

Der Bootloader tut für den PC so als sei er ein Programmiergerät. Dein echtes Programmiergerät bekommt den Befehl "gib mir mal die Signatur", liest die dann aus und liefert. Der Bootloader kann auf das Kommando natürlich einfach irgendwas abliefern, und vielleicht auch das echte, wenn er es denn lesen kann (ich weiß nicht ob der Programmcode die Sig lesen kann). Ist aufgrund der Programmgröße vielleicht aber auch einfach kleiner und schneller wenn er einfach das passende liefert, denn im Gegensatz zum Programmer ist der Chip für den Bootloader ja immer der selbe.

OP #7456352
Lesenswert?

Hallo,

Sorry wegen 0x15; ich schrieb das aus dem Gedächtnis.

Nach dem Austausch zum Optiboot funktionierte alles Bestens.

Mich verwunderte es nur, dass AS7 die Signature richtig ausgelesen hat, aber das Avrdude falsche Daten zurückbekommt. Ich vermute fast, daß die alten Bootloader die die China Leute verwenden, alt und ehemals nur für den 328p gestrickt worden sind.

Jedenfalls funktionieren sie mit dem Watterott 328PB Optiboot einwandfrei. Ich habe einige der WR Bords und die machen auch keine Probleme.

Grüsse, Gerhard

#7456364
Lesenswert?

Arduino F. schrieb:

Wäre aber ein ganz schöner Schwachsinn, aus meiner Sicht.

Vielleicht auch einfach ein Zusaammenklopper dem es schegal ist was er da reinschreibt. Das Programm ist geklaut, das Layout ist geklaut, die Platinen macht derjenige der den kleinsten Preis knapp über "auch geklaut" hat, die Chips sind vielleicht auch geklaut, ausgelötet oder uralt/vom Broker/neu beschriftet. Die Langnasen kaufen es, also warum drauf achten das der Bootloader der für den PB ist?

#7456365
Lesenswert?

Hallo,

Danke für Bootloader Info.

Stimmt, hätte auch gleich "in 100%" der Fälle schreiben können. Muss ja gehen sonst wäre er nicht binär kompatibel. ;-) Aber ich gebe dir recht, das macht keinen Sinn, dann wäre der Kauf extra des PB Typs sinnlos. Man will ja bewusst den PB und nicht nur den P. Davon abgesehen finde ich allein die Idee den PB binär kompatibel herzustellen schon irgendwie cool. Da hat jemand richtig mitgedacht. Ich schweife ab ...

#7456367
Lesenswert?

Veit D. schrieb:

Eine Frage in die Runde. Kann ein Bootloader wirklich eine andere Signatur vorgaukeln?

Der Bootloader ist ein Programm, das lediglich an einer speziellen Stelle im Speicher steht. Was meinst du mit deiner Frage?

Ein Programm kann irgendetwas ausgeben - kommt drauf an, was im Programmcode steht. Wenn das Programm nicht die aus den Signaturregister ausgelesenen Werte ausgibt, sondern irgendetwas anderes, tut es das halt. Warum soll es das nicht tun können?

OP #7456374
Lesenswert?

Jens M. schrieb:

Arduino F. schrieb:

Wäre aber ein ganz schöner Schwachsinn, aus meiner Sicht.

Vielleicht auch einfach ein Zusaammenklopper dem es schegal ist was er da reinschreibt. Das Programm ist geklaut, das Layout ist geklaut, die Platinen macht derjenige der den kleinsten Preis knapp über "auch geklaut" hat, die Chips sind vielleicht auch geklaut, ausgelötet oder uralt/vom Broker/neu beschriftet. Die Langnasen kaufen es, also warum drauf achten das der Bootloader der für den PB ist?

Moin,

Jetzt muß ich vehement widersprechen, was Deine Kritik betrifft. Alle Arduino Designs sind Open Source und es ist legal sie kommerziell auf den Markt zu werfen. Was Programm IP betrifft, habe ich keine Ahnung unter welchem Lizenzmodell die Arduino Bootloader existieren noch interessiert es mich.

Naja, und wenn der Preis stimmt und die Teile funktionieren, wäre mir ein ausgelöteter Original uC lieber als ein geklonter Neuer. Die Herstellungskosten sind halt in China billiger als irgendwo sonst und man ist mit weniger Gewinn zufrieden. Abgesehen davon finde ich die vernünftige Wiederverwendung von Elektronik Komponenten ohnehin nicht schlecht.

Der einzige Punkt über den man wirklich streiten sollte/könnte, ob es ethisch vertretbar ist, die Preise der Original so aggressiv zu unterbieten. Ich weiß nicht, wie die Arduino Gruppe darüber denkt. Fair gegenüber Arduino ist es bestimmt nicht. Andrerseits darf ich zumindest keine Steine werfen, weil selber bis jetzt im Verhältnis nur wenige Originale gekauft habe. Andrerseits, ein Schüler, der nicht genug Geld für ein Original Arduino hat, denkt vielleicht darüber ganz anders. So gesehen, tut Arduino wahrscheinlich das einzig Richtige, indem sie neue Werte schaffen und die Original Uno, Nano Welt mehr oder weniger abgeschrieben haben und fähigere Zukunftsprodukte geschaffen haben, für die sich billige Chinaklonen nicht lohnen. Allerdings finde ich die Arduino Nano Preise im Verhältnis viel zu hoch, wenn man bedenkt wieviel weniger ein Nano Every kostet. Irgendwie ist der Preisunterschied nicht im Verhältnis.

Jedenfalls will ich selber hier nicht den schuldfreien Apostel spielen - Guilty as Charged!

VG, Gerhard

OP #7456380
Lesenswert?

Rainer W. schrieb:

Veit D. schrieb:

Eine Frage in die Runde. Kann ein Bootloader wirklich eine andere Signatur vorgaukeln?

Der Bootloader ist ein Programm, das lediglich an einer speziellen Stelle im Speicher steht. Was meinst du mit deiner Frage?

Ein Programm kann irgendetwas ausgeben - kommt drauf an, was im Programmcode steht. Wenn das Programm nicht die aus den Signaturregister ausgelesenen Werte ausgibt, sondern irgendetwas anderes, tut es das halt. Warum soll es das nicht tun können?

Vielleicht dachte man damals, dass es genügen würde, die Signature Bytes vorzuspiegeln. Vielleicht war es aus Gründen der Bootloadergröße wichtig nur unbedingt notwendige Funktionalität zu haben. Damals gab es ja nur den ersten 328P. Ich kann mir schon vorstellen, daß die Entwickler sich vielleicht gedacht haben, diese Vereinfachung wäre vertretbar. Das Problem wurde erst dann akut als der 328pb seinen Kopf in die Welt streckte und man in China nicht aufpasste und sich nicht unbedingt der Wichtigkeit bewußt war. Oder man dachte, die Kunden sollten mit dem Problem fertig werden. Es ist schon etwas überraschend, daß die Bords erst einen FW Upgrade brauchen um mit dem Arduino IDE verwendbar zu sein. Leute die die Bords mit dem ISP Flashen, würden diesem Problem gar nicht begegnen. Ist ja nur der "böse" avrdude, der dem Bootloader auf die Finger schaut.

Moderator Persönliche Seite #7456389
Lesenswert?

Gerhard O. schrieb:

Vielleicht dachte man damals, dass es genügen würde, die Signature Bytes vorzuspiegeln

Ist völlig normal, dass man das tut. Auslesen der richtigen Signatur ist doch viel aufwändiger (und damit platzraubender), als einfach die gewünschten Bytes zurück zu liefern. Bei ganz frühen AVRs konnte man die Signatur gar nicht per Software auslesen – Bootloader gab es auch damals aber schon.

Ein Bootloader sollte ja normalerweise auch wissen, auf welchem Chip er sitzt. ;-)

OP #7456394
Lesenswert?

Jörg W. schrieb:

Gerhard O. schrieb:

Vielleicht dachte man damals, dass es genügen würde, die Signature Bytes vorzuspiegeln

Ist völlig normal, dass man das tut. Auslesen der richtigen Signatur ist doch viel aufwändiger (und damit platzraubender), als einfach die gewünschten Bytes zurück zu liefern. Bei ganz frühen AVRs konnte man die Signatur gar nicht per Software auslesen – Bootloader gab es auch damals aber schon.

Ein Bootloader sollte ja normalerweise auch wissen, auf welchem Chip er sitzt. ;-)

Ja. Ich sehe es genauso. Ist halt nur blöd, daß der Hersteller nicht aufpasst. Ich konnte mir zwar helfen; Ich könnte mir aber auch vorstellen wie es einen Anfänger nerven und herausfordern könnte damit klarzukommen. Ohne ISP Zugang hätte ich es nicht eindeutig nachprüfen können. Nicht jeder Anfänger/Schüler hat schon einen ISP wenn er nicht gerade einen zweiten Arduino hat, der das übernehmen könnte.

Ich denke, die Moral von der Geschicht', ist, daß es am Besten ist, bei Import Modulen, schon von Anfang an, einen bewährten B.L. wie Optiboot draufzuspielen, weil man ja keine Ahnung hat, welcher da drauf ist. Das ist auch aus einem weiteren Grund zweckmässig um sicher sein zu können, daß der Watchdog Reset vom B.L. korrekt behandelt wird.

#7456403
Lesenswert?

Gerhard O. schrieb:

Ich denke, die Moral von der Geschicht', ist, daß es am Besten ist, bei Import Modulen, schon von Anfang an, einen bewährten B.L. wie Optiboot draufzuspielen, weil man ja keine Ahnung hat, welcher da drauf ist. Das ist auch aus einem weiteren Grund zweckmässig um sicher sein zu können, daß der Watchdog Reset vom B.L. korrekt behandelt wird.

Um einen anderen Bootloader aufzuspielen, braucht man ja einen ISP-Programmer. Dann kann man auch gleich auf den Bootloader verzichten und über ISP programmieren.

#7456444
Lesenswert?

Gerhard O. schrieb:

Der einzige Punkt über den man wirklich streiten sollte/könnte, ob es ethisch vertretbar ist, die Preise der Original so aggressiv zu unterbieten.

Der Nano war mit rund 35 €uro dermaßen überteuert, dass sie ihn scheinbar garnicht verkaufen wollten. Ganz sicher war es ein Fehler, für USB FTDI zu verwenden, deren Preise ich generell unverschämt finde.

Inzwischen ist der echte Nano günstiger geworden, aber die Diskrepanz zu China ist noch immer deutlich.

Ich weiß nicht, wie die Arduino Gruppe darüber denkt. Fair gegenüber Arduino ist es bestimmt nicht.

Es wird ihnen nicht gefallen, aber mit OpenSource ist das eben so.

Andrerseits darf ich zumindest keine Steine werfen, weil selber bis jetzt im Verhältnis nur wenige Originale gekauft habe.

Ich habe kein einziges Original gekauft.

Gerhard O. schrieb:

Ein Bootloader sollte ja normalerweise auch wissen, auf welchem Chip er sitzt. ;-)

Ja. Ich sehe es genauso. Ist halt nur blöd, daß der Hersteller nicht aufpasst. Ich konnte mir zwar helfen; Ich könnte mir aber auch vorstellen wie es einen Anfänger nerven und herausfordern könnte damit klarzukommen.

Wirklich? Ich benutze die Arduino-IDE, der Bootloader meldet sich und der Programmupload startet. Da die Softwarekompatibilität gegeben ist, muß die Arduino-IDE den tatsächlichen Typ PB nicht wissen.

Ohne ISP Zugang hätte ich es nicht eindeutig nachprüfen können. Nicht jeder Anfänger/Schüler hat schon einen ISP wenn er nicht gerade einen zweiten Arduino hat, der das übernehmen könnte.

Hatte ich zu Beginn auch nicht, bis es dann mal ein Problem gab. Ich habe mir dann ein Programmierboard vom Chinesen gekauft, war um 4,50 USD schon die Luxusvariante.

OP #7456462
Lesenswert?

Manfred P. schrieb:

Wirklich? Ich benutze die Arduino-IDE, der Bootloader meldet sich und der Programmupload startet. Da die Softwarekompatibilität gegeben ist, muß die Arduino-IDE den tatsächlichen Typ PB nicht wissen.

Hallo Manfred,

nein, das stimmt nicht. Es war avrdude, das sich über den Nano genervt hatte. Guck mal auf die screen captures.

Das dritte Bild zeigt dieselbe Bord mit Optiboot_328pb wo es funktioniert. Sonst keine Änderungen.

Gerhard

OP #7456468
Lesenswert?

Manfred P. schrieb:

Gerhard O. schrieb:

Der einzige Punkt über den man wirklich streiten sollte/könnte, ob es ethisch vertretbar ist, die Preise der Original so aggressiv zu unterbieten.

Der Nano war mit rund 35 €uro dermaßen überteuert, dass sie ihn scheinbar garnicht verkaufen wollten. Ganz sicher war es ein Fehler, für USB FTDI zu verwenden, deren Preise ich generell unverschämt finde.

Ja. Überteuert ist er auf alle Fälle dort.

Inzwischen ist der echte Nano günstiger geworden, aber die Diskrepanz zu China ist noch immer deutlich.

Am Nano Every is zum Gegensatz nichts auszusetzen, was Preis betrifft.

Ich weiß nicht, wie die Arduino Gruppe darüber denkt. Fair gegenüber Arduino ist es bestimmt nicht.

Es wird ihnen nicht gefallen, aber mit OpenSource ist das eben so.

Das war auch so beabsichtigt.

Andrerseits darf ich zumindest keine Steine werfen, weil selber bis jetzt im Verhältnis nur wenige Originale gekauft habe.

Ich habe kein einziges Original gekauft.

Hmmm. OK:-)

Gerhard O. schrieb:

Ein Bootloader sollte ja normalerweise auch wissen, auf welchem Chip er sitzt. ;-)

Ja. Ich sehe es genauso. Ist halt nur blöd, daß der Hersteller nicht aufpasst. Ich konnte mir zwar helfen; Ich könnte mir aber auch vorstellen wie es einen Anfänger nerven und herausfordern könnte damit klarzukommen.

Wirklich? Ich benutze die Arduino-IDE, der Bootloader meldet sich und der Programmupload startet. Da die Softwarekompatibilität gegeben ist, muß die Arduino-IDE den tatsächlichen Typ PB nicht wissen.

Das stimmt nur zum Teil. Dem IDE ist es zwar gleich, aber avrdude führt ein strenges Regiment und lässt solche Schlampigkeiten nicht ohne -F Anweisung durchgehen:-)

Ohne ISP Zugang hätte ich es nicht eindeutig nachprüfen können. Nicht jeder Anfänger/Schüler hat schon einen ISP wenn er nicht gerade einen zweiten Arduino hat, der das übernehmen könnte.

Hatte ich zu Beginn auch nicht, bis es dann mal ein Problem gab. Ich habe mir dann ein Programmierboard vom Chinesen gekauft, war um 4,50 USD schon die Luxusvariante.

Ja. Das stimmt.

...

#7456662
Lesenswert?

Beim Händler geht in den Beschreibungen ja auch 328P und 328PB munter durcheinander. Ich kann nachvollziehen, dass der Hersteller das Board darum mit einem Bootloader ausliefert, der einen 328P meldet. Dann muss der Anwender nicht mühsam eine 328PB-Umgebung aufsetzen, sondern kann das Board wie einen üblichen Nano bespielen.

Sind die zusätzlichen Ports überhaupt hinausgeführt?

LG, Sebastian

#7456710
Lesenswert?

Jobst Q. schrieb:

Um einen anderen Bootloader aufzuspielen, braucht man ja einen ISP-Programmer. Dann kann man auch gleich auf den Bootloader verzichten und über ISP programmieren

Ganz so einfach ist das nicht. Der ISP nutzt Pins der SPI-Schnittstelle. Wenn man da ein Device fest angelötet oder mit einem ohne Demontage des Geräts nicht zugänglichen Steckverbinder angeschlossen hat ...

Arbeitet ja nicht jeder mit Steckbrett. ;-)

#7456942
Lesenswert?

Rolf schrieb:

Jobst Q. schrieb:

Um einen anderen Bootloader aufzuspielen, braucht man ja einen ISP-Programmer. Dann kann man auch gleich auf den Bootloader verzichten und über ISP programmieren

Ganz so einfach ist das nicht. Der ISP nutzt Pins der SPI-Schnittstelle. Wenn man da ein Device fest angelötet oder mit einem ohne Demontage des Geräts nicht zugänglichen Steckverbinder angeschlossen hat ...

Arbeitet ja nicht jeder mit Steckbrett. ;-)

Ich mache es gerade über ISP, weil ich das fertige Gerät nicht immer aufschrauben will, wenn ich an der Software etwas ändern will. Ich nutze vorwiegend Pro Minis, um dezentral Daten zu sammeln, die dann per RS485 von einem Raspi angefordert werden. Mit Bootloader brauche ich noch einen USB-UART-Adapter, der mit dem RS485-Modul konkurriert.

Für ISP habe ich einen Pro Micro als Programmer mit einem RJ-12 (6P6C) Stecker und jedes Pro Mini Gerät bekommt eine RJ-12 Buchse. Kann man auch als SPI-Interface nutzen, es braucht dann nur noch einen Umschalter zwischen /Reset und /CS Pin.

Und zum Hochladen einmal Strg-U zu drücken ist auch nicht viel unbequemer als das Klicken auf den Button.

Beim Pro Mikro mit USB-Schnittstelle schätze ich den Bootloader durchaus.

#7457097
Lesenswert?

Gerhard O. schrieb:

Wirklich? Ich benutze die Arduino-IDE, der Bootloader meldet sich und der Programmupload startet. Da die Softwarekompatibilität gegeben ist, muß die Arduino-IDE den tatsächlichen Typ PB nicht wissen.

Das stimmt nur zum Teil. Dem IDE ist es zwar gleich, aber avrdude führt ein strenges Regiment und lässt solche Schlampigkeiten nicht ohne -F Anweisung durchgehen:-)

Beachte bitte, in welchem Zusammenhang ich das geschrieben habe, Anfänger war das Zauberwort.

Manfred P. schrieb:

Ich könnte mir aber auch vorstellen wie es einen Anfänger nerven und herausfordern könnte damit klarzukommen.

Wirklich? Ich benutze die Arduino-IDE, der Bootloader meldet sich und der Programmupload startet. Da die Softwarekompatibilität gegeben ist, muß die Arduino-IDE den tatsächlichen Typ PB nicht wissen.

Gerhard O. schrieb:

aber avrdude führt ein strenges Regiment und lässt solche Schlampigkeiten nicht ohne -F Anweisung durchgehen:-)

Mit avrdude gehörst Du nicht zur typischen Zielgruppe der Arduinos und bist auch kein Anfänger. Im Gegenteil, Du benutzt sie als günstige µC-Baugruppe außerhalb der vorgesehenen Umgebung.

#7457124
Lesenswert?

Jobst Q. schrieb:

Ich mache es gerade über ISP, weil ich das fertige Gerät nicht immer aufschrauben will, wenn ich an der Software etwas ändern will.

Irgendwie muß man ja dran, also kein Argument für ISP.

Die aufwendige Lösung "Rueckwand.jpg", mit einem Adapterkabel den USB von A*Nano in die Rückwand gebraucht. Oder auch nicht, Du musst Deine RJ-Buchse ja auch irgendwie befestigen und verbinden.

Oder "USB_Kappe.jpg", da sitzt der Nano so, dass man seinen Mini-USB direkt erreichen kann.

ProMini mit Akkubetrieb "Gehaeuse_Rueck.jpg", da sitzt er auch so, dass ich den 6pol-Pfostenstecker direkt greifen kann, später ein Klebeschild drüber.

Um mir da keine Pegelprobleme zu fangen, Programmierzugang per ADUM1201 getrennt "Gehaeuse_Rueck.jpg".

Angehängte Dateien:
#7457214
Lesenswert?

Gerhard O. schrieb:

Ich verwende manchmal solche USB Frontplatten montierbare Kabel um mit der Bord zu verbinden: https://www.datapro.net/catalog/usb-panel-mount-cables.html

Sowas habe ich in "Rueckwand.jpg" verbaut, Mini-USB-Stecker auf USB-B-Buchse.

Die gibt’s auch billiger in der Bucht.

Ich kaufe nichts über ebay, meine kamen über Aliexpress und liegen preislich deutlich unter datapro.

Finde ich recht praktisch.

Mir macht es keinen Spaß, das Loch für die Buchse zu feilen. Aber musste sein, weil nach Inbetriebnahme noch Optimierungen der Software notwendig waren.

Angehängte Dateien:
OP #7457248
Lesenswert?

Manfred P. schrieb:

Gerhard O. schrieb:

Ich verwende manchmal solche USB Frontplatten montierbare Kabel um mit der Bord zu verbinden: https://www.datapro.net/catalog/usb-panel-mount-cables.html

Sowas habe ich in "Rueckwand.jpg" verbaut, Mini-USB-Stecker auf USB-B-Buchse.

Die gibt’s auch billiger in der Bucht.

Ich kaufe nichts über ebay, meine kamen über Aliexpress und liegen preislich deutlich unter datapro.

Die Bucht ist für uns hier weniger ein Problem. Ich habe bis jetzt immer gute Erfahrungen mit ALIExpress gemacht.

Finde ich recht praktisch.

Mir macht es keinen Spaß, das Loch für die Buchse zu feilen. Aber musste sein, weil nach Inbetriebnahme noch Optimierungen der Software notwendig waren.

In Plastik kann man runde Löcher eigentlich recht einfach mit einer nicht zu feinen quadratischen Feile auf Maß bringen. Ich mußte das vor ein paar Wochen an meinen UV Belichter machen. Ich habe Feilen die das sehr leicht machen. Wenn vorhanden ist auch eine vertikale Tischfräse recht nützlich. Mit einem 6mm viernutigen Flach-Fräser kann man viele Aufgaben bequem erledigen (DB9...)

Was ich nicht ganz verstehe ist, warum der Adapterkabelhersteller um die USB-B Buchse herum kein rundes Führungsloch vorgesehen hat. Dann bräuchte man nur drei runde Löcher bohren und es sieht gleich gut ohne große Anstrengungen aus und man erspart sich das Feilen.

Beim Wasserhöhenmesser baute ich eine abnehmbare 12.7mm Schraubkappe ein um Zugang zur Nano USB Buchse zu haben. Der Kabelstecker hat dann noch genug Spiel.

Es ist definitiv gut, Zugang zum Nano UDB Port im eingebauten Zustand zu haben.

(Firma: Vescomp) #7457286
Lesenswert?

Jörg W. schrieb:

Ist völlig normal, dass man das tut. Auslesen der richtigen Signatur ist doch viel aufwändiger (und damit platzraubender), als einfach die gewünschten Bytes zurück zu liefern.

Aha, sicher. Routine zum Flash auslesen und schreiben muss sowieso vorhanden sein. Signature Bytes auslesen benötigt nur 3 zusätzliche Instruktionen. Alles andere ist dasselbe wie beim Fusebits auslesen.

Moderator Persönliche Seite #7457389
Lesenswert?

Marc V. schrieb:

Signature Bytes auslesen benötigt nur 3 zusätzliche Instruktionen.

Ja, und? Zurückgeben einer Konstante ist trotzdem weniger Aufwand.

Sowas hat man schon vor Urzeiten gemacht, siehe AVR109:

1
$ fgrep SIGNATURE_ *
2
defines.h:#define  SIGNATURE_BYTE_1  0x1E
3
defines.h:#define  SIGNATURE_BYTE_2  0x93
4
defines.h:#define  SIGNATURE_BYTE_3  0x07
5
main.c:                sendchar( SIGNATURE_BYTE_3 );
6
main.c:                sendchar( SIGNATURE_BYTE_2 );
7
main.c:                sendchar( SIGNATURE_BYTE_1 );
8
preprocessor.sh:#define  SIGNATURE_BYTE_1  ${sig1}
9
preprocessor.sh:#define  SIGNATURE_BYTE_2  ${sig2}
10
preprocessor.sh:#define  SIGNATURE_BYTE_3  ${sig3}

Ja, natürlich kann man das auch anders machen, wenn man möchte (und einen hinreichend neuen AVR hat – zu Zeiten von AVR109 ließ sich sowas gar nicht im Programm auslesen), aber man muss es eben auch nicht, wenn man einen Bootloader hat, der eh nur auf genau einem vorher bekannten Controller läuft.

Alles andere ist dasselbe wie beim Fusebits auslesen.

Viele Bootloader implementieren das gleich gar nicht erst, weil es ziemlich sinnlos ist: die lassen sich da eh nicht ändern.

(Firma: Gast) #7457396
Lesenswert?

Jörg W. schrieb:

weil es ziemlich sinnlos ist

Alles klar, lieber Mist zurückgeben, lügen, als auslesen.

Jörg W. schrieb:

Ja, natürlich kann man das auch anders machen,

Ja das kann man!

Jörg W. schrieb:

zu Zeiten von AVR109 ließ sich sowas gar nicht im Programm auslesen)

Das ist natürlich ein schlagkräftiges Argument: Weil es früher nicht ging, machen wir es heute auch nicht. Früher war eben alles besser, sogar die Zukunft.

#7457423
Lesenswert?

Manfred P. schrieb:

Gerhard O. schrieb:

aber avrdude führt ein strenges Regiment und lässt solche Schlampigkeiten nicht ohne -F Anweisung durchgehen:-)

Mit avrdude gehörst Du nicht zur typischen Zielgruppe der Arduinos und bist auch kein Anfänger. Im Gegenteil, Du benutzt sie als günstige µC-Baugruppe außerhalb der vorgesehenen Umgebung.

Hallo,

kennst du die Arduino IDE? Denn du verwechselt da was. Auch die Arduino IDE benötigt avrdude zum flashen mittels Bootloader. Weil das beim Gerhard nicht funktionierte, hat er danach!, seinen ISP Programmer angeschlossen und den BL ausgewechselt.

Moderator Persönliche Seite #7457425
Lesenswert?

Arduino F. schrieb:

lieber Mist zurückgeben, lügen

Wie kommst du auf den schmalen Pfad?

Ich sehe immer noch nicht das Problem: wenn ich einen Bootloader auf einen ATmega328P flashe, dann weiß ich doch, dass es ein ATmega328P ist, dann kann ich dem Bootloader sagen, dass er genau das als Signatur zurückgeben soll. Flashe ich ihn auf einen ATmega328PB, dann weiß ich das auch vor dem Flashen schon, und kann ihn so konfigurieren.

Warum sollte da jemand "lügen"?

Verpfuschen kann man natürlich immer alles.

"Lügen" muss ein Bootloader übrigens sowieso immer: wenn ihm gesagt wird, er solle ein "chip erase" machen, dann hat er dafür erstens schlicht gar nicht die Möglichkeit, das zu tun (was beispielsweise impliziert, dass er die lock bits nicht löschen kann), außerdem wird sich jeder sinnvoll gebaute Bootloader wohl schwerlich hüten, sich selbst zu entfernen. Dort "lügt" er also am Ende tatsächlich …

(Firma: Gast) #7457462
Lesenswert?

Jörg W. schrieb:

Ich sehe immer noch nicht das Problem: wenn ich einen Bootloader auf einen ATmega328P flashe, dann weiß ich doch, dass es ein ATmega328P ist, dann kann ich dem Bootloader sagen, dass er genau das als Signatur zurückgeben soll. Flashe ich ihn auf einen ATmega328PB, dann weiß ich das auch vor dem Flashen schon, und kann ihn so konfigurieren.

Offensichtlich hast du das Eingangsposting nicht gelesen. Dort ist ihm die Lüge auf die Füße gefallen.

Jörg W. schrieb:

wenn ihm gesagt wird, er solle ein "chip erase" machen, dann hat er dafür erstens schlicht gar nicht die Möglichkeit,

Ein Strohmann Argument, welches nichts mit dem Eingangsposting zu tun hat. Und keinesfalls die völlig unnötige Signaturlüge rechtfertigt.

Bemerke: Der Bootloader hätte sicherlich einwandfrei funktioniert wenn er nicht gelogen hätte. Selber die Signatur gelesen.

Moderator Persönliche Seite #7457518
Lesenswert?

Arduino F. schrieb:

Offensichtlich hast du das Eingangsposting nicht gelesen.

Habe ich.

Ich halte das aber nicht für eine "Lüge" (die einen Vorsatz unterstellt, jemandem etwas falsches absichtlich zu erzählen), sondern schlicht für Schlampigkeit beim Erstellen der Teile.

Ein Strohmann Argument

Es ist ein Hinweis darauf, dass sich ein Bootloader sowieso niemals 100 % wie ein externer Programmer benehmen kann, egal, wie du das nun drehst und wendest.

OP #7457576
Lesenswert?

Moin,

An sich ist das jetzt kein wirkliches Problem mehr. Die Moral von der Geschicht' ist, beim Kauf von den Chinabords immer selber den richtigen Optiboot via ISP draufspielen. Abgesehen davon, habe ich die Erfahrung gemacht, daß die China Klonen immer alte Bootloader drauf haben die mit dem Watchdog Reset nicht zurecht kommen.

Wenn es eben so ist, dass die Signature Bytes nicht aktuell vom BL gelesen werden, dann muß man eben selber aufpassen, daß der korrekte Optiboot draufgespielt wird. In meinen Fall bin ich davon ausgegangen, daß der Hersteller den korrekten Bootloader installiert hat und die sich vielleicht gedacht haben, daß es keine Rolle spielt. Wer weiß...

Die haben nur nicht bedacht, daß avrdude dem Bootloader wegen der Signature Bytes auf die Finger schaut und so eine Schummelei nicht übersieht und durchgehen lässt:-)

Jedenfalls, alleine wegen der Watchdog Funktion hat es Sinn, einen moderneren Bootloader wie Optiboot drauf zu haben.

VG, Gerhard

Moderator Persönliche Seite #7457578
Lesenswert?

Gerhard O. schrieb:

Abgesehen davon, habe ich die Erfahrung gemacht, daß die China Klonen immer alte Bootloader drauf haben die mit dem Watchdog Reset nicht zurecht kommen.

Das ist natürlich eh Mist.

In meinen Fall bin ich davon ausgegangen, daß der Hersteller den korrekten Bootloader installiert hat

Davon würde ich natürlich auch ausgehen. Dann kann er die Teile auch gleich ohne Bootloader ausliefern, wenn die so mies sind und $KUNDE ohnehin noch mit ISP anfassen muss (egal, ob nun wegen der Signatur, dem Watchdog oder was anderem).

Andererseits, you get what you pay for. Solange sie da was verkaufen können, werden sie sicher an ihrer Strategie nichts ändern.

OP #7457582
Lesenswert?

Jörg W. schrieb:

Gerhard O. schrieb:

Abgesehen davon, habe ich die Erfahrung gemacht, daß die China Klonen immer alte Bootloader drauf haben die mit dem Watchdog Reset nicht zurecht kommen.

Das ist natürlich eh Mist.

Ja. Deswegen bin schon seit vielen Jahren auf Optiboot umgestiegen.

In meinen Fall bin ich davon ausgegangen, daß der Hersteller den korrekten Bootloader installiert hat

Davon würde ich natürlich auch ausgehen. Dann kann er die Teile auch gleich ohne Bootloader ausliefern, wenn die so mies sind und $KUNDE ohnehin noch mit ISP anfassen muss (egal, ob nun wegen der Signatur, dem Watchdog oder was anderem).

Andererseits, you get what you pay for. Solange sie da was verkaufen können, werden sie sicher an ihrer Strategie nichts ändern.

Ist nicht schlimm, solange man sich helfen kann. Mir würde nur ein unerfahrener Schüler oder User leid tun, der erst darauf kommen muß und möglicherweise keinen zweiten Arduino zum ISP Flashen hat oder ein anderes ISP Programmiergerät. An der Bord HW Qualität gibt es nichts wirklich auszusetzen. Die besagten Bords sind sauber gelötet und vom Flußmittel befreit. Kann mich eigentlich nicht beklagen. Für USD5.64 das Stück, nehme ich das BL Problem ohnehin ohne Murren in Kauf.

OP #7457596
Lesenswert?

Jörg W. schrieb:

Gerhard O. schrieb:

Mir würde nur ein unerfahrener Schüler oder User leid tun, der erst darauf kommen muß und möglicherweise keinen zweiten Arduino zum ISP Flashen hat oder ein anderes ISP Programmiergerät.

Der muss dann halt, wie oben beschrieben, den MCU-Typ auf der Seite der Arduino-IDE anpassen auf das, was der Bootloader behauptet.

Daran dachte ich einen Moment auch. Nur steht im Header der config.conf Datei, daß man diese Datei nicht verändern sollte, weil jene bei jedem IDE Upgrade erneuert wird. Da müsste man also aufpassen, daß man das dann nicht übersieht.

#7457613
Lesenswert?

Gerhard O. schrieb:

Daran dachte ich einen Moment auch. Nur steht im Header der config.conf Datei, daß man diese Datei nicht verändern sollte, weil jene bei jedem IDE Upgrade erneuert wird. Da müsste man also aufpassen, daß man das dann nicht übersieht.

Versteh ich nicht. Der gemeine User kauft solch einen Nano, stellt einen Nano in der Arduino IDE ein, und legt los. Dass er eigentlich einen 328PB und nicht einen 328P hat kümmert ihn dabei nicht. Oder?

LG, Sebastian

OP #7457618
Lesenswert?

Sebastian W. schrieb:

Gerhard O. schrieb:

Daran dachte ich einen Moment auch. Nur steht im Header der config.conf Datei, daß man diese Datei nicht verändern sollte, weil jene bei jedem IDE Upgrade erneuert wird. Da müsste man also aufpassen, daß man das dann nicht übersieht.

Versteh ich nicht. Der gemeine User kauft solch einen Nano, stellt einen Nano in der Arduino IDE ein, und legt los. Dass er eigentlich einen 328PB und nicht einen 328P hat kümmert ihn dabei nicht. Oder?

LG, Sebastian

Es ist nur avrdude, der die falschen Signature Bytes beanstandet und den Programmier Zyklus abbricht. Schau Dir meine Screenshot Bilder höher im Thread an. Alles andere mit dem IDE ist in Ordnung. Es ist der falsche Bootloader der hier Zicken macht, weil er falsche Information liefert und avrdude dann abbricht.

Die Lösung ist halt, den offiziell richtigen Bootloader draufzuspielen.

Optiboot gibt es für die verschiedensten uC. Man kann Optiboot selber konfigurieren und bauen, weil das komplette Source Code Projekt frei erhältlich ist. (habe ich gemacht um z.B. einen 4MHz Pro-Mini zu haben)

Oder man geht zur Github Seite von Watterott und ladet sich dort die korrekte 328pb Optiboot herunter. Ich habe ein paar der Watterott Bords. Oder man kopiert einen funktionierenden BL für den gewünschten uC.

OP #7457664
Lesenswert?

Sebastian W. schrieb:

Gerhard O. schrieb:

Es ist nur avrdude, der die falschen Signature Bytes beanstandet und den Programmier Zyklus abbricht.

Ja, aber doch nur, weil in der IDE nicht Arduino Nano, sondern Atmega328PB konfiguriert ist! Oder was verstehe ich hier falsch?

LG, Sebastian

Das stimmt. Deswegen erwartet avrdude beim Bootloader, dass er die korrekte 0x1E9516 zurück gibt. Aber der China Nano gibt 1e950F aus und dann bricht avrdude ab.

Ich verwende das Watterott Paket (da ich auch mit deren Pro-Mini mit dem 328PB arbeite) und stelle natürlich den 328PB ein. Bei den Watterott Bords funktioniert ja alles auch einwandfrei. Es ist der "böse" China Nano der mit einem alten 328P BL geliefert wird. Der Fehler ist alleine auf den Fakt zurückzuführen, dass der China Hersteller irgendeinen alten 328P BL drauf spielte.

Das ist auch kein Malheur wenn man das mal weiss, aber dem "unsuspecting" User wird vielleicht uebel mitgespielt.

Die Bottom Line ist, dass IDE Einstellung und Bootloader zueinander passen müssen, was avrdude betrifft und ein passender BL in der HW installiert sein soll. Das ist alles im Grunde genommen. Das Problem liegt ganz auf der Seite des Herstellers. Alles andere im Arduino Bereich ist in Ordnung.

#7457668
Lesenswert?

Hallo,

Sebastian, verstehst du das Problem wirklich nicht? Kann doch nicht sein.

Wenn jemand der Lesen kann und bewusst den 'PB' bestellt und seine IDE demzufolge für 'PB' konfiguriert, der steht vor dem besagten Problem was Gerhard erfahren hat.

Wenn natürlich ein Brain irgendeinen Nano bestellt und keine Ahnung von der Bedeutung der Bezeichnungen hat, der hat Glück. Nur von solchen Brains sollte man nicht pauschal ausgehen.

#7457921
Lesenswert?

Veit D. schrieb:

Nur von solchen Brains sollte man nicht pauschal ausgehen.

Wie gesagt, ich denke dass der Hersteller genau von solchen Brains ausgegangen ist, die bei Konfiguration "Arduino Nano" ob der Fehlermeldung bei Rückgabe der 328PB-Signatur verzweifelt das Produkt als defekt retournieren würden.

Der umgekehrte Fall, dass ein User extra eine sonderliche Erweiterung "328PB" in die Arduino-IDE installiert, um auch ja alle tollen Features des 328PB nutzen zu können, der also zeigt dass es weiß was er tut, und dann an der Fehlermeldung durch die gefakte 328P-Signatur scheitert und dadurch das Produkt retourniert, ist für den Hersteller halt relativ unwahrscheinlicher.

LG, Sebastian

#7458038
Lesenswert?

Veit D. schrieb:

Sebastian, verstehst du das Problem wirklich nicht? Kann doch nicht sein.

Er hat das Problem verstanden, in gleicher Weise, wie ich es schrieb:

Manfred P. schrieb:

Wirklich? Ich benutze die Arduino-IDE, der Bootloader meldet sich und der Programmupload startet. Da die Softwarekompatibilität gegeben ist, muß die Arduino-IDE den tatsächlichen Typ PB nicht wissen.

Manfred P. schrieb:

Mit avrdude gehörst Du nicht zur typischen Zielgruppe der Arduinos und bist auch kein Anfänger. Im Gegenteil, Du benutzt sie als günstige µC-Baugruppe außerhalb der vorgesehenen Umgebung.

Sebastian W. schrieb:

Veit D. schrieb:

Nur von solchen Brains sollte man nicht pauschal ausgehen.

Wie gesagt, ich denke dass der Hersteller genau von solchen Brains ausgegangen ist, die bei Konfiguration "Arduino Nano" ob der Fehlermeldung bei Rückgabe der 328PB-Signatur verzweifelt das Produkt als defekt retournieren würden.

Genau so sehe ich die Zielgruppe: Nano auswählen, anschließen und fertig - egal, ob ein B oder PB drauf ist.

Ich habe keine Ahnung, ob Arduino eine neuere IDE hat, wo man ausdrücklich "328PB" angeben kann.

(Firma: Gast) #7458059
Lesenswert?

Manfred P. schrieb:

ob Arduino eine neuere IDE hat, wo man ausdrücklich "328PB" angeben kann.

Arduino kennt das Konzept der hinzuladbaren Hardware Definitionen. Auch für PB Boards.

Manfred P. schrieb:

Ich habe keine Ahnung,

Offensichtlich.

Manfred P. schrieb:

Genau so sehe ich die Zielgruppe: Nano auswählen, anschließen und fertig

  • egal, ob ein B oder PB drauf ist.

Welch ein Unsinn.

OP #7458065
Lesenswert?

Manfred P. schrieb:

Ich habe keine Ahnung, ob Arduino eine neuere IDE hat, wo man ausdrücklich "328PB" angeben kann.

Moin,

Was den 328PB betrifft, hat Watterott und ein paar andere Bord Packages dafür geschaffen, die alles berücksichtigen. Auch der ATMEGA1284 ist unterstützt, sowie die neuen AVR128Dx Typen.

Für 328PB:- https://github.com/watterott/ATmega328PB-Testing Man gibt dann in preferences diese commandline ein: https://github.com/watterott/ATmega328PB-Testing/raw/master/package_m328pb_index.json und alles wird vollautomatisch mithineingezogen.

Wenn das mal installiert ist, kann man den 328PB und Optionen anwählen.

https://github.com/topics/atmega328pb

Für ATMEGA1284 gibt es den MightyCore: https://github.com/MCUdude/MightyCore

Für AVR128Dx: https://github.com/SpenceKonde/DxCore

Mit diesen "Plug-Ins" werden dann alle diese Varianten im Arduino IDE kompatibel. Nur wenn man "bare Metall" programmiert, dann ist man mehr auf sich selber gestellt.

Gerhard

#7470729
Lesenswert?

Hallo, ich hänge mich hier mal mit an. Habe das gleiche Problem. Gekaufte China- Klone ATMEGA 328PB. Ich habe von Watterott / Github das genannte Board Package in der IDE installiert und über Bordverwalter eingestellt. Ich will mit Hilfe eines UNO diesem 328PB, welcher auf einem Nano Board einen defekten 328P ersezt, einen Bootloader per ISP brennen. Doch hier taucht eine andere Signatur auf: 0x1F 95 17, erwartet wird für den 328PB 1E 95 16. AVRDude bricht ab. Gibt es noch andere Board Packages, die diese Signatur beinhalten? Oder eine andere Lösung, den Bootloader zu brennen?

#7470766
Lesenswert?

Holger M. schrieb:

Hallo, ich hänge mich hier mal mit an. Habe das gleiche Problem. Gekaufte China- Klone ATMEGA 328PB. Ich habe von Watterott / Github das genannte Board Package in der IDE installiert und über Bordverwalter eingestellt. Ich will mit Hilfe eines UNO diesem 328PB, welcher auf einem Nano Board einen defekten 328P ersezt, einen Bootloader per ISP brennen. Doch hier taucht eine andere Signatur auf: 0x1F 95 17, erwartet wird für den 328PB 1E 95 16. AVRDude bricht ab. Gibt es noch andere Board Packages, die diese Signatur beinhalten? Oder eine andere Lösung, den Bootloader zu brennen?

Bei welchem Schritt genau taucht diese Signatur auf? Beim Hochladen des ArduinoISP-Programms auf den Uno? Beim Benutzen des ArduinoISP-Programms auf dem Uno zum Programmieren des neuen Bootloaders auf den Atmega328PB-Nano? Oder wobei genau?

LG, Sebastian

OP #7470908
Lesenswert?

Moin,

Schau mal ins "config.conf" rein. Vielleicht kann man dort die Signature vorübergehend anpassen.

Es gibt such eine Commandline Option für avrdude "-E" um diesen Test zu unterdrücken.

Habe das nicht ausprobiert, weil ich lieber mit Atmel Studio 7.0 und dem AVR ISP MKII arbeite. Da stört das nicht.

Wenn Du das ähnlich machen könntest, dann brauchst Du nicht mit avrdude streiten bzw. sein Setup zu modifizieren.

Gerhard

#7470916
Lesenswert?

Gerhard O. schrieb:

Moin,

Schau mal ins "config.conf" rein. Vielleicht kann man dort die Signature vorübergehend anpassen.

Es gibt such eine Komnandoline Option für avrdude "-E" um diesen Test zu unterdrücken.

Habe das nicht ausprobiert, weil ich lieber mit Atmel Studio 7.0 und dem AVR ISP MKII arbeite. Da stört das nicht.

Wenn Du das ähnlich machen könntest, dann brauchst Du nicht mit avrdude streiten bzw. Zu modifizieren.

Gerhard

Danke, da werd ich mal danach suchen. Habe mir aber auch schon überlegt, ob ich das nicht mit Atmel Studio und USB-ISP mache. Ich besitze einen Elnec Programmer T51Prog2, auf dem ist dieser ATMEGA 328P auswählbar, in der letzten unterstützten Softwareversion (leider nur bis 2021) war auch der 328PB, aber der verweigerte auch das Brennen (noch außerhalb des Arduino in einem TQFP32 Adapter). Per ISP könnte ich mein Prog doch eigentlich auch ohne den Bootloader brennen? Das erzeugte Hex- oder Bin File kann man doch sicher auch mit Atmel Studio brennen?

OP #7470920
Lesenswert?

Holger M. schrieb:

Gerhard O. schrieb:

Moin,

Schau mal ins "config.conf" rein. Vielleicht kann man dort die Signature vorübergehend anpassen.

Es gibt such eine Komnandoline Option für avrdude "-E" um diesen Test zu unterdrücken.

Habe das nicht ausprobiert, weil ich lieber mit Atmel Studio 7.0 und dem AVR ISP MKII arbeite. Da stört das nicht.

Wenn Du das ähnlich machen könntest, dann brauchst Du nicht mit avrdude streiten bzw. Zu modifizieren.

Gerhard

Danke, da werd ich mal danach suchen. Habe mir aber auch schon überlegt, ob ich das nicht mit Atmel Studio und USB-ISP mache. Ich besitze einen Elnec Programmer T51Prog2, auf dem ist dieser ATMEGA 328P auswählbar, in der letzten unterstützten Softwareversion (leider nur bis 2021) war auch der 328PB, aber der verweigerte auch das Brennen (noch außerhalb des Arduino in einem TQFP32 Adapter). Per ISP könnte ich mein Prog doch eigentlich auch ohne den Bootloader brennen? Das erzeugte Hex- oder Bin File kann man doch sicher auch mit Atmel Studio brennen?

Damals kopierte ich einfach das Hex Image vom Watterott 328pb und brannte es dann in den anderen 328pb. Das ging ohne irgendwelche Schwierigkeiten. Allerdings kopierst Du ein irgendein schon geladenes Programm mit. Aber das macht ja nichts.

Ich habe nur den AVR-ISP und einen STK500. Seit letztes Jahr noch den ATMEL ICE wegen UPDI. Deinen Elnec kenne ich leider nicht.

Ist blöd, daß der Elnec beim 328pb nicht mitspielen will. Dann wäre es möglicherweise doch leichter den config.conf zu modifizieren, so daß die Signaturen wie vereinbart passen.

Du kannst avrdude auch mit Deiner eigenen Commandline aufrufen. Das habe ich einmal gemacht und hat funktioniert.

#7470927
Lesenswert?

Hallo,

@ Holger: Hast du den UNO als temporären Programmer auch richtig beschalten? Viele Leute vergessen den Kondensator der den Reset des UNO verhindern muss. Wenn das nicht klappt versucht man beim Bootloader brennen immer wieder den UNO zu flashen statt den Ziel Controller der am UNO hängt. Glücklicherweise verhindert die Signaturprüfung immer wieder Schlimmeres.

Übrigens fragt avrdude in dem Fall hier vom 328PB die echte Signatur ab. avrdude will ja nicht mit dem möglicherweise vorhandenen Bootloader vom 328PB reden. Das heißt die Signatur vom 328PB muss stimmen.

#7470931
Lesenswert?

Hallo,

100nF sind zu klein. 10µF sollten es schon sein.

Desweiteren kannst du erstmal den Kontakt testen ohne Dateiangabe. Also eine Art Pingtest. Sowas in der Art. avrdude -c avrispmkII -p m328pb -v oder avrdude -c avrispmkII -p m328pb -v -P usb

Parameter/Optionen anpassen.

Wenn die Signatur und alles andere passt sollte keine Fehlermeldung kommen. Erst wenn das passt kannste mit flashen weitermachen.

Angehängte Dateien:
#7470965
Lesenswert?

Ich habe meine beim ALI gekauft. So langsam wundere ich mich nicht mehr. Es ist sicher so, dass da ein 324 drin steckt, wie Jörg schreibt. Neulich hatte ich Transistoren BD 237 bestellt und lt. Aufdruck auch bekommen. Beim probehalber Durchmessen habe ich festgestellt, dass da eine Freilaufdiode integriert war. Lt. Datenblatt gibt es im BD 237 aber gar keine und hätte in meiner Schaltung auch gestört! So langsam gehe ich davon aus, dass das wirklich kein 328PB ist, ebenso wie das bei den BD's war. Hatte ich damals reklamiert und habe mein Geld wieder bekommen, auf Rücksendung haben sie verzichtet. Musste ich allerdings beweisen, hatte dazu bei der Messung ein Video dazu gemacht und geschickt.

Jetzt werde ich erst mal darüber schlafen! Es waren ja nur 10 St., die ich gekauft hatte...... Danke an alle und Gute N8!

Angehängte Dateien:
Moderator Persönliche Seite #7470976
Lesenswert?

Holger M. schrieb:

Hab mal noch die Rückseite abgebildet:

OK, meine sind in Taiwan montiert worden und nicht in Thailand, die sehen etwas anders aus (nur ein Punkt in der Mitte).

Bleibt natürlich die versemmelte Signatur. Du könntest probieren, auf der Kommandozeile diese mit der Option "-F" zu überschreiben und dann zu sehen, wie sich der restliche Chip benimmt.

Holger M. schrieb:

Es ist sicher so, dass da ein 324 drin steckt, wie Jörg schreibt.

Nein, glaube ich nicht. Erstens ist da immer noch die falsche Vendor ID, zweitens ist der ATmega324 viel größer. Keiner macht den Aufwand, einen Chip aus einem existierenden Gehäuse zu extrahieren und neu zu verpacken / bonden.

Da ist einfach die Signatur versemmelt worden, von wem auch immer und warum auch immer. Ob es dann wirklich ein "PB" ist, könnte man nur durch eine Firmware klären, die die erweiterten Features versucht zu benutzen. Möglicherweise ist es irgendwie ein recycelter "P".

#7470983
Lesenswert?

Hallo,

klingt zwar vielleicht immer komisch. Aber bei Ali, ebay & Co kauft man keine Halbleiter. Früher hatte man Pech wenn man eine Fälschung bekommen hat. Heute hat man Glück wenn es keine Fälschung bzw. ein funktionierendes Irgendwas ist. Und billiger sind die auf den diversen Plattformen im Grunde auch nicht mehr.

Nach der Info vom Jörg habe ich das Manual zum 324P aufgeschlagen. Danach gibt den nur im 44 Pin TQFP Gehäuse. Das passt mit deinem leider hinten und vorne nicht. Egal wie man es dreht und wendet. Wer weiß was da drin steckt. Warte auf die nächste Mouser Sammelbestellung im Forum Marktplatz und kauf Originale. Das erspart viel Frust und Zeit.

Ich kann es mir beim besten Willen nicht vorstellen das die mit falscher Signatur das Werk verlassen. Vorne raus. :-) Im dümmsten Fall landet Schrott durch irgendwelche dunklen Kanäle bei Ali & Co und damit schließt sich der Kreis das man bei denen keine Halbleiter kauft.

Wenn du ganz viel Zeit und Forscherdrang haben solltest, änderst du in der avrdude Config die Signatur und testet den durch. Ich würde mir das nicht antun. Dafür sind die zu billig. :-)

#7470984
Lesenswert?

Jo, hast Recht. Muss mal sehen, was ich damit noch anstelle. Habe ja auch noch einen gewissen Vorrat an neuen NANOS hier liegen. Mit dem 328P. Denen muss ich allerdings auch den neueren Bootloader verpassen, weil ich auch den Watchdog nutzen muss.... Aber damit funktioniert das ja, hatte ich schon gemacht. Gruß Holger

Angehängte Dateien:
#7471064
Lesenswert?

Gerhard O. schrieb:

nein, das stimmt nicht. Es war avrdude, das sich über den Nano genervt hatte. Guck mal auf die screen captures.

Dort hast du unter avrdude als Programmer "Arduino" dies liest den Bootloader aus. Mit dem ISP unter AVRDUDE müsste er selbstverständlich auch die richtigen Fuses und Signatur bringen. Unter AS7 mit einem ISP liest du selbstverständlich die fest gebrannten Fuses des Chips aus - den ISP interessiert logischerweise der Bootloader überhaupt nicht da er ja direkt auf Flash und Rom zugreift ohne über einen Bootloader zu gehen. (Deswegen kann man mit einem ISP ja auch den Bootloader schreiben)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren