Something weird is happening with my local system. It’s a DIY version running on a Pi with usb hard drive and an Edimax wifi dongle.
The system and my router are set up so that I can access the dashboards etc. remotely via duckdns.
It also receives data from temperature sensors which are read by a homebrew ESP8266 system which manages our heat bank.
The issue I have is that I can’t see the system locally, so if I navigate to 192.168.0.20/emoncms I get an ERR_CONNECTION_TIMED_OUT.
However I can access everything through my duckdns id. This goes out from the router and comes back in again. All the data is there, readings from the emonTX and the temperature on the heat bank. So a) the ESP8266 system is getting it’s data through, the system is responding to remote access, i.e. the router can access 192.168.0.20.
Also the router lists the system as a connected system but for example Advanced IP Scanner does not and I can’t SSH into it with MobaXTerm.
I know this is the openenergy forum but I wondered if anyone else has seen this sort of network behaviour and if you have, have you fixed it? And how?
PS I should say that I have rebooted the router and also that this happens on a PC as well as an android tablet. Although the Android tablet reports ERR_ADDRESS_URREACHABLE as the error.
I’m off to power down the Pi now to see if I can get things back up again.
EDIT. And that brought it back again… I actually have a crontab entry to do a reboot every day at midnight because I’ve had some dropouts before, so I guess whatever happened happened between midnight and me noticing that I couldn’t access the system locally.
EDIT 2 - spoke too soon - it was back but now gone again at least from a browser. The router still thinks it is there and I can still access it via my duckdns id. Weird.
this is all on internal network yet reachable on the external network side … yet you can communicate with the router directly --to me it seams that you turned on client isolation on your router… see if you can ping other internal connections ie PC to android or pi.- if not then I think client isolation is turned - client isolation is a common feature especial for hotspot setup. it allow internet access but does not allow people to snoop on other peoples devices who might be connected at the same time
Hi Stephen, thanks for those thoughts.
Don’t think I’ve ever come across client isolation but I can ping other nodes on the local network.
Interestingly I did some digging with the web’s most used search engine and came across a few things. One was that someone had had similar problems pinging the pi with the local address (in my case 192.168.0.20) didn’t work BUT if they used -n with ping to set the number of times the address was pinged, eventually it responded. So I tried this
ping -n 150 192.168.0.20 and after 10 pings the pi responded and I could get back in with ssh and could see the dashboards using 192.168.0.20/emoncms etc. from the web browser.
One of the issues with the edimax dongle is the power management, so I checked this using iwconfig and power management is turned off, so it won’t be that. I also came across a utility called wavemon which gives a bit more information than iwconfig. sudo apt-get install wavemon. One of the screens lets you see a list of nearby access points although I had to use sudo wavemon to get this to work.
I’ll keep watching to see what happens to the system. Currently the link quality displayed by wavemon is much better than yesterday, so maybe this is all down to some weird behaviour when the link quality gets below a certain threshold.
ping -n 150 trick might just work for someone else having issues and folks might find the wavemon utility useful.
when you run
wavemon or a command like:
iwconfig wlan0 | grep -i --color 'link quality'
what signal quality or level to you generally see?
Link Quality=64/100 Signal level=59/100 Noise level=0/100
which I’m guessing is OK.
Somehow I think it is related to link quality but that that somehow causes things to go haywire.
I rebooted the PC this afternoon and after that I couldn’t get the local address to work but the remote access was working.
I did the ping -n 100 trick again and after probably 50 tries with either ‘Request timed out’ or ‘Destination host unreachable’ it was suddenly was OK.
Can’t understand why the requests are different, i.e. something coming from outside the router to something from inside so to speak. Surely these are the same, except for maybe timing I guess.
Anyway, I’ll keep digging and thanks for responding.
do you have a network switch that you can use test. just place your pi on the switch and the computer and then one going back to the router. if the issue goes away for the wired equipment on the switch but still present on the router then the router is the most likely culprit . did you try just simple hard reset to default on the router to clear it as it can become corrupt over time … though i am not clear how your system is set up. the pi is wired to router and device connect to the pi via usb wifi adapter on the pi… or is the pi connected to the router via wifi – but I am guessing most likely the later then the switch would not help you much . other then maybe determining where the issue mostly like lies. if the pi connected by wire has no issue on the switch but has issue when connected to the router then most likely the router. but if the issue presents itself on both the switch and the router then its on the Pi… if no issue by wire on either router or switch by wire then it is the wifi issue on either the router or pi wifi. then the next option is to connect to another wireless point and see it it goes away. if it goes away and a hard reset did not fix it perhaps upgrading the router’s firmware will correct it …
Thanks Stephen, I think I follow you
It would be a bit of a pain to put a switch in and connect both the PC and the Pi to the same switch - just physical locations…
Our network has two devices connected directly to the router, a NAS and a Pi which runs Squezeserver (music). Everything else is connected via wifi. This includes 4 Pi zeros (multi-room music players) and the Pi that runs emoncms these are all using edimax usb dongles. Then there’s a couple of ESP systems, the home brew Heat Bank controller and a Sonoff in the shed to turn a heater on and off (it’s mainly on at the moment!). And finally the various tablets, phones and the PC.
I’m not sure that connecting the problem Pi and the PC to a switch would really help as when the Pi disappears from the network I can’t see it from any device, i.e. phone, tablet, PC using 192.168.0.20 but from all of those devices I can access it from outside the router via the duckdns address. And I can reliably run Ping for say 100 tries and after a while say between 10 and 50 tries the Pi will respond and after that 192.168.0.20 works on all devices.
The router is Virgin Media about a year old and the FW is up to date.
I’ll try posting the issue on the raspberry Pi forum to see if I can get any insights there.
replying to myself here which is a bit sad…
But anyway. I’ve read lots in the past about the edimax wifi dongle and about having to turn off power management.
I’d assumed that when I have used wavemon and it reports ‘power management off’ that it would be off. But if you do:
it returns 1 not 0 which it should do if power save is really off for the device.
So I’m trying with the power management fix for the edimax which is as follows:
To turn off powersave, add the following to /etc/modules, or create a file (8192cu.conf) in /etc/modprobe.d/ with the line(s):
prevent power down of wireless when idle
options 8192cu rtw_power_mgnt=0 rtw_enusbss=0
Next reboot (or rmmod/insmod) it should disable the sleepy mode and your pi will be accessible all the time.
This now returns 0 when I do the cat command above.
I’ll report back if it works.
PS I’m assuming that the reason all the other Pis on our network don’t drop into power save mode is that comms to and from them is more frequent than the Pi running emoncms.
sure no problem – but with a little better insight to your network from the description above.
to me it would seam to be more likely the router then pi simply because the external connection can talk reliably . and internal monitors also talk reliably via wifi . which suggest that monitors is on a static IP- which suggest the firmware is corrupt on the router a hard reset of the router and a possibly reflashing of firmware will correct it . I bet if you placed the PC on a static IP it will also speak reliably to the emon.
Hi Stephen, I can see where you are coming from with that, although as far as I can tell the router always uses the same ip address once it has seen a mac address connect if you see what I mean. The ip addresses never change.
This may be a consequence of me reserving the ip addresses of the Pi and Heat bank controller because I want to access them externally. So even if I were to do a factory reset of the router which would presumably start the ip allocation afresh, I’d still have to reserve a couple of ip addresses and then I’d be back to square one. Unless of course a factory reset somehow clears some other issue.
I’ll give it a couple of days to see if the fix I applied above has any effect and then maybe factory reset the router as you have suggested to see if that helps.
it has to be a HARD RESET and not a basic reset to factory defaults . different routers require doing that differently. most commonly it is the 30-30-30 push the reset button for 30 seconds while the router is powered on, hold it then unplug the power while still holding for another 30 seconds. then plug it in again and continue hold for still another 30 seconds and then releases … this will flush out the router’s nvram completely but google how to hard reset your particular router to be certain as some routers do not like the 30-30-30 hard reset
OK I’ll check that out. Thanks