Asked — Edited
Resolved Resolved by Jeremie!

Client Mode Wifi Connection Question

I just received the Roli with EZ-B v4. I successfully connected via AP mode and loaded the EZ-B v4 admin page in a web browser. Using the admin page, I changed to client mode, entering my wifi SSID and password. The EZ-B v4 is now successfully connected to the wifi network. I no longer connect my PC directly to it, but instead have my PC connect to the wifi as just another client. When the EZ-B v4 starts up, it goes through its usual sounds, ending with saying that it has successfully connected to the network. Its light is green. It is assigned IP 192.168.1.5. I can use a browser to go to the IP address (http://192.168.1.5/) and successfully load the admin page again. I can even ping the diagnostics by calling various URLs via my browser. For example, if I load http://192.168.1.5/button.cgi?10 I reset servos successfully back to 90 degrees. Or loading http://192.168.1.5/button.cgi?0 will cause the EZ-B v4 to play the first diagnostic sound.

So...obviously the EZ-B v4 is successfully connected to my wifi network, and my PC is able to communicate with it via that network by calling URLs at its IP address.

However, the problem is this: If I open ARC and use the "Scan for EZ-B v4" dialog box, here's what happens: When the scan hits the correct IP address (192.168.1.5) the robot makes a little chime. (I assume this is its response to getting pinged.) However, ARC does not log the IP in the "Found IPs" list. In fact, it will go through the entire range of possible IPs (1...254) and find no valid IPs to list in the "Found IPs" list.

What's going wrong? Why can't the scan identify the IP?

If I abandon the scan and instead just enter the IP directly into the 0 row in the "Connection" dialog box and click the "Connect" button, I get an error message that reads, "Could not connect to the EZ-B. Would you like to view the Getting Started tutorials?" The debugger info at the bottom of the screen then shows this:

EZB 0: EZB 1: EZB 2: EZB 3: EZB 4: 11/10/2014 10:33 AM - TCP Server stopped 11/10/2014 10:33 AM - TCP Server stopped 11/10/2014 10:33 AM - TCP Server stopped 11/10/2014 10:33 AM - TCP Server stopped 11/10/2014 10:33 AM - TCP Server stopped 11/10/2014 10:37 AM - Attempting connection on 192.168.1.5 11/10/2014 10:37 AM - Connection Failed: System.Net.Sockets.SocketException (0x80004005): No connection could be made because the target machine actively refused it 192.168.1.5:6666 at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult) at System.Net.Sockets.TcpClient.EndConnect(IAsyncResult asyncResult) at EZ_B.EZB.Connect(String hostname, Int32 baudRate) 11/10/2014 10:37 AM - Disconnected 11/10/2014 10:38 AM - Attempting connection on 192.168.1.5 11/10/2014 10:38 AM - Connection Failed: System.Net.Sockets.SocketException (0x80004005): No connection could be made because the target machine actively refused it 192.168.1.5:6666 at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult) at System.Net.Sockets.TcpClient.EndConnect(IAsyncResult asyncResult) at EZ_B.EZB.Connect(String hostname, Int32 baudRate) 11/10/2014 10:38 AM - Disconnected

What is going wrong? How can I connect ARC to the EZ-B v4?

Thanks.


ARC Pro

Upgrade to ARC Pro

With Synthiam ARC Pro, you're not just programming a robot; you're shaping the future of automation, one innovative idea at a time.

PRO
Canada
#1  

Hmmm, it's sound to me like you could just type 192.168.1.5:23 into the ARC connection window and connect, have you tried that method yet?

Edit: Maybe you are just missing the port number ":23"

#2  

Yes, I tried adding :23 to the IP in the "Connection" window. Same error dialog, but different debugger info. Here's the debugger output from that address:

EZB 0: EZB 1: EZB 2: EZB 3: EZB 4: 11/10/2014 10:55 AM - TCP Server stopped 11/10/2014 10:55 AM - TCP Server stopped 11/10/2014 10:55 AM - TCP Server stopped 11/10/2014 10:55 AM - TCP Server stopped 11/10/2014 10:55 AM - TCP Server stopped 11/10/2014 10:55 AM - Attempting connection on 192.168.1.5:23 11/10/2014 10:56 AM - Comm Err: System.IO.IOException: Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) --- End of inner exception stack trace --- at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) at System.IO.Stream.ReadByte() at EZ_B.EZB.(Int32 , Byte[] ) 11/10/2014 10:56 AM - BbytesToExpect: 1 11/10/2014 10:56 AM - U Received: 11/10/2014 10:56 AM - Disconnected 11/10/2014 10:56 AM - Connection Failed: System.Exception: Controller Not Responding at EZ_B.EZB.Connect(String hostname, Int32 baudRate) 11/10/2014 10:56 AM - Disconnected

PRO
Canada
#4  

Just to verify a few things:

Is the ez-b powered up and connected to your network? Is the PC you are using connected to the same network as the ez-b? Do you have a wired ethernet connection going to your PC?

Thanks!

#5  

Jeremie, thanks for asking.

Is the ez-b powered up and connected to your network? Yes

Is the PC you are using connected to the same network as the ez-b? Yes

Do you have a wired ethernet connection going to your PC? No. The PC is only connected wirelessly to the same wifi network as the EZ-B v4.

#6  

Have you tried "the old, if nothing else works try rebooting everything" trick?

#7  

Richard, I'm ashamed to say that yes, I have in fact tried the old reboot. ;-) No luck.

I have figured out the cause, so this issue is resolved for me. To help anyone else who might run into this, here's more info on the cause and fix:

Cause: Security software. In my case, I use Avast!, and the specific module that was causing the problem was the "Web Shield."

Fix: Open Avast! and go to Settings > Active Protection to get a list of Avast! services. If "Web Shield" is set to "On" then click the slider to set it to "Off." QED

FWIW, I tried changing the settings of "Web Shield" (including adding exceptions for both ARC and the IP) in the hopes that I wouldn't have to turn it off entirely. However, no changes in settings resolved the problem. Only turning the entire Web Shield service off worked.

Hope this helps someone else in the future.

Thanks Jeremie and Richard for giving it a shot, and for being so quickly responsive. It's much appreciated.

#8  

Ooooh... Avast strikes again... Avast has been an ongoing connection issue for many ezb4 users...

I never use anti virus software... People say I am dumb, but in 20 years of using a PC I have never had a virus... The way I look at it is, anti virus software just bogs down system resources...

PRO
Canada
#9  

Thanks @Chas9000c for sharing your solution! I'm kicking myself about not asking about that, because it's something we've seen in the past.

Edit: If you need to give someone credit for this thread, please give it to Richard:)

PRO
Canada
#11  

S'all good, I figure that sometimes people get mixed up and give @Rich credit instead of you so you deserve a little extra credit every now and again:)

PRO
Synthiam
#12  

Avast connection issued are documented in this diagnostic lesson: https://synthiam.com/Tutorials/Lesson/14

When connection attempt is made, a window will inform you that it was not successful. It asks if you would like to see diagnostic help. If you press yes, it will bring you to that page.

For future reference or anyone else experiencing connection issues.

PRO
Canada
#13  

I guess what threw me off was that @chas9000c was able to connect via AP mode with Avast running but not client mode, I hadn't heard of that before.

#15  

Thanks again guys. Just posting this so I can mark as resolved.