ENC28J60 Ethernet

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
Robert
Elektronbűvölő
Hozzászólások: 9964
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2009. december 15. kedd, 15:19

Hallgass bele a kommunikációba. Szerintem ott CRC hiba lesz. Etherreal / Wireshark javasolt. És persze egy HUB beszerzése, mert így látod azon csomagokat melyek a holmid felé mennek....

Avatar
Higgins
Tranzisztorgyógyász
Hozzászólások: 169
Csatlakozott: 2006. február 23. csütörtök, 7:00
Tartózkodási hely: Győr
Kapcsolat:

HozzászólásSzerző: Higgins » 2009. december 15. kedd, 15:41

A ping mire javult meg, hogy más alhalókban is használod? Erre nagyon kíváncsi lennék!

Mivel a kódot még nem láttam, mert a link egy üres könyvtárra mutat, de gondolom, hogy az átalakított Ben féle kódot használod.

Amúgy ne feledd, egyszerre csak egy gépről tudod meghívni a webszervert, mivel a basic alapú kód, csak egy socket ill. egy kapcsolatot kezel egyszerre.

Ha Uip kódot alakítanál át, az tud egyszerre több socketet (kapcsolatot kezelni), tehát egy időben több gépről is le lehet kérdezni.

Nálam pl. érdekes jelenség volt, hogy ha már két gép kérdezte egyszerre, simán megfeküdt az ENC -s webszerver, kb. olyan volt mint a DDOS támadás, vagyis a sok kérés egyszerre kifekteti az egészet és csak reset után jön helyre.

Ha csak simán rá akarsz nézni egyetlen egy eszközről, teló, pda, notebook, pc, akkor elég lesz a ben féle kód.

Üdv: Higgins

Avatar
tetye
Chipgyilok
Hozzászólások: 279
Csatlakozott: 2007. augusztus 29. szerda, 6:00
Tartózkodási hely: Perbál
Kapcsolat:

HozzászólásSzerző: tetye » 2009. december 15. kedd, 15:49

link élesztve csak nem ismerte fel a pendriveot az a mocsok...
átalakitott kód egy német csávó alakitotta át a ben félét én meg az övét kicsit de nem a komunikációban ahhoz nem nyultam.
nem egyszerre több helyről akartam.
egyszerre csak egyröl. átjárni meg másik alháloról a hulladék tescos belkin router miatt nem ment otthon kiderült meloban tesztelem asus d-link cuccal tutin megy és a 3com switch is 3-4 relé kattanás után eldobálja a csomagokat.... de már kiktattam meg agyon szürtem.
szal a lényeg hiába zárom be az oldalt a gépemen a laptopon akkor sem tudom megnyitni hiába pingelhető.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9964
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2009. december 15. kedd, 16:02

A csomagok ha azonos időintervallumba futnak be, akkor gond. A TCPIP kezelés miatt fejreállás lehet....

Bár nyaggattam az Arduino-s kódot....
2 PC kérdezett le (PING, HTTP kérés). A holmi bírta... Kifagyás nem volt. A Router nálam sem tud alhálózatok közt (lokális részen) átjárni. Így a helyi részen maradt a 192.168.1.115 cím, míg a DHCP-s a 192.168.1.100....1192.168.1.200 közt (akár WiFi akár drótos a kapcsolat).

Avatar
tetye
Chipgyilok
Hozzászólások: 279
Csatlakozott: 2007. augusztus 29. szerda, 6:00
Tartózkodási hely: Perbál
Kapcsolat:

HozzászólásSzerző: tetye » 2009. december 15. kedd, 16:15

jo nekem nem is az alhálós dolog a baj mert egy hálon lessz, a baj az hogy külön idöben külön pc röl nem megy a http csak a ping.
de ha a ping megy a http miért nem?
enc meg jegyzi a mac et amiről már kérdeztem egyszer és hiába kérdezi másik nem annak hanem a megjegyzettnek válaszolna vissza?

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9964
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2009. december 15. kedd, 17:13

