I am having problems getting my edison board to connect to WiFi on my home network.
This problem has the following characteristics. I will define all of my terms first:
I have a wifi network at work. This is my Work Network
I have a wifi network at home. This is my Home Network
I have a laptop which I bring back and forth from home and work every day.
I also have other devices, like my cell phone and tablets that connect to these two networks.
Note: When on the Work Network, my laptop always has an IP subnet of 40. That is, it's local IP is 192.168.40.nnn.
On the Home Network, it is always subnet 2. That is, my laptop local IP is always 192.168.2.nnn
On both the Work and Home Networks, I use "Putty" to setup the wifi connection: "configure_edison --wifi", etc. In both cases, the console is telling me that the Edison board has successfully connected to the network and reports an IP address.
Here is where things break down:
At work, I can ping the Edison from my laptop. I can connect to it through a Windows app that sets up SSH connection. I can work with my Edison all day long over the Work local WiFi network. No problem at work.
At home it is a different story. Even though the Edison serial console is telling me that it is connected to my local network and reports the IP as: 192.168.2.63, the Edison does not even respond to pings from my laptop. This is the same laptop I use at work and ping the Edsion successfully.
Also, at home, I am able to ping my cell phone, tablet, printer and many other wireless devices on the network.
Also, at home, if I enter on the Windows Console of my laptop: ping edison.local
It WILL correctly find the name and report the correct IP that the Edison reports when connected with Putty.
My router interface application "sees" the Edison's IP address. It knows it is there. I have disabled my firewall on my laptop (temporarily) in order to rule that out.
Still, it will not respond to pings.
There must be something about the nature of the connection between the Edsion and my Home Network router that is different from the one established at work, but I do not have the networking chops to figure this out.
I'm going to guess that your laptop is running windows.
Windows treats different networks with different firewall rules, so at work it says "yeah, this is a corporate network, let the guy do whatever he wants" and at home it says "nah, this is a home network. Home users know nothing. I'm not letting any of that through"
The fix is to figure out how to tell windows to trust you home network the same it trusts your work network.
I'm not sure how to do that, because I never use Windows.
Thanks for your response.
I was looking at that and also spoke to the network administrator at work. I completely disabled Windows firewall, and unless Windows has different levels of "disabling", then there should be no firewall. I just checked again and all of the Windows firewall setting are showing RED and screaming at me that the firewall is disabled.
Also, I can't even ping this thing but I am able to ping any other device on this home network.
Hmmm. Interesting. So it doesn't look like a firewall issue.
When you said you use PuTTY to log on - are you using the Serial port (USB Cable) to do that?
If so, you could try logging on and then try a couple of things...
1. Try to ping a device from the edison, so while logged onto the edison in PuTTY try to ping your laptop, router, etc
2. Enter the following command and paste the results here:
3. Enter the following commands and paste the results here:
*EDIT* Corrected mis-spelled command lines.
Do you still need assistance with this thread? In case you do, please reply with the information @SpiderKenny requested.
We'll be waiting for your response.
You might want to try to disable ipv6 on the Edison. In our office we have a typical home modem/router(fritz.box). While setting up the ipv6 through dhcp (which happens after ipv4) the edison and router get into a runaway situation (like a denial of service) that blocks traffic on the edison and congested our network. After disabling ipv6 on the Edison (but leaving ipv4 of course) everything works normal. Similarly, disabling ipv6 on the router and leaving on on the Edison worked too.
Thanks for your suggestion.
Not knowing how to disabled ivp6 on the Edison, I took to the internet. I got this advice on a search to "disable ipv6 edison":
sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1
I still cannot ping my board...
I never tried the method you used, it looks nice and clean.
To disable de ipv6 on the wifi we used:
# vi /var/lib/connman/wifi_????????????????/settings
Under /var/lib/connman are the various connections you may have setup. We have 2 wifi and an ethernet:
root@yuna:~# ls -l /var/lib/connman/
drwx------ 2 root root 4096 Sep 1 2016 ethernet_00800f951d4d_cable
-rw------- 1 root root 213 Apr 1 20:44 settings
drwx------ 2 root root 4096 Apr 19 06:55 wifi_000000000000_4578616c6f6e44656c66743547_managed_psk
drwx------ 2 root root 4096 Jul 26 2016 wifi_fcc2de3b0baa_4578616c6f6e44656c66743547_managed_psk
So for instance:
root@yuna:~# cat /var/lib/connman/wifi_000000000000_4578616c6f6e44656c66743547_managed_psk/settings
And then of course: reboot now
But I may be well that you are experiencing another problem of course.
This turned out to be the problem, found, just prior to giving up in abject dispair:
From the serial consol:
ifconfig usb0 down
And that was literally that. I can now ping with reckless abandon.
My project for the next month or so will be to figure out how to get this thing to start up this way. I can't much see the point of having wireless connectivity if I have to go to the device and connect through a WIRED cable to eliminate some conflict.
Also a mystery: I don't have to do this when I am connecting to my work network. What's up with that?
After reading a few more WEB pages, I figured this out.
In the directory: /etc/systemd/network
There is a file called "usb0.network"
It is short and sweet:
I did not create this file and I never altered it. It came with the Yocto version I am running.
This thing sets up the USB0 port to behave like a local TCP/IP connection. To get Windows to work with this arrangment, you have to go to your control panel under "Network Adaptor" settings, select "Change Adaptor Settings" and look for a connection called "Intel Edison USB RNDIS Device". Pull up the Properties Panel for that and go to the network tab. Look for the "Internet Protocol Version 4 (TCP/IP IPv4)" item. Select that and then "Properties" again.
You set the IP Address to 192.168.2.2
Set the subnet mask to 255.255.255.0
All this is described in detail here:
https://software.intel.com/en-us/forums/internet-of-things/topic/533839 Edison - Ethernet Over USB on Windows
All of that is to get your USB port on your Edison to look like an IP address of 192.168.2.15 (the IP address range of 15-24 was specified by the "usb0.network" file).
Now, I had been using this wired USB connection, after making those changes, for the last two months. I had followed the instructions from the page I provided above. And, again, I was able to use actual wireless WiFi at on my work network but it would not work on my Home network. The reason? This USB configuration would create a conflict.
Why not at work as well? My WORK network WiFi was setup to use subnet 40. My home network is using subnet 2 (the same subnet as my magical USB0 imitation Ethernet connection).
So I stumbled on this, which would temporarily fix the problem, entering through the serial port consol:
ifconfig usb0 down
This would temporarily fix the problem but each time I started up, I had to do it all over again, which kind of defeats the intention of wireless connectivity.
Here is how I fixed it for good:
That file, usb0.network, can be edited. Change the subnet to something other than what your wireless network uses. I used 3:
I also had to go back into the Network Adaptors configuration and change the subnet for that USB RNDIS interface to 3 as well.
Now I reset the Edison and I have BOTH my "Ethernet over USB" over subnet 3 AND my actual WiFi connectivity over subnet 2.
That is several weeks of my life that I will never get back, but I share my experience here lest any of you go through the same miserable episode.
Ah, yes. I always have that USB cable unplugged, since it does not work very well (the host is an Ubuntu PC). Also we have a USB - ethernet converter in that port which requires the switch to set the USB host and than automatically disables the USB guest that you need for this.
So it seems my problem was another.