Hi,
Well, after a few weeks playing with LwIP on a Virtex II Pro, I finally got it
working and the server runs smoothly for now.
I am using the RAW Api from EDK 8.2i v2.00a which apparently corresponds to the
0.7.1 release of LwIP.
Now, even though the server runs smoothly, I mean I'm able to connect to it and
send command line and see how it responds,
I still have some issues.
1/ I encoutered lots of problems with the print/xl_printf/printf commands. We
were not able to display correctly the data or even
strings.
One thing strange was about pbuf. I woud like to know if I am right. pbuf
is the representation of a packet for LwIP.
So if I am sending data or receiving data from the server, using
tcp_write(), will it handle the by itself to cut the data into packets
and dispatch them in a chain of pbufs?
2/ Also, my client is in JAVA, when it is sending a commande line, it is a
string "Test 1 2" for examle. But when we display
pbuf->payload, we get the string and lots of garbage. Also when i display
the pbuf->len variable, it is not the exact size of the string
I sent. It was more likely if I sent "test" to be 6 instead of 4 so I
thought it was "\n" and when I used a strtok, it seemed like it
and we made it work that way, like detect the character \n, then parse the
command line.
But I was wondering if I was doing something wrong on the client or server
side.
3/ Our main interrest with LwIP was to use DHCP. By reading the dhcp.c file, it
says the following things:
- change LWIP_DHCP to 1 in lwipopts.h which is in the port directory.
- change value of DHCP_COARSE_TMR and another one so that the first one is
called every 60s and the other 500ms.
- then call the respective functions for these values and call
dhcp_start(struct netif);
Well, I did spend quite a lot of time playing with the timer and the Timer
Base Register LWIP uses. I still didn't get how
we can evaluate the time. I mean that in the echo code example, the
function mytmr() is called every 750.000 cycles.
And then in the mytmr() function, it says that tcp_slowtmr() is called
every 2ms... So, if someone could enlight me on that point, thx
But getting back to the dhcp thing, then after doing all of this, I tried to
compile and I got a undefined reference to all of the dhcp functions.
Of course, I included dhcp.h in every file I needed it and then I went to
the port directory and look at the make file and the dhcp.c file was
not included. So I added it but still the same error....
4/ Two more questions, I was thinking about upgrading to lwIP 1.2.0 but I have
no idea how so if someone could explain it to me or give me headings,
I would be really grateful.
Also, I was thinking about upgrading to EDK 9.1 but is it worth it? I've
read that they changed the compiler and that it is not as effective
as the 8.2i version.
Thank you for taking the time to read all of this and, I am looking forward to
hear some answers from the LwIP community.
Antoine.
_________________________________________________________________
Windows Live Messenger vous offre 30 nouvelles émoticônes gratuites, installées
directement dans votre Messenger !
http://www.emoticones-messenger.fr/_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users