1

Téma: Problémy s dns_resolv()

Zkusil jsem použit funkci dns_resolv. Jako DNS server jsem nastavil Goggle server 8.8.8.8
Pingem je živý. Program ale hlásí Cybu 514 Čekám na DNS server.
Co to může být za chybu?
Díky

//provedeme DNS překlad
 dns_resolv('www.xyzxyz.cz');
//pockam az probehne funkce do konce
label cekam_na_dns:
 if (sys[65] == 0) goto cekam_na_dns;

 //otestujeme úspěch DNS překladu

label cekam_na_odpoved:
 if (sys[65] == 514)
{
echo ('Cekam na odpoved DNS',sys[65],sys[70],sys[71],sys[72],sys[73]);
 goto cekam_na_odpoved;
}

if (sys[65] == 513)
{
echo ('Chyba DNS',sys[65]);
 goto konec;
}

2

Re: Problémy s dns_resolv()

Musim to vyzkoušet - dám vědět.

Jaké je to zařízení / jaká verze firmware je nahraná v SDS ?

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

3

Re: Problémy s dns_resolv()

Je tam poslední oficiální firmware pro SDS micro, co je na stránkách 070512.

4

Re: Problémy s dns_resolv()

Zkuste beta firmware, jsou tam různé aktualizace - dneska jsem to zkoušel a funguje to OK.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

5

Re: Problémy s dns_resolv()

Nahrál jsem tam tu betu- českou, ale stejně mi to nefunguje. Navíc když u DNS odškrknu Použít adresu získanou přes DHCN, tak nastavím tu 8.8.8.8. Pak se čeká 3 s a když se podivám opět do nastavení, tak tam sice ta adresa 8.8.8.8 je, ale možnost Použit .... je zaškrknuta. Asi chyba?
Proč ale to DNS resolve nefunguje? Používá to někdo?
Díky

6

Re: Problémy s dns_resolv()

Tak jsem zjistil, ze tak jak to je napsane, to nefunguje. Ta 514 se neda testovat. Ono to vráti nejprve 512 a ihned asi 514.
Takze kdy se to napise :

//provedeme DNS překlad
 dns_resolv('www.xyzxyz.cz');
//pockam az probehne funkce do konce
label cekam_na_dns:
 if (sys[65] == 0) goto cekam_na_dns;

 //otestujeme úspěch DNS překladu
 if (sys[65] != 512)
{
echo ('Neni rovno 512');
goto konec;
}

echo ('DNS je',sys[66],'.',sys[67],'.',sys[69],'.',sys[69]);

Tak uz to jede.

7

Re: Problémy s dns_resolv()

Tak ono je to jinak. Konzola mi to přepisovala, takže první správný průchod jdem nepostřehl. Jak byl program v původním tvaru, tak neustále žel přes příkaz  dns_resolv. To se provedlo hned napoprvé. Při opakovaném průběhu už to hází to čekám na DNS.  Nevím, jestli je to chyba.

8

Re: Problémy s dns_resolv()

Záleží na DHCP Serveru, ke kterému se SDS připojuje - a to se provede jen tehdy, když SDS je nastaveno aby použilo DHCP Server (když je statická IP, s DHCP serverem neprobíhá komunikace).
Hodnota IP od DNS Serveru, když je získána z DHCP Serveru, by měla být textově vypsána v poli "stav" na stejné stránce. To co je ve vstupním boxu je uživatelské nastavení, které se nepřepisuje (a které je nebo není použito, závisí na tom checkboxu hned vedle).

Pozor na 8.8.8.8 a 8.8.4.4 - někteří poskytovatelé připojení (ISP) tyto služby (DNS od Google) záměrně blokují. Zkuste použít IP od DNS Serveru od poskytovatele, zda-li to nebude fungovat lépe.

Jinak stav 514 vždy předchází stavu 512, otázkou je jen jak dlouho (dokud nepřijde odpověď z DNS Serveru).

Testovací program - spuštený s firmware SDS MACRO 4. září 2012:

main
{

  echo('[0] start');
  
  // s čím začínáme
  echo('[1] sys[65]=', sys[65]);
  
  dns_resolv('www.google.cz');
  
cekam_na_dns:

  // dokud se něco nestane (sys[65] se nastaví na nějakou hodnotu)
  if (sys[65]==0) goto cekam_na_dns;
  
  echo('[2] sys[65]=', sys[65]);

 // takže:
cekam_na_odpoved:

  if (sys[65]==514)
  {
    echo('cekam na odpoved, dns-server-ip:', sys[70],'.',sys[71],'.',sys[72],'.',sys[73]);
    wait(1000);
    goto cekam_na_odpoved;
  }
  
  echo('[3] hotovo');
  echo('[3] sys[65]=', sys[65]);
  
  echo('RESOLV: ', sys[66],'.',sys[67],'.',sys[68],'.',sys[69]);
  
  // hotovo, výsledek je v sys[66] až sys[69]

  // nekonečná smyčka, už nic dále nechceme dělat
x: goto x;

}

Výstup programu:

