Ich möchte in dieser Frage von einem erfahrenen Mikrokontrollerentwickler ("er") ausgehen. Und zwar frage ich mich, woran er scheitern würde, wenn er versuchen würde Verbraucherelektronik mit einer eigenen Software umzuprogrammieren. Er würde also das komplette Gerät gerne selbst programmieren und nicht eine vorhandene Firmware nur bearbeiten. Meines Wissens nach ist das nämlich kaum machbar. Wenn man eine Annahme, dass er scheitern würde falsch ist, lasse ich mich natürlich gerne korrigieren. Vielleicht ist es auch so, dass er es nicht machen würde, weil es zu aufwendig wäre. Ich denke dabei an folgende Verbraucherelektronik (Beispiele): - ein Funkwecker - ein Festplattengehäuse - eine Mikrowelle - ein DAB-Radio - ein Bluetoothlautsprecher Also woran würde er scheitern? Dass kein Quellcode zugänglich ist, trifft wohl schonmal zu 99% zu. Bei einem Festplattengehäuse wo ich mich über den Chip schlau gemacht habe, war wohl nicht mal ein Pin-Diagramm im Internet auffindbar. Dann sind moderne Chips wohl teilweise auch noch für Firmware-Updates gesperrt. Eine Software-SDK bei einer Mikrowelle zu finden ist wohl auch so gut wie unmöglich. Dann gibt es wohl masked ROM, welcher sich überhaupt nicht flashen lässt. Und so weiter... Aber weil ich kein Experte für Mikrokontroller bin, wollte ich mal fragen ob meine Annahmen stimmen. Oder ist es etwa doch möglich, Verbraucherelektronik umzuprogrammieren?
Steff schrieb: > Meines Wissens nach ist das nämlich kaum machbar. Wer sagt das so paschal? > Wenn man eine Annahme, dass er scheitern würde falsch ist, lasse ich > mich natürlich gerne korrigieren. Vielleicht ist es auch so, dass er es > nicht machen würde, weil es zu aufwendig wäre. Erstens zu aufwendig, denn es wird ja nicht einfach so drauf los programmiert, sondern man muß sich ja auch mit der elektronik beschäftigen, die um den µC herum so kreucht und fleucht. Dann wäre noch die Frage, ob es kundenspezifische bzw. maskenprogrammierte µC sind, denn die lassen sich nicht wieder neu programmieren. Aber solche Teile, wo ein "normaler" µC mit Flashspeicher drin ist, lassen sich neu programmieren (egal, ob ausslesegeschützt). > Dass kein Quellcode zugänglich ist, trifft wohl schonmal zu 99% zu. Brauchst Du auch nicht - Du willst ja selber programmieren ... > Dann gibt es wohl masked ROM, welcher sich überhaupt nicht flashen lässt. Runterlöten, und durch die Flash-Variante ersetzen ...
:
Bearbeitet durch User
Steff schrieb: > Und zwar frage ich mich, woran er scheitern würde, wenn er versuchen > würde Verbraucherelektronik mit einer eigenen Software > umzuprogrammieren. Vielleicht an maskenprogrammierten Controllern. Vielleicht an ASICs. Vielleicht an chinesischen Datenblättern. Vielleicht an gar nicht zugänglichen Datenblättern. Vielleicht aber auch an gar nichts, wie Projekte wie Tasmota oder Rockbox zeigen.
Mit einer Seriellen on Board gibt es einen Bootloader der evt. geschützt ist, mit einem ISP oder JTAG kannst du voll auf die MCU zugreifen.
Steff schrieb: > Ich denke dabei an folgende Verbraucherelektronik (Beispiele): > - ein Funkwecker > - ein Festplattengehäuse > - eine Mikrowelle > - ein DAB-Radio > - ein Bluetoothlautsprecher Erst mal: es heißt einEN Funkwecker und einEN Bluetoothlautsprecher. Außerdem: ein Festplattengehäuse muss nicht programmiert werden; ist aus Metall oder Plastik. Einen Funkwecker habe ich schon gebaut und programmiert, ein DAB-Radio ebenso. Bluetoothlautsprecher sind soo billig, Selbstbau lohnt sich nicht. Und ein Mikrowellensignal habe ich auch schon erzeugt. Was muss man da programmieren? Der ganze Thread ist Mumpitz.
Helmut -. schrieb: > Der ganze Thread ist Mumpitz. In der Überschrift steht: "Anfängerfrage". Und wie schon gesagt: wenn die Hardware, die er steuert klar ist und wenn der TO eine andere Funktionalität haben will und auch versteht, was alles in dem Gerät vom µC wie erledigt wird, könnte man schon eine eigene Software schreiben mit eigener Funktionalität - falls es ein 'normaler' µC ist und man dafür eine Programmierumgebung auftreiben kann. Nur auslesen und auf Assemblerebene verstehen und einige Funktionalitäten anpassen, wird auf Grund des Ausleseschutzes schon mal nicht gehen, selbst wenn man alles nachvollziehen könnte. Und, der Quellcode ist nicht nur zu 99% nicht zu erhalten, sondern eher zu 99,999%! Und selbst wenn, auch da müsste man einiges an Arbeit investieren, um alles richtig nachvollziehen zu können.
Es gibt zwar 8 Milliarden Menschen auf der Weltkugel aber offensichtlich nicht genug Nerds darunter die tagein tagaus consumer-TVs hacken und umfunzionieren. Schade eintlich!
Benedikt L. schrieb: > Es gibt zwar 8 Milliarden Menschen auf der Weltkugel aber offensichtlich > nicht genug Nerds darunter die tagein tagaus consumer-TVs hacken und > umfunzionieren. Schade eintlich! Nicht nur Fernseher, auch Internetradios, denen man den benötigten Portalserver abgeschaltet hat und dadurch funktionslos wurden.
Bei Massenartikeln wie Mikrowellenöfen sind das maskenprogrammierte Controller, die man komplett ersetzen müsste, um da was zu ändern. Ich habe das damals z.B. mal mit einem Grundig Satellitenempfänger gemacht, weil die originale Ablaufsteuerung so richtig beknackt war. Aber dazu musst du die Schaltung haben und Verständnis für Protokolle und die grundlegende Technik. Da gabs I²C, SPI und GPIO Ports, sowie ein 595er LED Display usw. Damals habe ich das mit dem CEPAC-80 gelöst. Letzten Winter gabs Langeweile und ich habe ein tragbares Messgerät von Leybold mit eigener Firmware ausgerüstet. Aber das war ein Projekt, was sich über 2 oder 3 Wochen hinzog, denn zuerst musste z.B. das Pinout des STM32F429 bis zum letzten Beinchen durchgeklingelt werden.
Helmut -. schrieb: > Erst mal: es heißt einEN Funkwecker und einEN Bluetoothlautsprecher. Dann sind wir schon mal zwei alte Knacker die noch Wert darauf legen. Hab schon gedacht, das ich der einzige auf der Welt bin, dem dieses schriftliche Genuschel auf den Sack geht.
Ach, immer noch besser als „1 Wecker“ … On-Topic: Manchmal ist’s auch möglich und einfacher, die Steuerung zu ersetzen und die Bedienelemente, das Gehäuse und ggf. den Leistungsteil zu behalten.
Moin, Nachdem schon vor einem Vierteljahrhundert z.b. auf den DF1/Premiere-Receivern (dbox, dbox-2) und deren Smartcards ordentlich und alternativ 'umprogrammiert' wurde, wuerde ich mal sagen: Es sind wohl 2 Gruende die heute das Scheitern verursachen: 1.) Mangelnde Motivation. 2.) Mangelndes Know-How. Gruss WK
Jens G. schrieb: > Aber solche Teile, wo ein "normaler" µC mit Flashspeicher drin ist, > lassen sich neu programmieren (egal, ob ausslesegeschützt). Das stimmt so pauschal sicherlich nicht. Wie ich selber kürzlich erfahren musste, kann man sich aus einem LPC11xxx sehr einfach selber/versehentlich aussperren. Würde mich wundern, wenn das nicht bei anderen IC's auch möglich ist. In so einem Fall, wird der Aufwand eigene Firmware auf ein Gerät zu bekommen insofern erhöht, als man zuerst den µC durch einen neuen ersetzen muss.
3.) Der geringe Preis der Geräte, der den Aufwand zur Modifikation allermeist nicht rechtfertigt.
Dergute W. schrieb: > 1.) Mangelnde Motivation. > 2.) Mangelndes Know-How. 3.) Man lebt nicht lange genug, um fertig zu werden. Einen Smart TV stampft kein Hobbyprogrammierer "mal eben" an ein paar Wochenenden aus dem Boden. Diese Programme bauen in der Regel auf dem Code von vorherigen Modellen auf. Außerdem müssen Bibliotheken zugekauft werden, an die man privat gar nicht heran kommt.
Danke, habe schon das ein oder andere aus den Antworten mitnehmen können. @dc3yc Es geht hier darum Verbraucherelektronik umzuprogrammieren. Nicht darum, sie selbst zu entwerfen. @dembenseineleiche Auch um TVs geht es mir nicht. Das sind für mich Computer (ähnlich wie Desktop-Rechner) und nicht mikrokontrollergesteuert.
:
Bearbeitet durch User
Steff schrieb: > Es geht hier darum Verbraucherelektronik umzuprogrammieren. Nicht > darum, sie selbst zu entwerfen. Dann mach doch einfach. Nimm deinen Funkwecker, und mach ein Thermometer draus. Wenn du damit fertig bist, stells hier ins Forum. Oliver
Steff schrieb: > @dc3yc Anstatt "@dc3yc" markiert man den Text und drückt im Editorfenster "Markierten Text zitieren"! > Es geht hier darum Verbraucherelektronik umzuprogrammieren. Nicht > darum, sie selbst zu entwerfen. Das macht keinen Unterschied. Um ein Gerät "umzuprogrammieren", muß die Hardware zu 100% bekannt sein. Verabschiede Dich von Deiner Idee.
Inzwischen betreiben auch einige Hersteller extremen Aufwand ihre Hardware zu schützen. In einem Kundenprojekt programmieren wir beispielsweise die Firmware via JTAG in das Gerät und kommunizieren danach via CAN, schreiben Schlüssel welche wir von einem Server bekommen in den Speicher und verriegeln die JTAG Schnittstelle. Nun hat man nur noch die Möglichkeit entweder mithilfe der Schlüssel welche vom Server angefragt werden via CAN Bootloader die Software zu aktualisieren oder die JTAG Schnittstelle zu öffnen. Der Aufwand ist enorm dafür das es nicht mal Automotive ist.
Zabex hat auf seiner Seite (www.zabex.de - bringt ein paar Stunden Zeit zum stöbern mit) zwei Projekte, bei denen er Consumer-Elektronik mit eigener Hardware gesteuert hat. Ein Herd mit Kalogenkochplatten, Hardware überschaubar, benötigte Signale auch klar. Steuerung war machbar und ist wohl "produktiv" im Betrieb. Hintergrund war aber, dass die alte Steuerung defekt war und er den Herd retten wollte. Zweites Projekt war eine Waschmaschinensteuerung. Fundstück vom Sperrmüll, die benötigten Steuersignale konnten mit überschaubarem Reverse-Engineering auch rausgefunden werden. Aber bei der Steuerungssoftware hat er viele Versionen probiert und irgend wie kein brauchbares Waschergebnis erzielen können. Um ein Produkt "nachbauen" oder wenigstens neu programmieren zu können braucht man tiefgreifende Kenntnisse von den verwendeten Schnittstellen, die passenden Programmierkenntnisse für den Controller (oder man reisst den Controller raus und hängt was bekanntes rein). Aber danach braucht man auch noch genaue Kenntnisse über die internen Abläufe, die sich teilweise nicht einfach beobachten lassen (z.B. weil über unbekannte Kennlinienfelder gesteuert). Dann stochert man ewig im Dunkeln und erreicht mit viel Mühe trotzdem nur Grundfunktionalität. Da auch die meisten Bastler nicht unendlich viel Freizeit haben und heutige Consumer-Produkte (oft viel zu) günstig sind, lohnt sich der Aufwand äußerst selten.
:
Bearbeitet durch User
Bernhard S. schrieb: > Ein Herd mit Kalogenkochplatten, Hardware überschaubar, benötigte > Signale auch klar. Steuerung war machbar Sowas habe ich mit meinem Herd auch gemacht, weil die alten Herdplatten 7-Takt Typen waren und nicht mehr erhältlich. Stattdessen arbeiten da jetzt zwei Wellenpaket gesteuerte 2-polige Platten mit einem kleinen AVR 2313 und selbstgemachten SSR. Load Balancing inklusive :-P Aber Umprogrammierung war das eher nicht, denn da war ja vorher nix elektronisches.
:
Bearbeitet durch User
Steff schrieb: > frage ich mich, woran er scheitern würde, wenn er versuchen > würde Verbraucherelektronik mit einer eigenen Software > umzuprogrammieren. Er würde also das komplette Gerät gerne selbst > programmieren und nicht eine vorhandene Firmware nur bearbeiten. > Ich denke dabei an folgende Verbraucherelektronik (Beispiele): > - ein Funkwecker maskenprogrammierter µC unter einem Klecks Vergußmasse. Kann man nicht programmieren. > - ein Festplattengehäuse gar kein µC > - eine Mikrowelle dito. Wenn doch einer drin sein sollte, siehe Funkwecker. > - ein DAB-Radio i.d.R. ein programmierbarer µC drin (OTA Updates?). Es scheitert aber daran, daß du die Peripherie nicht kennst und auch keine Datenblätter bekommst. > - ein Bluetoothlautsprecher Was willst du daran umprogrammieren? Aber im Normalfall lohnt es sich schlicht nicht. Man muß da so viel auseinanderbauen und reverse engineeren, daß man es auch gleich selber neu bauen kann.
Steff schrieb: > Es geht hier darum Verbraucherelektronik umzuprogrammieren. Nicht > darum, sie selbst zu entwerfen. Das Umprogrammieren läuft aber auf den gleichen Aufwand hinaus. Denn den alten Quellcode bekommst du ja nicht, ebenso wenig die Dokumentation des Codes. Manfred P. schrieb: > Um ein Gerät "umzuprogrammieren", muß die > Hardware zu 100% bekannt sein. Verabschiede Dich von Deiner Idee. Außerdem braucht man ein funktionierendes Konzept für die Software. Was man von außen sieht ist nur ein kleiner Teil dessen. Bis aus einer Idee ein solides Produkt wird, vergehen viele Versuche. Steff schrieb: > Auch um TVs geht es mir nicht. Das sind für mich Computer OK, dann gehe ich mal konkret auf die von dir genannten Geräte ein: > ein Funkwecker Ist wohl kaum um-programmierbar. > ein Festplattengehäuse Komplexe Firmware, für deren Entwicklung du Jahre brauchst, falls du überhaupt an die vollständige Dokumentation des Chips heran kommst, was schon unwahrscheinlich ist. Da sind hoch spezialisierte Bauteile kein, keine Standard-Mikrocontroller. > eine Mikrowelle Habe ich bisher stets mit mechanischem Timer gekauft, weil ich keinen Ärger mit labiler irreparabler Elektronik will. Aber wenn sie von einem Mikrocontroller gesteuert wird, dann halte ich eine eigene Firmware dort durchaus für machbar. Mikrowellen-Öfen sind allerdings keine gute Spielwiese für Experimente - zu gefährlich. > ein DAB-Radio > ein Bluetoothlautsprecher Problematisch, weil deren Chips in der Regel eine Software vom Hersteller erfordern. Die vollständige Doku dazu darf per Gesetz nicht veröffentlicht werden, damit du ihre HF/Funk Eigenschaften nicht ändern kannst. Nur wenige Funkmodule sind fürs Selbermachen ausreichend offen (z.B. ESP32). In den meisten Geräten steckt etwas anderes.
Steff schrieb: > Es geht hier darum Verbraucherelektronik umzuprogrammieren. Nicht darum, > sie selbst zu entwerfen. Unterschied wo?
Steve van de Grens schrieb: > Die vollständige Doku dazu darf per Gesetz nicht > veröffentlicht werden, damit du ihre HF/Funk Eigenschaften nicht ändern > kannst. Ohh, da hätte ich jetzt gern eine Quelle dafür ...
Matthias S. schrieb: > Ich > habe das damals Originalzitat Jeff Goldblum "Independence Day": Es gibt nichts was ein Radio- Fernsehtechniker nicht kann. Ich lasse aber auch langsam nach, auf Hex- debugging auf Karopapier habe ich auch keinen Bock mehr wie damals beim CBM mit 6502 und PC1500 mit LH5801
Jens G. schrieb: > Ohh, da hätte ich jetzt gern eine Quelle dafür ... https://www.heise.de/news/RED-Umsetzung-Open-Source-Szene-droht-Ausschluss-aus-der-Funktechnik-6129525.html
Steve van de Grens schrieb: >> eine Mikrowelle > Habe ich bisher stets mit mechanischem Timer gekauft, weil ich keinen > Ärger mit labiler irreparabler Elektronik will. Aber wenn sie von einem > Mikrocontroller gesteuert wird, dann halte ich eine eigene Firmware dort > durchaus für machbar. Bei einer Mikrowelle mit defekter Taktsteuerung, mechanisch, habe ich diese überbrückt und eine externe Triac-Mimik mit Arduino-Nano davor gesetzt. Unter anderen Randbedingungen könnte ich mir auch vorstellen, sowas in das Gerät einzubauen. > Mikrowellen-Öfen sind allerdings keine gute > Spielwiese für Experimente - zu gefährlich. Das Leben ist gefährlich, aber zumindest habe ich keine Angst vor Netzspannung. Die Spannung am Kondensator kann (und muß) man messen. Bleibt noch das Risiko der Strahlung. Das ist lästig, ich würde sie niemals bei geöffnetem Gehäuse einschalten. Joachim B. schrieb: > Originalzitat Jeff Goldblum "Independence Day": > Es gibt nichts was ein Radio- Fernsehtechniker nicht kann. Es gibt verdammt viel, was ein Radio- Fernsehtechniker nicht kann. Joachim B. schrieb: > Ich lasse aber auch langsam nach, Dich halte ich für ein untypisches Exemplar, was selbst "langsam nachlassend" noch immer mehr auf die Reihe bekommt als jene, die mir begegnet sind.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.