pavel-demin / red-pitaya-notes

Notes on the Red Pitaya Open Source Instrument
http://pavel-demin.github.io/red-pitaya-notes/
MIT License
337 stars 209 forks source link

WSPR curl timeout #782

Closed davidhay45 closed 5 years ago

davidhay45 commented 5 years ago

Description of the setup:

Description of the problem:

curl does not upload spots and gives error in wspr log

"curl: (28) Connection timed out after 30000 milliseconds"

I have googled this and the suggestion is that dns is not resolving wsprnet.org but I can ping wsprnet.org.

This has worked before with the same setup.

The RP is wired to my router and receives its ip and dns via DHCP.

Any ideas?

pavel-demin commented 5 years ago

The error message most probably means that the wsprnet server is overloaded and can't accept reports.

davidhay45 commented 5 years ago

I don’t think so. I have used their website upload without issue. The error happens every time.

pskerrett commented 5 years ago

Hi David,

I see the same problem as you do. I do believe it is the wsprnet site behaving slow and timing out...

One work-around you can do is to modify the curl command for a longer timeout.

In sdr_transceiver_wspr, decode-wspr.sh file find this line:

curl -sS -m 45 -F allmept=@$ALLMEPT -F call=$CALL -F grid=$GRID http://wsprnet.org/post > /dev/null

I changed the -m value for a longer timeout delay. (45 seconds) YMMV..

davidhay45 commented 5 years ago

It looks like he RP can't connect to the http (port 80) because when I run the curl command without a time limit it gives me error 7, (can't connect to port.). So the ping port is open but not 80.

Any ideas anyone?

pavel-demin commented 5 years ago

I don't have a WSPR setup right now but I've just tried the following simple command from the latest SD card image:

curl http://wsprnet.org/post

It works without any problem on my Red Pitaya.

davidhay45 commented 5 years ago

This is weird. When my RP is connected direct to my BT router then all works but when it is connected wired to a wifi access point then it doesn't, that is port 80 does not connect. However when my Windows 10 pc is connected in the same way then port 80 is fine. So the wifi extender is somehow stopping port 80 (and no doubt other ports) but only for network traffic from my RP. Nameserver resolution and ping are fine.

This is not really the forum to ask for help on this but where is?

In the meantime I will load up 3.8 and see if that responds to curl.

davidhay45 commented 5 years ago

Same problem on 3.8. Works ok when wired to the router but not when wired to a wifi access point. So the wifi access point is blocking some ports but only for the RP machjne and does not affect my Windows 10 pc.

The error when the RP is connected via the access point is:

curl: (7) Failed to connect to wsprnet.org port 80: Operation timed out

pskerrett commented 5 years ago

David, something is certainly amiss on your local network somewhere.. But the problem is probably not located on your RP. Check to make sure your getting the proper DHCP settings from your routers (Gateway, DNS, etc). But you will have to start from the network side unfortunately.

davidhay45 commented 5 years ago

This now looks like it was a hardware fault that was solid and is now just flaky. Someone from the GitHub curl site suggested I use wireshark to capture the packets and that showed it was a corrupted return packet. It is now working without any changes and wireshark shows the odd retransmission.

Thanks for your help.