RTV forum PL | NewsGroups PL

Problemy z wielokrotnym połączeniem TCP w module WIZNET W5100 przez SPI

WIZNET W5100

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Problemy z wielokrotnym połączeniem TCP w module WIZNET W5100 przez SPI

Janusz U.
Guest

Sat Feb 09, 2008 9:40 am   



witam,

czy ktos korzystal z tego cuda? Udalo mi sie uruchomic to to przez SPI,
otwieram socket (TCP), robie connect, send, disconnect i niestety nie moge
tej operacji powtorzyc. Zwisa mi na send, ale tak naprawde rzecz w tym, ze
bez software'owego resetu uklad na drugie polecenie connect nie posyla nic w
siec Ethernet. Podczas pierwszego polaczenia dziala ksiazkowo (SYN,ACK,FIN).
Testowalem juz rozne kombinacje rejestrow robiac ich zrzuty - jak dotad nic
nie moglo. Uklad utyka w grafie stanow na SYNSEND (cos go blokuje chyba
wewnetrznie, ze nic nie posyla) i stad dalsze proby koncza sie
niepowodzeniem.
Korzystam z modulu WIZ810MJ i sprawdzalem efekt juz na dwoch - powtarzalne.
Taiwanczycy nie odpisuja pomimo, ze poslalem im zrzuty rejestrow ukladu w
roznych stanach :/

pozdrawiam
Janusz U.

P.S. Nie oczekuje odpowiedzi typu uzyj Ethernuta czy lwIP, bo nie w tym
rzecz. Jak nie odpale tego to tak postapie, bo doswiadczenie z nimi mam
(glownie lwIP).

tbird
Guest

Sun Feb 10, 2008 12:41 am   



Janusz U. wrote:
Quote:
witam,

czy ktos korzystal z tego cuda? Udalo mi sie uruchomic to to przez SPI,
otwieram socket (TCP), robie connect, send, disconnect i niestety nie moge
tej operacji powtorzyc.

Czy na pewno przed każdym połączeniem otwierasz gniazdko?

Janusz U.
Guest

Sun Feb 10, 2008 9:54 am   



I try to implement TCP client (HTTP exactly) using W5100 chip. I do (using
functions from w5100.c/h and socket.c/h like for PIC24 demo):

INITIALIZATION
-----------------------
iinchip_init(); // SW reset
setSHAR(SHAR);
sysinit(0x55/*2K*/, 0x55/*2K*/);

// DHCP before?
setGAR(GAR);
setSUBR(SUBR);
setSIPR(IPR);

LOOP
----------
wait 0.5s
socket(s, Sn_MR_TCP, 0/*source port: temporary*/, 0/*flags: none*/)
connect(s, (uint8*)&iptl, 80)
send(s, dd, sizeof(dd)-1)
getSn_RX_RSR(s)
recv(s, &b, sizeof(b))
recv(s, &b, sizeof(b))
disconnect(s)

My problem: W5100 halts on send() in second loop. What is the problem?!

best regards
Janusz Uzycki

TEXTSHOT:

Channel : SEND MEM SIZE : RECV MEM SIZE
0 : 4000 : 6000 : 0800 : 0800
1 : 4800 : 6800 : 0800 : 0800
2 : 5000 : 7000 : 0800 : 0800
3 : 5800 : 7800 : 0800 : 0800
module W5100 configured