[0] start
[1] sys[65]=0
[2] sys[65]=514
cekam na odpoved, dns-server-ip:192.168.137.2
cekam na odpoved, dns-server-ip:192.168.137.2
cekam na odpoved, dns-server-ip:192.168.137.2
cekam na odpoved, dns-server-ip:192.168.137.2
[3] hotovo
[3] sys[65]=512
RESOLV: 74.125.227.151

Takže chvíli to trvalo, ale výsledek nám přišel.
Použití DNS server byl router, ke kterému bylo zařízení SDS připojeno, a tento router používá DNS server určený poskytovatelem připojení.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

9

Re: Problémy s dns_resolv()

Zkusil jsem Váš příklad.Mám mikro light, firmware beta 040912. Podivné pouze je, že to vrací pořád jako DNS 192.168.1.1 (zobrazení jsem dál i do echo hotovo), které se zobrazuje jako default v administraci v DOMAIN NAME SERVER, i když mám nastaveno DHCP. V administraci včásti DHCP však vidím správné DNS 10.0.0.138. Resolv DNS však funguje, takže to bere správne DNS. A jak už jsem vzpomínal. Když zaškrknu DHCP, tak při další návštěvě zaškrklé není.

10

Re: Problémy s dns_resolv()

Zkuste nejnovější firmware.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

11

Re: Problémy s dns_resolv()

Je to pořád stejné. Píše to ten 192.168.1.1, který je nastavený jako default. Skutečný je 10.0.0.138, jak je ukázáno v adminu.

12 Naposledy upravil: vaanja (2012-10-21 22:59:20)

Re: Problémy s dns_resolv()

Skusil som tiez otestovat tento problem s *BETA-VERSION* verze hw SoC-ARM REV1 100Mbit DF5, ze dne 12.10.2012
s horeuvedenym programom.

Mam standardne nastaveny DNS na 192.168.1.1:
Originalna konfiguracia



Vysledok:
CONSOLE:
[0] start
[1] sys[65]=0
[2] sys[65]=514
cekam na odpoved, dns-server-ip:192.168.1.1
cekam na odpoved, dns-server-ip:192.168.1.1
cekam na odpoved, dns-server-ip:192.168.1.1
[3] hotovo

Nasledne som zmenil adresu DNS servra na 8.8.8.8:
Zmenena konfiguracia

Vysledok:
CONSOLE:
[0] start
[1] sys[65]=0
[2] sys[65]=514
cekam na odpoved, dns-server-ip:8.8.8.8
cekam na odpoved, dns-server-ip:8.8.8.8
cekam na odpoved, dns-server-ip:8.8.8.8
[3] hotovo
[3] sys[65]=512
RESOLV: 173.194.35.152

Takze u mna to podla vsetkeho funguje.

Pri zmene IP DNS servra a stlaceni  store sa mi automaticky zaskrtla volba "použít adresu získanou přes DHCP pro DNS server (nezaškrtněte pro použití ručně zadané IP)" presne ako hlasil Simi.

Nedava to zmysel, lebo adresu zariadenia a ostatnych veci mam nastavene rucne, a podla napovedy by teda mala byt nezaskrtnuta. Ak tuto volbu odskrtnem, stlacim store, pockam 3sekundy, prihlasim sa do webrozhrania, tak je volba opat zaskrtnuta...

D O P L N E N I E :
Ak zmenim pouzitie statickej adresy na pouzitie DHCP, tak mi DHCP korektne prideli pre SDS novu IP adresu, masku, gateway aj DNS, ale hoci je volba "použít adresu získanou přes DHCP pro DNS server (nezaškrtněte pro použití ručně zadané IP)" zaskrtnuta, tak dns_resolv pouzije DNS uvedney v poli IP Adresa DNS servru:

CONSOLE:

[0] start
[1] sys[65]=0
[2] sys[65]=514
cekam na odpoved, dns-server-ip:8.8.8.8
[3] hotovo
[3] sys[65]=512
RESOLV: 173.194.35.159

Zmenena konfiguracia

SDS Macro LCD 485 hw SoC-ARM REV1 100Mbit DF5

13

Re: Problémy s dns_resolv()

Zkuste nový BETA firmware (24.10.2012).

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

14

Re: Problémy s dns_resolv()

Skusil som poslednu betu (24.10.2012) pre SDS Macro.
Este to nie je celkom ono, problem sa prejavi ak je adresa SDS ziskavana z DHCP a je zaskrtnute ziskanie DNS z DHCP servra a sucasne existuje v poli IP Adresa DNS servru nejaka adresa:

Auto DNS z DHCP




TOTO JE VYSLEDOK:

CONSOLE:

[0] start
[1] sys[65]=0
[2] sys[65]=514
cekam na odpoved, dns-server-ip:1.1.1.1
cekam na odpoved, dns-server-ip:1.1.1.1
cekam na odpoved, dns-server-ip:1.1.1.1
cekam na odpoved, dns-server-ip:1.1.1.1
cekam na odpoved, dns-server-ip:1.1.1.1
cekam na odpoved, dns-server-ip:1.1.1.1
cekam na odpoved, dns-server-ip:1.1.1.1
cekam na odpoved, dns-server-ip:1.1.1.1
cekam na odpoved, dns-server-ip:1.1.1.1
[3] hotovo
[3] sys[65]=512
RESOLV: 173.194.35.191

