RCM6700: Seeing HTTP: TIMEOUT! from http.lib, unsure why

I have a reference RCM6700 board and running a web server, since adding authentication to the page the client looks to hang but if left long enough it loads.

This is an intermittent issue, it doesn’t always hang.

I enabled HTTP_VERBOSE and see the below snippet, sometimes it times out multiple times, sometimes not at all.

I’ve tried increasing HTTP_MAXBUFFER up to 2048.

Can anyone offer any help? Could it be something I’m not setting that is causing the issue or setting incorrectly?

verbose output:
HTTP: digest; resource=/netconfig.shtml realm=User
----HTTP: getline: ‘’
HTTP: state changed to 4->6
HTTP: sending 401 for /netconfig.shtml, realm User
HTTP: state changed to 6->10
HTTP: state changed to 10->11
HTTP: state changed to 11->9
HTTP: socket ended in state 9
HTTP: state changed to 9->2
HTTP: socket established
HTTP: state changed to 2->3
HTTP: TIMEOUT!
HTTP: socket ended in state 9
HTTP: state changed to 3->2
HTTP: socket established
HTTP: state changed to 2->3
----HTTP: getline: ‘GET /netconfig.shtml HTTP/1.1’

1 Like

Looks like the timeout happened in HTTP_GETREQ (state 3) and it wasn’t able to read a line. Can you use a packet sniffer (Wireshark) on the PC sending the request to see what the headers look like? Maybe increasing HTTP_MAXSERVERS would help?

Can you try one of the sample programs with authentication to see if that works? If not, reply with steps to reproduce the failure and I can investigate it.

Samples programmes were all fine.

Changing HTTP_MAXSERVERS to 8 resolved this issue, I had it set to 4 previously. Is 8 ok?

My application is monitoring/setting GPIO with web and rs232 interface to enable this, setting to 8 didn’t give any noticeable error or issue.

Thanks.

Yes, that’s OK. Web browsers like to make multiple simultaneous requests, so increasing HTTP_MAXSERVERS to support that is a good idea (at the cost of using some additional RAM). You can always view the MAP file from a build to see how much space your code, constants and variables use.