================================================
Net Config Information
================================================
MAC ADDRESS : 0x00.0x05.0xB7.0x04.0xBF.0x58
SUBNET MASK : 192.168.1.255
G/W IP ADDRESS : 192.168.1.1
LOCAL IP ADDRESS : 192.168.1.232
================================================
addr
˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙available socket found: 0
w5100 map:
00000000: 00 C0 A8 01 01 C0 A8 01 | FF 00 05 B7 04 BF 58 C0 |
00000010: A8 01 E8 00 00 00 00 07 | D0 08 55 55 00 00 00 00 |
00000020: 00 00 00 00 00 00 00 00 | 28 00 00 00 00 00 00 00 |
00000400: 00 00 00 00 00 00 FF FF | FF FF FF FF 00 00 00 00 |
00000410: 00 00 00 00 00 00 80 00 | 00 00 00 00 00 00 02 02 |
00000420: 08 00 00 00 00 00 00 00 | 00 00 00 00 00 40 00 00 |
socket()
close()
Sn_SR = 13 , Protocol = 01
socket ready
w5100 map:
00000000: 00 C0 A8 01 01 C0 A8 01 | FF 00 05 B7 04 BF 58 C0 |
00000010: A8 01 E8 00 00 00 00 07 | D0 08 55 55 00 00 00 00 |
00000020: 00 00 00 00 00 00 00 00 | 28 00 00 00 00 00 00 00 |
00000400: 01 00 00 13 00 01 FF FF | FF FF FF FF 00 00 00 00 |
00000410: 00 00 05 B4 00 00 80 00 | 00 00 00 00 00 00 02 02 |
00000420: 08 00 00 00 00 00 00 00 | 00 00 00 00 00 40 00 00 |
connect()
connected
w5100 map:
00000000: 00 C0 A8 01 01 C0 A8 01 | FF 00 05 B7 04 BF 58 C0 |
00000010: A8 01 E8 00 00 01 00 07 | D0 08 55 55 00 00 00 00 |
00000020: 00 00 00 00 00 00 00 00 | 28 00 00 00 00 00 00 00 |
00000400: 01 00 05 17 00 01 00 0C | 41 92 49 FE C0 A8 01 AB |
00000410: 00 50 05 B4 00 00 80 00 | 00 00 00 00 00 00 02 02 |
00000420: 08 00 9F 00 9F 00 00 13 | 00 00 00 13 00 40 00 00 |
send: GET http://m2mgsm.com
send()
socket 0 freesize(2048) empty or error
send() successful
w5100 map:
00000000: 00 C0 A8 01 01 C0 A8 01 | FF 00 05 B7 04 BF 58 C0 |
00000010: A8 01 E8 00 00 01 00 07 | D0 08 55 55 00 00 00 00 |
00000020: 00 00 00 00 00 00 00 00 | 28 00 00 00 00 00 00 00 |
00000400: 01 00 05 17 00 01 00 0C | 41 92 49 FE C0 A8 01 AB |
00000410: 00 50 05 B4 00 00 80 00 | 00 00 00 00 00 00 02 02 |
00000420: 07 D2 9F 2E 9F 2E 00 13 | 00 00 00 13 00 40 00 00 |
received: 19
recv()
ISR_RX: rd_ptr : 0000
rcv1: Y
recv() returned 'Y' instead of 'O'
disconnect()
disconnected / closed
w5100 map:
00000000: 00 C0 A8 01 01 C0 A8 01 | FF 00 05 B7 04 BF 58 C0 |
00000010: A8 01 E8 00 00 01 00 07 | D0 08 55 55 00 00 00 00 |
00000020: 00 00 00 00 00 00 00 00 | 28 00 00 00 00 00 00 00 |
00000400: 01 00 07 00 00 01 00 0C | 41 92 49 FE C0 A8 01 AB |
00000410: 00 50 05 B4 00 00 80 00 | 00 00 00 00 00 00 02 02 |
00000420: 08 00 9F 2E 9F 2E 00 12 | 00 01 00 13 00 40 00 00 |
available socket found: 0
w5100 map:
00000000: 00 C0 A8 01 01 C0 A8 01 | FF 00 05 B7 04 BF 58 C0 |
00000010: A8 01 E8 00 00 01 00 07 | D0 08 55 55 00 00 00 00 |
00000020: 00 00 00 00 00 00 00 00 | 28 00 00 00 00 00 00 00 |
00000400: 01 00 07 00 00 01 00 0C | 41 92 49 FE C0 A8 01 AB |
00000410: 00 50 05 B4 00 00 80 00 | 00 00 00 00 00 00 02 02 |
00000420: 08 00 9F 2E 9F 2E 00 12 | 00 01 00 13 00 40 00 00 |
socket()
close()
Sn_SR = 13 , Protocol = 01
socket ready
w5100 map:
00000000: 00 C0 A8 01 01 C0 A8 01 | FF 00 05 B7 04 BF 58 C0 |
00000010: A8 01 E8 00 00 01 00 07 | D0 08 55 55 00 00 00 00 |
00000020: 00 00 00 00 00 00 00 00 | 28 00 00 00 00 00 00 00 |
00000400: 01 00 07 13 00 02 00 0C | 41 92 49 FE C0 A8 01 AB |
00000410: 00 50 05 B4 00 00 80 00 | 00 00 00 00 00 00 02 02 |
00000420: 08 00 00 00 00 00 00 00 | 00 00 00 00 00 40 00 00 |
connect()
connected
w5100 map:
00000000: 00 C0 A8 01 01 C0 A8 01 | FF 00 05 B7 04 BF 58 C0 |
00000010: A8 01 E8 00 00 01 00 07 | D0 08 55 55 00 00 00 00 |
00000020: 00 00 00 00 00 00 00 00 | 28 00 00 00 00 00 00 00 |
00000400: 01 00 07 15 00 02 00 0C | 41 92 49 FE 63 00 00 00 |
00000410: 00 13 05 B4 00 00 80 00 | 00 00 00 00 00 00 02 02 |
00000420: 08 00 25 18 00 00 00 00 | 00 00 00 00 00 40 00 00 |
send: GET http://m2mgsm.com
send() <== halts here !!!

elektroda NewsGroups Forum Index - Elektronika Polska - Problemy z wielokrotnym połączeniem TCP w module WIZNET W5100 przez SPI

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map