Besides the advice given by Simon, have you even tried the obvious and basics of networking ? The way you phrase makes me think you are not comfortable with the secret arts of networking, so...

If your devices are on different subnets, they are in different networks. Subnet or no subnet, when you apply your mask to your IP and to the other end IP and the results are not the same, you need someone else to deliver the message. Yes, a router. Perhaps you forgot you need a router or forgot to properly set the gateway address or the mask, or both. Since you didn't post your setup, I'm guessing A "communication problem with X and Y on different subnets" is a routing problem. Yes, there can be a firewall, not quite common on inside networks, but you must know your company/lab/whatever network if you plan to do tests in there.
Have you even tried to ping ?

First of all, as Simon said, you need to see what your device gets and sends in the wire. I guess you did that at the other end. In the good old days we used to use hubs. A hub connects all ports together, so you are able to see other people's traffic, and that includes a notebook sniffing your lwIP box. If you are fortunate enough, perhaps you can get one. I saved a couple for these tasks. They are 10baseT, so perhaps some hardware won't like them, but working in 10Mbps is great for finding driver errors on the tx side. Today we use switches. Some people invest some extra bucks on a switch with monitor capability: you connect your PC to the monitor port and then you monitor the lwIP device port, in order to sniff its traffic. Other thing you can do is run your stuff on a PC, with a tap interface, that is, your lwIP stack and application run as a process on your computer and you see it as an extra interface. I use the Unix example app that is in the contrib tree. This way I can easily sniff on that TUN/TAP interface. Other tool you might have available is the router itself. Some of them have a sort of tcpdump capability. And finally, I'm running out of ideas today, you can put a breakpoint somewhere in the interface code and check if the stack is getting the SYN or trying to send the ACK to whereverland.

lwip-users mailing list

Reply via email to