Nézd meg a hálózati forgalmat WireShark / Etherreal segítségével. A csomagokat elemzi ami a PCre befut. Ezért kell a HUB, mert az nem intelligens, így az összes csomagot látod ami az AVRETH és a PC fele megy...

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3293
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

HozzászólásSzerző: kapu48 » 2009. december 15. kedd, 17:19

Nekem nem tiszta a programod ezen részen az „Exit Sub” ?

Kód: Egész kijelölése

' Routine to handle UDP-traffic
'
Sub Udp_receive
   Local Udp_port As Word
   Local Udp_porth As Byte
   Local Udp_portl As Byte

   Udp_porth = &H88
   Udp_portl = &H13

   Udp_port = Udp_porth
   Shift Udp_port , Left , 8
   Udp_port = Udp_port + Udp_portl

   If T_udp_srcport = &H3500 Then                           '53 DNS-response

      Exit Sub     ’ Buffer túlcsordulásnál kilép!
   End If
End Sub
'Szerintem! Ide kellene valami hibakezelés!!!!!!!!


' Routine to calculate a IP-header checksum
'
Sub Ip_header_checksum

Ami ha jól tudom kiugrást jelent a Szubrutinból! És a program visszatérés helyet az utána következő: „Sub Ip_header_checksum” rutinon folytatódik!
Megnézném nem ilyenkor száll el mikor a:

Kód: Egész kijelölése

If T_udp_srcport = &H3500 Then                           '53 DNS-response
      Exit Sub  ’ Buffer túlcsordulásnál kilép!
Feltétel teljesül?
:!: :?:
A hozzászólást 1 alkalommal szerkesztették, utoljára kapu48 2009. december 15. kedd, 20:00-kor.

Avatar
tetye
Chipgyilok
Hozzászólások: 279
Csatlakozott: 2007. augusztus 29. szerda, 6:00
Tartózkodási hely: Perbál
Kapcsolat:

HozzászólásSzerző: tetye » 2009. december 15. kedd, 19:56

holnap nem leszek gépközelben sajna ma meg már nincs energiám hozzá, de csütörtökön neki esek.
nem hiszem hogy ott elszálna hisz nem is használok igazábol dns-t dns-kérés meg végképp nem futhatna be neki.
vizont amit utolso pillanatomban találtam az a ip fejléc checksum nál, vagy az icmp checksum nál lessz... debianon nézem a hálót, nem hub meg wiresharkal ezen is látszik az összes kimenö beeső kérés minden ami kell , és irja hogy kimegy a http kérés jól, de annál amit vissza kap válaszban valamelyik lenght nél ir hibát, tehát valami hosszúság kalkulálása az a mi a hibát okozza szerintem az hogy eddig 2 xp-s gépen ment az itthoni meg a céges gépemen ez meg szerintem az lessz hogy mivel mind 2-t én telepitettem egyformán lehet a böngészöben van valami frissités vagy javitás vagy hiba :D ami miatt le tudja kezelni a többin meg nincs azért jön be ezen a kettőn a többin meg nem, vagy nem tudom.
De gyanus nekem hogy elszámol itt valami hosszuságot.

Avatar
Higgins
Tranzisztorgyógyász
Hozzászólások: 169
Csatlakozott: 2006. február 23. csütörtök, 7:00
Tartózkodási hely: Győr
Kapcsolat:

HozzászólásSzerző: Higgins » 2009. december 16. szerda, 10:57

Az eredeti Ben kódnál én sajnos mindig tapasztaltam ilyen "elszámolást" a TCP résznél, amikor a web szervert kérdezgettem le egy laptoppal. Wireshark-ban láttam, hogy az ENC által küldött második csomag, már hibás volt, checksum error volt....

Szóval itt alapvetően van valami hiba az ellenőrző összeg számításnál, majd ha nagyon árérek...ami szerintem sajna nem most lesz, akkor majd meglesem mi merre.

Üdv: Higgins

