Go Down

Topic: ESP32 hostname (Read 364 times) previous topic - next topic

hbachetti

Quelqu'un a déjà essayé de changer le hostname d'un ESP32 ?
Code: [Select]

  // j'ai essayé ceci :
  WiFi.setHostname(hostName);
  WiFi.begin(ssid, password);
  // ceci aussi (moins logique je trouve puisque normalement le hostname passe dans le DHCP):
  WiFi.begin(ssid, password);
  WiFi.setHostname(hostName);


Aussi ceci :
Code: [Select]

void WiFiEvent(WiFiEvent_t event)
{
  Serial.printf("[WiFi-event] event: %d\n", event);
  switch (event) {
    case SYSTEM_EVENT_WIFI_READY:
      Serial.println("Wifi ready.");
      break;
    case SYSTEM_EVENT_STA_START:
      Serial.println("Wifi start");
      Serial.printf("setting hostname %s\n", hostName);
      WiFi.setHostname(hostName);
      // etc.

  // avec dans setup() :
  WiFi.onEvent(WiFiEvent);


Il est possible que la LiveBox y soit pour quelque chose car avec ARDUINO + Ethernet il faut que je redémarre la Box pour que le nouveau hostname soit pris en compte : WIZnetAABBCC c'est à dire WIZnet + 3 derniers caractères de l'adresse MAC.
Alors d'ici à ce que cette daube de box traite le Wifi différemment ...
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

hbachetti

Cela m'intéresserait assez si quelqu'un pouvait essayer de faire la manip avec une FreeBox ou autre.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

hbachetti

OK, trouvé un contournement ici : Hostname not sent via DHCP request #2537
Quote
WORKAROUND:

Add
WiFi.config(INADDR_NONE, INADDR_NONE, INADDR_NONE);
WiFi.setHostname(_hostname.c_str());
before
WiFi.begin();

I hope issue will be resolved soon.
Donc :

Code: [Select]

  char hostName[12];
  uint8_t mac[6];
  WiFi.mode(WIFI_STA);
  WiFi.config(INADDR_NONE, INADDR_NONE, INADDR_NONE);
  WiFi.macAddress(mac);
  sprintf(hostName, "Esp32%x%x%x", mac[3], mac[4], mac[5]);
  Serial.printf("setting hostname %s: %d\n", hostName, WiFi.setHostname(hostName));
  WiFi.begin(ssid, password);


Cette fois tcpdump affiche bien une option HostName
Quote
$ sudo tcpdump -i eno1 -vvv -s 1500 '((port 67 or port 68) and (udp[38:4] = 0x3c71bf47a5b0))'
11:38:06.285232 IP (tos 0x0, ttl 255, id 0, offset 0, flags [none], proto UDP (17), length 336)
    0.0.0.0.bootpc > 255.255.255.255.bootps: [udp sum ok] BOOTP/DHCP, Request from 3c:71:bf:47:a5:b0 (oui Unknown), length 308, xid 0x16606e78, Flags [none] (0x0000)
     Client-Ethernet-Address 3c:71:bf:47:a5:b0 (oui Unknown)
     Vendor-rfc1048 Extensions
       Magic Cookie 0x63825363
       DHCP-Message Option 53, length 1: Discover
       MSZ Option 57, length 2: 1500
       Hostname Option 12, length 11: "Esp3247a5b0"
       Parameter-Request Option 55, length 12:
         Subnet-Mask, Default-Gateway, BR, Domain-Name-Server
         Domain-Name, Netbios-Name-Server, Netbios-Node, Netbios-Scope
         Router-Discovery, Static-Route, Classless-Static-Route, Vendor-Option
       END Option 255, length 0
       PAD Option 0, length 0, occurs 33
Sur la box (après redémarrage) :

Esp3247a5b0    192.168.1.18  3c:71:bf:47:a5:b0

Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

J-M-L

faut toujours redémarrer ?
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

hbachetti

La LiveBox ? Oui. Y compris avec un client Ethernet  :smiley-confuse:
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

J-M-L

OK merci - ça explique un truc louche que j'ai eu l'autre jour en cherchant à accéder à monEsp.local peut-être alors...
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

hbachetti

La LiveBox est un engin louche de toutes façons ...
Chez Orange je n'aime que le service.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

J-M-L

#7
Apr 06, 2020, 03:30 pm Last Edit: Apr 06, 2020, 03:32 pm by J-M-L
assez d'accord :)

j'ai déjà désactivé le Wi-Fi pour passer sur un système Orbi, je ne suis pas loin de mettre une autre couche pour les autres services réseaux local...
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

kayel

@hb:

 Je viens de commencer votre tuto. Ca a l'air de marcher sans redémarrer la Freebox.

 
Code: [Select]
setting hostname Esp323ad0e8: 1
Connecting to **********
...
Esp323ad0e8 (30:AE:A4:3A:D0:E8): connected to **********IP address: 192.168.0.10
MDNS responder started
HTTP server started


setting hostname Esp3230aea4: 1
Connecting to **********
.
Esp3230aea4 (30:AE:A4:3A:D0:E8): connected to **********IP address: 192.168.0.10
MDNS responder started
HTTP server started


setting hostname Esp32b414: 1
Connecting to **********
..
Esp32b414 (30:AE:A4:3A:D0:E8): connected to **********IP address: 192.168.0.10
MDNS responder started
HTTP server started


 Je range ma pelle...

hbachetti

Bonne nouvelle.
Merci du retour.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Go Up