Hallo!
Ich habe mir das AVR-NET-IO-Board von Pollin besorgt.
Natürlich habe ich das, weil ich mich in die Ethernet-Technik einarbeiten möchte.
Erstes Ziel sollte es sein, eine Verbindung mit dem Board herzustellen. Dazu soll noch kein Webserver oder der gleichen auf dem Mega32 implementiert werden, sondern
schlichtweg ein 3-Way-Handshake stattfinden.
Also jetzt eine kurze Einleitung in meine Welt, damit Ihr so ungefähr bescheid wisst und mir evtl weiterhelfen könnt:
Ich habe ein einfaches Programm in C für meinen Rechner (Linux Ubuntu) geschrieben, welches mir einen Socket bereitstellt, der als Client auf Port 80 der IP 192.168.2.60 eine Verbindung anfragt. Verbunden ist mein Rechner über ein Crossover-Netzwerkkabel mit dem AVR-NET-IO.
Der Mega32 horcht auch PINB2, ob der ENC28J60 ein Paket empfangen hat. Hat dieser etwas empfangen holt der Mega32 das Paket ab und speichert es in einem Feld.
Dieses Feld in dem sich das Paket befindet wird dann über die UART an meinen PC geschickt....und hier ist das Resultat in aufgearbeiteter Form:
(Aufgearbeitet hat das ein ebenfalls von mir geschriebenes einfaches Programm, das mir das Resultat der wirren Zeichenkette, die ich über die RS232 bekommen habe in Dezimal und Hexadezimalwerte wandelt und sauber in eine Datei schreibt, was das analysieren etwas leichter macht.
Einiges habe ich ja schon herausinterpretieren können. Die 6 Byte mit dem Inhalt 255 am Anfang sind die für meinen Laptop noch unbekannte Bestandteile der MAC-Adresse. Die 6 Folgen von 255 sind eine allgemeine Adressierung. Daraufhin folgt meine MAC-Adresse, die ich für diesen Beitrag etwas verändert habe.Code:Alle "c" bzw 99(DEZ) bzw 0x63(HEX) sind eigentlich 0-Bytes (0x00), die aber im Controller auf 99 gesetzt werden, da sie sonst verschluckt würden aber im Feld (MCU) vorhanden sind! 0. Zeichen= ÿ Dezimal: 255 Hexadezimal: ff Bitfolge(LSB): 11111111 DESTINATION MAC (6 Byte) 1. Zeichen= ÿ Dezimal: 255 Hexadezimal: ff Bitfolge(LSB): 11111111 2. Zeichen= ÿ Dezimal: 255 Hexadezimal: ff Bitfolge(LSB): 11111111 3. Zeichen= ÿ Dezimal: 255 Hexadezimal: ff Bitfolge(LSB): 11111111 4. Zeichen= ÿ Dezimal: 255 Hexadezimal: ff Bitfolge(LSB): 11111111 5. Zeichen= ÿ Dezimal: 255 Hexadezimal: ff Bitfolge(LSB): 11111111 6. Zeichen= Dezimal: 3 Hexadezimal: 3 Bitfolge(LSB): 00110000 SOURCE MAC (6 Byte) 7. Zeichen= } Dezimal: 124 Hexadezimal: 7c Bitfolge(LSB): 1011100 8. Zeichen= { Dezimal: 122 Hexadezimal: 7a Bitfolge(LSB): 1111110 9. Zeichen= · Dezimal: 182 Hexadezimal: b6 Bitfolge(LSB): 1111101 10. Zeichen= ~ Dezimal: 125 Hexadezimal: 7d Bitfolge(LSB): 00001110 11. Zeichen= Dezimal: 126 Hexadezimal: 7e Bitfolge(LSB): 11101110 12. Zeichen= Dezimal: 8 Hexadezimal: 8 Bitfolge(LSB): 00010000 ??????? 13. Zeichen= Dezimal: 6 Hexadezimal: 6 Bitfolge(LSB): 01100000 14. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 15. Zeichen= Dezimal: 1 Hexadezimal: 1 Bitfolge(LSB): 10000000 16. Zeichen= Dezimal: 8 Hexadezimal: 8 Bitfolge(LSB): 00010000 17. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 18. Zeichen= Dezimal: 6 Hexadezimal: 6 Bitfolge(LSB): 01100000 19. Zeichen= Dezimal: 4 Hexadezimal: 4 Bitfolge(LSB): 00100000 20. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 21. Zeichen= Dezimal: 1 Hexadezimal: 1 Bitfolge(LSB): 10000000 22. Zeichen= Dezimal: 3 Hexadezimal: 3 Bitfolge(LSB): 00110000 23. Zeichen= } Dezimal: 124 Hexadezimal: 7e Bitfolge(LSB): 10110010 24. Zeichen= { Dezimal: 122 Hexadezimal: 7a Bitfolge(LSB): 11011111 25. Zeichen= · Dezimal: 182 Hexadezimal: b6 Bitfolge(LSB): 11001101 26. Zeichen= ~ Dezimal: 125 Hexadezimal: 7d Bitfolge(LSB): 01111111 27. Zeichen= Dezimal: 126 Hexadezimal: 7e Bitfolge(LSB): 11101110 28. Zeichen= À Dezimal: 192 Hexadezimal: c0 Bitfolge(LSB): 00000011 SOURCE IP 29. Zeichen= š Dezimal: 168 Hexadezimal: a8 Bitfolge(LSB): 00010101 30. Zeichen= Dezimal: 2 Hexadezimal: 2 Bitfolge(LSB): 01000000 31. Zeichen= Š Dezimal: 166 Hexadezimal: a6 Bitfolge(LSB): 01100101 32. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 33. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 34. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 35. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 36. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 37. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 38. Zeichen= À Dezimal: 192 Hexadezimal: c0 Bitfolge(LSB): 00000011 DESTINATION IP 39. Zeichen= š Dezimal: 168 Hexadezimal: a8 Bitfolge(LSB): 00010101 40. Zeichen= Dezimal: 2 Hexadezimal: 2 Bitfolge(LSB): 01000000 41. Zeichen= < Dezimal: 60 Hexadezimal: 3c Bitfolge(LSB): 00111100 42. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 43. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 44. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 45. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 46. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 47. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 48. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 49. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 50. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 51. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 52. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 53. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 54. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 55. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 56. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 57. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 58. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 59. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 60. Zeichen= è Dezimal: 232 Hexadezimal: e8 Bitfolge(LSB): 00010111 FRAME CHECK SEQUENCE 61. Zeichen= ¬ Dezimal: 172 Hexadezimal: ac Bitfolge(LSB): 00110101 62. Zeichen= Š Dezimal: 166 Hexadezimal: a6 Bitfolge(LSB): 01100101 63. Zeichen= Z Dezimal: 90 Hexadezimal: 5a Bitfolge(LSB): 01011010 64. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 ->HIER FOLGEN NUR NULLEN..<- 199. Zeichen= c Dezimal: 99 Hexadezimal: 63 Bitfolge(LSB): 11000110 200. Zeichen= ! Dezimal: 33 Hexadezimal: 21 Bitfolge(LSB): 10000100 201. Zeichen= Dezimal: 32 Hexadezimal: 20 Bitfolge(LSB): 00000100 202. Zeichen= X Dezimal: 88 Hexadezimal: 58 Bitfolge(LSB): 00011010 203. Zeichen= ÿ Dezimal: 255 Hexadezimal: ff Bitfolge(LSB): 11111111
Und dann einige Null-Bytes mit einigen Werten, die ich weder als IP-HEADER noch Länegenangabe oder VLAN-TAG logisch einordenen kann, da sie zu kurz sind oder von den Bitwerten her gar keinen Sinn ergeben...Die Frage ist also...was ist das für ein Mist der da steht???
Eiegntlich sollte man meinen, ich müsste einen Ethernet-Frame mit VLAN-Tag oder Längenangabe und noch mindestens einen gescheiten IP-HEADER haben.
Da hab ich ja "nur" die Adressen scheinbar. Und ich brauche um eine Verbindung aufzubauen ja noch wenigstens ein Byte, in dem ich ein SYN-Bit lesen kann.
Kann mir jemand etwas dazu sagen?? =)
Vielen Dank im Vorraus!







Zitieren

Lesezeichen