Avatar
tetye
Chipgyilok
Hozzászólások: 279
Csatlakozott: 2007. augusztus 29. szerda, 6:00
Tartózkodási hely: Perbál
Kapcsolat:

HozzászólásSzerző: tetye » 2010. február 13. szombat, 19:24

Hali!
Hig, értél már rá azóta? :)

Avatar
Higgins
Tranzisztorgyógyász
Hozzászólások: 169
Csatlakozott: 2006. február 23. csütörtök, 7:00
Tartózkodási hely: Győr
Kapcsolat:

HozzászólásSzerző: Higgins » 2010. február 13. szombat, 22:46

Sajna még mindig el vagyok havazva, meló, rendszergazdai teendők!
Egy ideig az AVR vezérlésű forrasztópákám foglalt le,ami nemrég készült el, most meg majd GSM modullal fogok játszani. Remélem majd hamarosan tényleg jobban rá fogok érni, mivel kedvenc témám az Ethernet webszerver!

Amint lesz valami itt is megosztom mindenkivel!

Üdv: Higgins

Avatar
tetye
Chipgyilok
Hozzászólások: 279
Csatlakozott: 2007. augusztus 29. szerda, 6:00
Tartózkodási hely: Perbál
Kapcsolat:

HozzászólásSzerző: tetye » 2010. február 15. hétfő, 12:53

Nah addig eljutottam hogy M168al megy win alol M644 el megy win alol, de linux alol ha pingelem akkor oké bár azt írja a linux a pingre hogy DUP! duplázza valamiért a csomagot, de válaszol win alatt tip top bár htmlben tényleg mintha néha 2x küldené el ugyan azt. De a debianrol nem nyitja meg a htmlt csak a ping megy a telnet sem, csak win alol megy az is.

Avatar
Higgins
Tranzisztorgyógyász
Hozzászólások: 169
Csatlakozott: 2006. február 23. csütörtök, 7:00
Tartózkodási hely: Győr
Kapcsolat:

HozzászólásSzerző: Higgins » 2010. február 15. hétfő, 15:51

Akkor nem csak én tapasztalok érdekes dolgokat a Ben féle kóddal! :(
Az egész csomagkezelést át kellene írni, mert így nem ok!
Csak sajna ez tényleg nagy munka lesz!

A Uip-vel semmi gond, se win se linux (debian) alatt,csak ugyebár ez meg C-ben van írva. A C-t meg meg kellene tanulni hozzá jobban! :(

Üdv: Higgins

Avatar
tetye
Chipgyilok
Hozzászólások: 279
Csatlakozott: 2007. augusztus 29. szerda, 6:00
Tartózkodási hely: Perbál
Kapcsolat:

HozzászólásSzerző: tetye » 2010. február 18. csütörtök, 8:31

wow!
Az uipessel nagyon jónak tűnik csak nincs benne html se telnet sem semmi.
Csak pingelni tudom.

Avatar
Higgins
Tranzisztorgyógyász
Hozzászólások: 169
Csatlakozott: 2006. február 23. csütörtök, 7:00
Tartózkodási hely: Győr
Kapcsolat:

HozzászólásSzerző: Higgins » 2010. február 18. csütörtök, 20:54

Az igaz, hogy amit Guido fordított rá ill. módosított Uip abban szinte nincs semmi, de egy minimális kis telnet példa van benne!

Ha nagyon értesz a C-hez akkor az eredeti Uip kódból ki tudod bányászni, hogy hogyan kell rá HTTP,SMTP, stb alkalmazásokat írni, persze egy nagyobb AVR chipet kell használnod.

A Uip kód rettentő stabil, és másik előnye, hogy nem csak egy szálat kezel, ill. egyszerre több kliens is csatlakozhat a webszerverre.

Üdv: Higgins
A hozzászólást 1 alkalommal szerkesztették, utoljára Higgins 2010. február 23. kedd, 20:22-kor.


Vissza: “Bascom-AVR nyelvű programozás (AVR programozásának lehetőségei)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég