tcp echo program not connecting to pc

Trying to get ethernet comm working between my ASUS notebook PC and a BL2600. Now, after a couple of hours trying to get it to work, I suspect the pings are trying to go thru the WiFi adapter on my ASUS notebook PC. So now, how to get the PC to use the wired Ethernet adapter to talk to the BL2600?

The Sample ECHO program says "Waiting for connection …

The Sample PING program says “My IP address is 10.10.6.100” but I cannot ping it from my PC, getting timeouts.

I am running Win7. The ASUS is also connected to my WiFi router but I am using a crossover Ethernet cable to communicate with the BL2600.

I had previously developed software to communicate with the BL2600 over the crossover cable on my old Dell desktop PC running Win7. On the Dell PC, I had only an Ethernet connection, no WiFi connection. I had programmed the PC in LabWindows and all worked well.

I suspect ping tries to go thru the WiFi transceiver. I disabled the WiFi transceiver and I immediately get “transmit failure, general failure.” So I suspect I need to force the pings to go thru the Ethernet cable adapter instead of the WiFi transceiver. Anyone know how to do that? (Of course that’s a question for a different forum.)

It looks like I can force the IP address of the wired adapter according to an MIT webpage: http://kb.mit.edu/confluence/display/istcontrib/Windows+7+-+Connect+via+Ethernet+with+a+static+IP+address

and I may be able to use the -k option with ping along with my new IP address for the wired adapter but I’m too tired to try this tonight.

Please let me know of other ideas or more info.
Thanks, John

Hello John,

Check below settings in your application.
1.Does your network settings are correct?
2.You need to set proper IP for PING_WHO macro.
Before setting the PING_WHO, check actual ping command is working with this IP.

3.Another point is, turn off the windows firewall in your development PC.

Now run test the application on the module.

2 Likes

Hello cpigilam.
I’m not familiar with the PING_WHO macro and can’t find info about it. Please explain and tell me where I can find it.
Are you referring to the MIT webpage that I mentioned where they tell how to set the static IP address of the adapter? I tried setting the IP address of the wired Ethernet adapter to 192.168.2.9 and used the ping -k command to try pinging the BL2600 but still got the timeout. Also with the crossover cable connected between the PC and the BL2600, I did an ipconfig and it didn’t list the new IP address that I had set. I double checked the IP address that I had set by the instructions from the MIT and the howtogeek.com webpages. Next I’ll try an ancient Dell Inspiron notebook PC and see if it will ping the BL2600.
Thanks,
John

Hello John,

The PING_WHO macro is the IP address to whom (I.E ip address of the PC)you want to ping.
In the PING.C application, you need to define this Macro. Did you see the PING.C program?By default this macro is commented , you need to uncomment this macro.

In the Dynamic C libraries, by default the rabbit module’s IP address configured to 10.10.6.100, if you want to change this address, you need to define below macros in your application.
#define _PRIMARY_STATIC_IP “xxx.xxx.xxx”
#define _PRIMARY_NETMASK “xxx.xxx.xxx.xxx”
#define MY_GATEWAY “xxx.xxx.xxx.xxx”
#define MY_NAMESERVER “xxx.xxx.xxx.xxx”

For more information on this, go through the below user’s manual.
http://ftp1.digi.com/support/documentation/0190143j.pdf

If you want to use default static IP address on your module to test PING.C application, set your PC IP address to 10.10.6.200 and set netmask.

In the PING.C application set the below macro
#define PING_WHO “10.10.6.200”
Now run the PING.C application on the module.

Once run the application, now check what it is showing on the Dynamic C IDE stdio window?

Now try to ping the BL2600 from you PC by using the below command
>ping -t 10.10.6.100
Are you getting ping responses from the BL2600?

If everything goes fine, in the Dynamic C stdio window it should show the
"received ping: " message.

If you are getting the ping response from BL2600 on your PC, but you are not getting the "received ping: " message at Dynamic C stdio window, it might be blocking your windows firewall.
In this case, turn off windows firewall then test. I hope this helps you.

Thanks.

Gosh, that’s the ticket!
I set my Ethernet adapter IP address to 10.10.6.200,
mask to 255.255.255.0, gateway to 10.10.6.1, DNS to 8.8.8.8 and Alt DNS to 8.8.4.4. I then inserted #define PING_WHO “10.10.6.200” into PING.C, compiled and loaded it into Flash to run from RAM. Its Stdio said “My IP address is 10.10.6.100.” Then I pinged the BL2600 at 10.10.6.100 and it worked perfectly, getting the replies in less than a millisecond. And you were right. I wasn’t getting any messages on the Stdio window, so turned off the Windoz Firewall and then got the “received ping” messages on the Stdio window and strangely enough, it keeps on getting the received ping messages even after I stop pinging. the Stdio window says the pings are now 1357 and climbing. Weird.

So it turned out to be very simple. I suspect the main problem was that I had not correctly set the static IP address etc in my PC’s Ethernet adapter but also the Windoz Firewall was a problem. Now on to developing the BL2600 code and the PC code.
You’ve been incredibly helpful. Thanks very much!
John
http://johnbakeree.blogspot.com/