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

OP (Firma: Q3) #5546094
Lesenswert?
• ▲
▼
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 #5546107
Lesenswert?
• ▲
▼
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 #5546135
Lesenswert?
• ▲
▼
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 #5546368
Lesenswert?
• ▲
▼
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) #5546718
Lesenswert?
• ▲
▼
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.
#5546739
Lesenswert?
• ▲
▼
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 #5546831
Lesenswert?
• ▲
▼
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.
#5546849
Lesenswert?
• ▲
▼
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) #5546876
Lesenswert?
• ▲
▼
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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.