Wurkkos Taschenlampen

Skilhunt Taschenlampen

Treiber kaputtgeflasht?

uselessuser

Flashaholic**
11 März 2018
1.240
729
113
Schweiz
Hallo zusammen,

Ich habe versucht bei meiner Noctigon KR1 (12V) eine neue Firmware aufzuspielen. Ich habe die `hwdef` und auch die `cfg`-Datei aus dem Flashlight Firmware Repository `anduril2` Branch kopiert und versucht mit Anduril1 aus `trunk` zum Laufen zu bekommen.

Der Treiber hat kompiliert, aber nachdem ich das hex aufgespielt habe war die Lampe tot. Kein Blinken beim Zuschrauben, keine Reaktion auf den Schalter. Gut, dachte ich mir, machen wir den originalen Treiber wieder drauf. Also habe ich einfach den `anduril2` Branch neu heruntergeladen, kompiliert, und das Ergebnis aufgespielt. Jetzt blinkt die LED zwar einmal auf beim Zuschrauben, aber ansonsten tut sich nach wie vor nichts.

Nach meinem naiven Verständnis kann man den Treiber durch falsche Software eigentlich nicht permanent kaputt bekommen, oder? Falls doch verstehe ich nicht wie das gehen sollte.

Ich habe mal naiv die Fuses neu gesetzt, aber das hat natürlich gar nichts bewirkt. Was kann da schief gelaufen sein?
 

SammysHP

Flashaholic**
6 Oktober 2019
2.607
3.460
113
Celle
www.sammyshp.de
Ich habe die `hwdef` und auch die `cfg`-Datei aus dem Flashlight Firmware Repository `anduril2` Branch kopiert und versucht mit Anduril1 aus `trunk` zum Laufen zu bekommen.
Das kann nicht funktionieren, weil sie Anduril 1 und Anduril 2 stark voneinander unterscheiden.

Nach meinem naiven Verständnis kann man den Treiber durch falsche Software eigentlich nicht permanent kaputt bekommen, oder? Falls doch verstehe ich nicht wie das gehen sollte.
Theoretisch geht das. Es müssen nur die Ein- und Ausgänge falsch herum konfiguriert werden und es können unschöne Ströme fließen. Hängt aber auch stark von der Treiberarchitektur ab.

Ich habe mal naiv die Fuses neu gesetzt
Das wiederum sollte man besser nicht machen, da dort leicht etwas schief laufen kann und dann ist der Treiber in der Tat hin (außer, du hast ein entsprechendes Programmiergerät und möchtest den Microcontroller auslöten).

Jetzt blinkt die LED zwar einmal auf beim Zuschrauben, aber ansonsten tut sich nach wie vor nichts.
Du hast dir vorher sicherlich gemerkt, welche Firmware aufgespielt ist? Also den den Modellcode am Ende der Versionsprüfung? Wenn ich mich richtig erinnere, gibt es verschiedene Versionen des 12V-Treibers mit unterschiedlicher Firmware. Allgemein gibt es bei Hanks Lampen einiges Durcheinander. Der Name der Firmware bezieht sich nicht mehr auf das tatsächliche Lampenmodell, sondern auf das Treibermodell, das aber in einer ganz anderen Lampe verbaut sein kann…

Es klingt so, als ob der Schalter an einem anderen Pin angeschlossen ist. Welche Konfiguration hattest du denn genau genommen?
 

Buteo

Flashaholic**
25 März 2015
2.929
1.310
113
Hallo zusammen,

Ich habe versucht bei meiner Noctigon KR1 (12V) eine neue Firmware aufzuspielen. Ich habe die `hwdef` und auch die `cfg`-Datei aus dem Flashlight Firmware Repository `anduril2` Branch kopiert und versucht mit Anduril1 aus `trunk` zum Laufen zu bekommen.

Der Treiber hat kompiliert, aber nachdem ich das hex aufgespielt habe war die Lampe tot. Kein Blinken beim Zuschrauben, keine Reaktion auf den Schalter. Gut, dachte ich mir, machen wir den originalen Treiber wieder drauf. Also habe ich einfach den `anduril2` Branch neu heruntergeladen, kompiliert, und das Ergebnis aufgespielt. Jetzt blinkt die LED zwar einmal auf beim Zuschrauben, aber ansonsten tut sich nach wie vor nichts.

Nach meinem naiven Verständnis kann man den Treiber durch falsche Software eigentlich nicht permanent kaputt bekommen, oder? Falls doch verstehe ich nicht wie das gehen sollte.

Ich habe mal naiv die Fuses neu gesetzt, aber das hat natürlich gar nichts bewirkt. Was kann da schief gelaufen sein?
Das kann nicht funktionieren, weil sie Anduril 1 und Anduril 2 stark voneinander unterscheiden.


Theoretisch geht das. Es müssen nur die Ein- und Ausgänge falsch herum konfiguriert werden und es können unschöne Ströme fließen. Hängt aber auch stark von der Treiberarchitektur ab.


Das wiederum sollte man besser nicht machen, da dort leicht etwas schief laufen kann und dann ist der Treiber in der Tat hin (außer, du hast ein entsprechendes Programmiergerät und möchtest den Microcontroller auslöten).


Du hast dir vorher sicherlich gemerkt, welche Firmware aufgespielt ist? Also den den Modellcode am Ende der Versionsprüfung? Wenn ich mich richtig erinnere, gibt es verschiedene Versionen des 12V-Treibers mit unterschiedlicher Firmware. Allgemein gibt es bei Hanks Lampen einiges Durcheinander. Der Name der Firmware bezieht sich nicht mehr auf das tatsächliche Lampenmodell, sondern auf das Treibermodell, das aber in einer ganz anderen Lampe verbaut sein kann…

Es klingt so, als ob der Schalter an einem anderen Pin angeschlossen ist. Welche Konfiguration hattest du denn genau genommen?
Darf ich einen Vorschlag machen?

Ich habe noch nichts gemoddet, aber bevor jetzt noch schlimmeres geschieht...vielleicht wäre es sinnvoll, die Lampe zu einem im Modding und in Reparatur erfahrenen Forenmitglied zu senden, um es evtl. vernünftig hinzubekommen? :)
 

steidlmick

Flashaholic***
15 August 2012
6.331
5.404
113
Bielefeld, NRW
Nach meinem naiven Verständnis kann man den Treiber durch falsche Software eigentlich nicht permanent kaputt bekommen, oder?
Wenn sonst alle elektrischen Verbindungen korrekt waren, dann geht eine MCU durch das Flashen i.d.R. nicht kaputt.

Für mich klingt deine Beschreibung so, als hättest du unabsichtlich einfach nur Unsinn in den Treiber geflasht.
Ich habe mal naiv die Fuses neu gesetzt, aber das hat natürlich gar nichts bewirkt.
Das ist tatsächlich eher gefährlich, damit haben sich schon Leute dauerhaft aus der MCU ausgesperrt.
Fuses sollte man nur ändern/neu setzen, wenn man ganz genau weiß, was man tut und ggf. die "Notfallausrüstung" hat, um Fehler abfangen zu können.
Was kann da schief gelaufen sein?
Das ist schwierig aus der Ferne exakt zu beurteilen, deine Vorgehensweise und ungewöhnliche Kombinationen aus Andúril1 und Andúril2 war jedenfalls nicht hilfreich.

Vielleicht kannst du einfach mal beschreiben, was du eigentlich überhaupt erreichen wolltest. Mir ist nämlich nicht ganz klar, warum du das überhaupt gemacht hast bzw. welches Ziel du verfolgt hast.
 

uselessuser

Flashaholic**
11 März 2018
1.240
729
113
Schweiz
Das kann nicht funktionieren, weil sie Anduril 1 und Anduril 2 stark voneinander unterscheiden.
Weisst du das, oder ist das eine Aussage basierend darauf dass Anduril2 eben eine teilweise andere Codebase hat als Anduril1? Ich beschreibe weiter unten mal genauer was ich getan habe bzw. vorhabe.

Theoretisch geht das. Es müssen nur die Ein- und Ausgänge falsch herum konfiguriert werden und es können unschöne Ströme fließen. Hängt aber auch stark von der Treiberarchitektur ab.
Ich habe diese Datei hier als Grundlage verwendet und einfach nur die Zeile
`#define USE_DYN_PWM // dynamic frequency and speed`
auskommentiert weil Anduril1 damit nichts anfangen kann. Das war natürlich ein Experiment, ich habe keine Ahnung was das tut. Aber die Pin-Belegung sollte das ja hoffentlich nicht so geändert haben dass es den Treiber schrottet.
Alle anderen Änderungen waren in der `cfg` Datei.

Das wiederum sollte man besser nicht machen, da dort leicht etwas schief laufen kann und dann ist der Treiber in der Tat hin (außer, du hast ein entsprechendes Programmiergerät und möchtest den Microcontroller auslöten).
Ja, das war auch nicht wahnsinnig klug. Ich habe das flash-fuses script aus dem selben Branch genommen.

Du hast dir vorher sicherlich gemerkt, welche Firmware aufgespielt ist? Also den den Modellcode am Ende der Versionsprüfung?
:pfeifen: Meine Annahme war dass ich einfach die aktuelle Version kompilieren und aufspielen kann, daher habe ich kein Backup gemacht und auch nicht geschaut welche Version original drauf war.

Wenn ich mich richtig erinnere, gibt es verschiedene Versionen des 12V-Treibers mit unterschiedlicher Firmware. Allgemein gibt es bei Hanks Lampen einiges Durcheinander. Der Name der Firmware bezieht sich nicht mehr auf das tatsächliche Lampenmodell, sondern auf das Treibermodell, das aber in einer ganz anderen Lampe verbaut sein kann…
Ja, das Chaos hat mit der "D4V2.5" angefangen und ist nicht besser geworden. Aber in der `cfg` steht explizit dass sie auch für die KR1 taugt, und diese bindet die `hwdef` der KR4 ein. Damit sollte das schon alles so stimmen.

Für mich klingt deine Beschreibung so, als hättest du unabsichtlich einfach nur Unsinn in den Treiber geflasht.
Ja, ich versuche das nochmal wenn ich weniger müde bin. Das ist sicher ein erster sinnvoller Schritt. ;)

Das ist tatsächlich eher gefährlich, damit haben sich schon Leute dauerhaft aus der MCU ausgesperrt.
Fuses sollte man nur ändern/neu setzen, wenn man ganz genau weiß, was man tut und ggf. die "Notfallausrüstung" hat, um Fehler abfangen zu können.
Verstanden, danke.

Vielleicht kannst du einfach mal beschreiben, was du eigentlich überhaupt erreichen wolltest. Mir ist nämlich nicht ganz klar, warum du das überhaupt gemacht hast bzw. welches Ziel du verfolgt hast.
Die KR1 hat ein Aux-Board verpasst bekommen, aber das ist unwichtig. Relevanter ist dass fast alle meiner Lampen Anduril1 verwenden, es mir wichtig ist dass alle Lampen möglichst gleich bedienbar sind, und dass ich keine Lust habe die alle nochmal aufzumachen um Anduril2 draufzupacken.
Meine Überlegung war folgende: Da Anduril1 auf auf Lampen mit Boost-Treibern läuft, ist es nicht ausgeschlossen, dass es auch auf dem 12V KR4-Treiber zum Laufen zu bekommen ist. Also habe ich die `hwdef` und `cfg` der 12V KR4 heruntergeladen, mir die entsprechenden Dateien des 12V K1-Treibers danebengehalten, und so lange herumgefriemelt bis Anduril1 dafür kompiliert hat (einfach ein paar "redefinition" Fehler mit `#ifndef` angefangen). Ich habe alles aus der `cfg` entfernt das Anduril1 nicht versteht und dafür alles reinkopiert, das Anrudil1 zumindest für die K1 erwartet. Das habe ich dann kompiliert und geflasht, mit dem bekannten Ergebnis.

Ist der Ansatz prinzipiell zum Scheitern verurteilt?

Darf ich einen Vorschlag machen?

Ich habe noch nichts gemoddet, aber bevor jetzt noch schlimmeres geschieht...vielleicht wäre es sinnvoll, die Lampe zu einem im Modding und in Reparatur erfahrenen Forenmitglied zu senden, um es evtl. vernünftig hinzubekommen?
Wenn ich immer so vorgegangen wäre hätte ich nie etwas gelernt :) Im schlimmsten Fall bestelle ich mir bei Hank einen neuen Treiber und baue den ein, ich habe Zeit.
 

SammysHP

Flashaholic**
6 Oktober 2019
2.607
3.460
113
Celle
www.sammyshp.de
einfach nur die Zeile
`#define USE_DYN_PWM // dynamic frequency and speed`
auskommentiert weil Anduril1 damit nichts anfangen kann. Das war natürlich ein Experiment, ich habe keine Ahnung was das tut.
Dann solltest du das jetzt am besten herausfinden, falls du weiterhin versuchen möchtest, Anduril 1 für den Treiber zum laufen zu bekommen.

Bezuglich passender Anduril 2 Firmware probierst du einfach alle halbwegs naheliegenden Versionen aus. Und wenn der Treiber doch mal kaputt geht, warst du ja vorher schon bereit, einfach einen neuen zu kaufen.
 
  • Danke
Reaktionen: B34u7y

uselessuser

Flashaholic**
11 März 2018
1.240
729
113
Schweiz
Also, ich bekomme den Treiber nicht wiederbelebt. Ich habe den `anduril2` branch nochmal neu runtergeladen, kompiliert (mit dem Docker-image von @SammysHP), und brav mit `bin/flash-tiny1634.sh` geflasht. Bis auf den kurzen Blitz beim Zuschrauben regt sich da nichts mehr.
Hat zufällig jemand eine D4V2, KR1, oder KR4 mit Boost-Treiber herumliegen und könnte das hex davon ziehen und mir schicken? Aber ich bezweifle auch dass der Treiber im Repository wirklich so kaputt ist und es niemand gemerkt hat...
 

uselessuser

Flashaholic**
11 März 2018
1.240
729
113
Schweiz
Heute hatte ich wieder ein wenig Zeit herumzuspielen. Ich habe jetzt das 12V Anduril2 hex der KR4, DM11, und K1 aufgespielt. Bei manchen blinkt die Lampe beim Zudrehen, bei anderen nicht, und bei keinem gehen die Aux-LEDs an oder bewirkt der Schalter irgendwas.

Ich vermute ich warte jetzt bis der neue Treiber von Hank da ist und versuche es nochmals von vorne, einfach um sicher zu gehen dass ich es nicht kann :) Habe ja zwei Treiber bestellt...