HTTP Server and TCP checksum errors

05 Dec 2009

I am trying to trace down why I cannot display the mbed's HTTP home or \local\ pages.  I always get a 404 error.  However, the page "http://mbed-c3p0/rpc/led1/write+1" works.  While tracking this down, I noticed a lot of  header checksum errors coming from the client.  How does the lwip stack handle these errors? 

Using example from:   http://mbed.org/projects/cookbook/svn/EMAC/lwip/examples/HTTPServer
In the Wireshark attachment, .46 is the mbed server and .82 is an IE 6.0 client.

...kevin

Wireshark checksum error

 

11 Dec 2009 . Edited: 11 Dec 2009

Hi Kevin,

sorry for the long delay.

Kevin Braun wrote:
I am trying to trace down why I cannot display the mbed's HTTP home or \local\ pages.  I always get a 404 error.  However, the page "http://mbed-c3p0/rpc/led1/write+1" works.  While tracking this down, I noticed a lot of  header checksum errors coming from the client.  How does the lwip stack handle these errors?  

Using example from:   http://mbed.org/projects/cookbook/svn/EMAC/lwip/examples/HTTPServer
In the Wireshark attachment, .46 is the mbed server and .82 is an IE 6.0 client.

So thanks for writing that the RPC is working, that reduces the possible reasons. The Ethernet hardware and the driver class ignores the checksum at the moment. My guess is that wireshark makes the checksum wrong if the package is from the host system. lwIP stack checks the IP and TCP checksums and even this package get passed as far as I can see.

More concerning is the reconnection attempt form the mbed server I've seen that a lot of times and up to now I didn't get the bottom of that. But as far as I can see they just appear at the end of a transmission of a file. This makes the transmissions slower but they should still work.

For the HTTP 404 on local pages. I'm sorry if this is an obvious thing for you but I just want to be sure: have you placed an index.htm on the top level of the mbed filesystem? The mbed can only read 8.3 (DOS) filenames.

Another thing might be that the mbed cannot access sub folders on the LocalFileSystem device. So ensure that you just try to access top level files or use an SDCard.

Ilya I has reported that the current version of the HTTP Server is more reliable if you place a favicon.ico on the mbed as well. Caused by the fact that most browsers ask for it and the 404 page does not sent a filetype with it in the current version.

 

Regards

Rolf

11 Dec 2009

Thanks Rolf,

I wasn't aware of the 8.3 format, but I did figure out that all files need to be in the root directory.  I also added favicon.ico to my forte.  Things have been improving dramatically since I wrote this e-mail last week.  I still have a lot to learn, so bear with me.

thanks again,

...kevin

14 Dec 2009

No problem. It is always good if somebody ask. It makes you realize you have a gap in your documentation or the words are not quite right.

Furthermore it even might be a bug ;-)

So don't hesitate ...

 

Cheers

Rolf