Wemos D1 Mini - Hostname und MAC-Adresse nicht änderbar

OP (Firma: Q3) #5546094
Ich möchte mit dem folgenden Code Hostname und MAC-Adresse eines D1 Mini 
ändern. (Programmiere in der Arduino-IDE)

Der Code wird zwar anstandslos compiliert, der Effekt ist aber absolut 
Null: Weder MAC noch Hostname werden geändert, sondern stehen eisern auf 
Werkseinstellungen.
1
  WiFi.hostname(host);
2
  WiFi.macAddress(mac);
3
  wifi_set_macaddr(STATION_IF, mac);
4
  WiFi.mode(WIFI_STA);
5
  WiFi.begin(ssid,pass); delay(100);
6

7
  wifi_connect(); delay(100);
8
  server.begin(); delay(100);

Alles andere funktiniert wie vorgesehen. Die Variablen für host, ssid 
und
pass sind vom Typ "const char* = ...", mac ist ein Array of Byte.

Was ist falsch? Danke für Tips.
Gast
Hallo Frank E.,

kannst du den gesammten Code posten und die angaben, die du nicht 
angeben willst einfach abändern.
Möglicherweise ist bei der Deklarierung oder Initialisirung der ssid, 
mac, host, .. etwas falsch gelaufen.
Ich habe den Hostnamen und eine Feste IP auch mal genutzt, testweise, 
das hat eigentlich einwandfrei funktioniert, so kann ich auf anhieb 
erstmal keinen Fehler in deinem Code sehen.

LG
Marcel
Gast
Hallo Frank,

die Mac Adresse wird nicht gesetzt, da du dir den Inhalt der Variable 
mac durch die Funktion WiFi.macAddress(mac) wahrscheinlich 
überschreibst. Diese Funktion ruft intern die SDK Funktion 
wifi_get_macaddr auf, welche als Aufrufparameter auch die Variable 
übergeben bekommt.
Gast
Harry L. schrieb:
> Wozu sollte man auch die MAC-Adresse ändern?
> Die ist eindeutig und das reicht vollkommen aus.
>
> Mir fällt kein plausibler Grund ein


Nur weil Dir die Phantasie fehlt, ist das noch kein Grund für andere, 
nicht kreativ zu sein...
Gast
Frank E. schrieb:
>
1
>   WiFi.hostname(host);
2
>   WiFi.macAddress(mac);
3
>   wifi_set_macaddr(STATION_IF, mac);
4
>   WiFi.mode(WIFI_STA);
5
>   WiFi.begin(ssid,pass); delay(100);
6
> 
7
>   wifi_connect(); delay(100);
8
>   server.begin(); delay(100);
9
> 
10
>


Mit
1
WiFi.hostname(host);
holst Du die aktuelle Mac-Adresse.

Mit
1
wifi_set_macaddr(STATION_IF, mac);
setzt Du sie auf den schon bestehenden Wert.
Ist also sinnlos.
Schreib da mal eine neue rein.
Beitrag #5546703 wurde von einem Moderator gelöscht.
(Firma: www.wolfgangrobel.de)
Harry L. schrieb:
> Wozu sollte man auch die MAC-Adresse ändern?
> Die ist eindeutig und das reicht vollkommen aus.
>
> Mir fällt kein plausibler Grund ein

Wenn Geräte im Verbund z.B. anhand der MAC-Adressen erkannt werden und 
eine Netzwerkkarte kaputt gegangen ist - dann ist man froh, wenn man das 
Ersatzgerät auf die alte MAC umprogrammieren kann, weil man dann absolut 
nichts umkonfigurieren muss.
Wolfgang R. schrieb:
> Harry L. schrieb:
>> Wozu sollte man auch die MAC-Adresse ändern?
>> Die ist eindeutig und das reicht vollkommen aus.
>>
>> Mir fällt kein plausibler Grund ein
>
> Wenn Geräte im Verbund z.B. anhand der MAC-Adressen erkannt werden und
> eine Netzwerkkarte kaputt gegangen ist - dann ist man froh, wenn man das
> Ersatzgerät auf die alte MAC umprogrammieren kann, weil man dann absolut
> nichts umkonfigurieren muss.

Es ist ja wohl einfacher, die neue MAC-Adresse im DHCP-Server zu 
hinterlegen, als die MAC-Adresse des Gerätes zu ändern.

Das ist die normale Vorgehensweise.
Alles Andere ist Frickellei von Amateuren die keine Ahnung haben.
Beitrag #5546749 wurde von einem Moderator gelöscht.
Beitrag #5546758 wurde von einem Moderator gelöscht.
Gast
Harry L. schrieb:
> Es ist ja wohl einfacher, die neue MAC-Adresse im DHCP-Server zu
> hinterlegen, als die MAC-Adresse des Gerätes zu ändern.

Kleiner Tip: MAC-Adressen werden nicht nur von DHCP-Servern benutzt und 
selbst da führt es, aufgrund der üblichen Zentralisierung der IT, 
schneller zum Ziel die MAC zu übernehmen und später alles zu bereinigen.
Bei uns laufen die Anlagen 24/7, die zentrale IT arbeitet aber nur 8/5, 
ist billiger.
Horst schrieb:
> Harry L. schrieb:
>> Es ist ja wohl einfacher, die neue MAC-Adresse im DHCP-Server zu
>> hinterlegen, als die MAC-Adresse des Gerätes zu ändern.
>
> Kleiner Tip: MAC-Adressen werden nicht nur von DHCP-Servern benutzt und
> selbst da führt es, aufgrund der üblichen Zentralisierung der IT,
> schneller zum Ziel die MAC zu übernehmen und später alles zu bereinigen.
> Bei uns laufen die Anlagen 24/7, die zentrale IT arbeitet aber nur 8/5,
> ist billiger.

Das Unvermögen der BWLer, die Notwendigkeit eines 24/7 verfügbaren 
Admin-Team zu erkennen ("die gammeln ja nur den ganzen Tag vor dem 
Rechner rum") ist keine hinreichende Begründung für so eine 
Vorgehensweise.

Wenn so eine "wichtige MAC" an mehr als einer Stelle hinterlegt ist, ist 
bereits im Vorfeld ganz viel schief gelaufen.

Das ist genau die Art von Frickellei, die früher oder später ins Chaos 
führt.
(Firma: www.wolfgangrobel.de)
Harry L. schrieb:
> Wenn so eine "wichtige MAC" an mehr als einer Stelle hinterlegt ist, ist
> bereits im Vorfeld ganz viel schief gelaufen.
>
> Das ist genau die Art von Frickellei, die früher oder später ins Chaos
> führt.

Ach Harry, hätten sie dich nur vorher schon in der Planungsphase 
dabeigehabt...

Dein arrogantes Gehabe hilft nicht weiter, wenn die Dinge nun mal so 
sind, wie sie sind - dann kann es durchaus die schnellste und günstigste 
Lösung sein, die MAC zu ändern. Kann übrigens auch Hardware-Dongles 
betreffen...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 8 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.