Samozrejme DNS resolv nakoniec prebehne korektne, lebo pouzije DNS server 192.168.1.1, ale pri tejto konstelacii su v sys[70]-sys[73] nespravne hodnoty aktualne pouziteho DNS servra (1.1.1.1 namiesto 192.168.1.1)

SDS Macro LCD 485 hw SoC-ARM REV1 100Mbit DF5

15

Re: Problémy s dns_resolv()

Toto ještě dořeším, bude to opraveno v další verzi beta firmware.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

16

Re: Problémy s dns_resolv()

Opraveno v novém BETA firmware.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

17

Re: Problémy s dns_resolv()

adamn napsal:

Opraveno v novém BETA firmware.

Otestoval som. Myslim, ze je to uz v poriadku.
Najskor som upgradol na posledny beta firmware 02/11/2012 a vyskusal funkcnost standardneho programu pre odosielanie dat na portal. Vsetko prebehlo v poriadku. IP adresa bola staticka 192.168.1.250, DNS server 192.168.1.1

Nahral som testovaci program viz. hore, parametre SDS IP=static, DNS=192.168.1.1, DNS cez DHCP=OFF a vystup bol:

CONSOLE:
[0] start
[1] sys[65]=65535
[2] sys[65]=514
cekam na odpoved, dns-server-ip:192.168.1.1
[3] hotovo
[3] sys[65]=512
RESOLV: 173.194.35.152

Dalej som zmenil IP DNS na 8.8.8.8 a vysledok zase OK:

[0] start
[1] sys[65]=65535
[2] sys[65]=514
cekam na odpoved, dns-server-ip:8.8.8.8
cekam na odpoved, dns-server-ip:8.8.8.8
cekam na odpoved, dns-server-ip:8.8.8.8
[3] hotovo
[3] sys[65]=512
RESOLV: 173.194.35.159

A naposledy som zmenil IP adresu na DHCP a zaskrtol volbu použít adresu získanou přes DHCP pro DNS server pricom v poli IP adresa DNS serveru: zostala hodnota 8.8.8.8
Vysledok:

CONSOLE:
[0] start
[1] sys[65]=65535
[2] sys[65]=514
cekam na odpoved, dns-server-ip:8.8.8.8
cekam na odpoved, dns-server-ip:8.8.8.8
cekam na odpoved, dns-server-ip:8.8.8.8
cekam na odpoved, dns-server-ip:8.8.8.8
cekam na odpoved, dns-server-ip:8.8.8.8
cekam na odpoved, dns-server-ip:8.8.8.8
cekam na odpoved, dns-server-ip:8.8.8.8
cekam na odpoved, dns-server-ip:8.8.8.8
cekam na odpoved, dns-server-ip:192.168.1.1
[3] hotovo
[3] sys[65]=512
RESOLV: 173.194.35.151

Takze nakoniec je to OK, len nechapem, preco tolko pokusov o DNS resolv z 8.8.8.8 ked je zapnute DNS z DHCP?

Kozmeticka chybicka je tiez v hlaskach pri zmene IP adresy pridelenej z DHCP na staticku a naopak.
Ak staticku IP adresu zmenim na DHCP a ulozim, na obrazovke sa zjavi hlaska:

Změna nastavení IP adresy a portu webového rozhraní 
Všechny změny jsou uloženy a budou použity za 3 sec !
Klikněte sem pro přechod na novou IP: 192.168.1.250:80

A ak zmenim IP adresu z DHCP na pevnu, tak pri ulozeni dostanem toto upozornenie:

Změna nastavení IP adresy a portu webového rozhraní 
Všechny změny jsou uloženy a budou použity za 3 sec !
Toto zařízení obdrží novou IP adresu od zvoleného DHCP serveru.
 

Hlasky su z javne prehodene.

A este (ale to uz mi moje jazykove znalosti nedovolia tvrdit, ci je to spravne) sa mi javi napis:
Vítejte do SDS MACRO ! pri prihlaseni a nasledne aj v uvodnej obrazovke trochu divny.
Nemalo by to byt Vítejte v SDS MACRO ! ?

(viem, prkotiny, ale obcas aj toto treba opravit)

SDS Macro LCD 485 hw SoC-ARM REV1 100Mbit DF5

18

Re: Problémy s dns_resolv()

Všechny připomínky projdu a nechám opravit.

DNS z DHCP = dokud není obdržena nová IP adresa DNS serveru z DHCP, je platná ta předchozí.
Takže po zapnutí zařízení se nastaví poslední známa (z ruční konfigurace), a ta se nahradí v okamžiku kdy DHCP server dá zařízení SDS vědět o jiném DNS serveru.
Nebo taky nemusí, a pak zůstane ta původní hodnota.

Ty hlášky zkontroluju a nechám opravit.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !