Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We are preparing a product for EMC testing. The product runs Windows Embedded Standard 2009 (compare it with Windows XP) and has 2 NICs, say NIC1 and NIC2.

For the emission test, we need to send data from NIC1 to NIC2. If I assign both NICs an IP address in the same range, I can PING and send/receive data, but data is not transmitted over the crossed cable.

Is there a way (by changing the route table f.e.) to actually send the data from NIC1 to NIC2 over the crossed cable without adding extra hardware?

share|improve this question
    
We can't answer the question, so we downvote it? At least leave a comment. –  Wouter Huysentruit Aug 16 '12 at 13:18
    
The saga of rogue down votes continues. All I can say is ignore the down votes. The only reason I can think of is that your question may be out of scope for serverfault. –  Chida Aug 16 '12 at 13:23
add comment

3 Answers

up vote 1 down vote accepted

The simplest solution is probably to use a UDP broadcast. That way, Windows will have to put the data on the wire, since it has no way of knowing that there are no other nodes on the network.

I'm not absolutely certain that Windows won't drop the incoming broadcast packets but it seems unlikely. You might conceivably see two copies of each packet (one sent directly and one sent over the wire) but that seems unlikely too.

share|improve this answer
    
That's a great idea. Will try this today. –  Wouter Huysentruit Aug 17 '12 at 4:45
    
UDP broadcast actually works. Thanks! –  Wouter Huysentruit Aug 17 '12 at 11:44
add comment

How about two virtual machines. VM 1 is bridged to the first interface while VM 2 is bridged to the second interface. Send traffic between the VMs that way. I don't know if this is easy in Windows, though.

Another option is to use IPv6 scope local, the addresses that begin with fe80:: (Just tested in Linux and it works there, but I don't have Windows to try with).

share|improve this answer
    
+1. My guess would be that Windows is too smart for either of these approaches to work, but they're worth a try. –  Harry Johnston Aug 17 '12 at 4:40
    
Had the VM idea too. As for this test I can't use it because there's a lot of other hardware that needs to be tested and this will not work from within a VM. I will still give it a try if the UDP broadcast method fails. –  Wouter Huysentruit Aug 17 '12 at 4:55
    
Opening a raw socket from a programming language with full capability socket bindings would be a direct approach if you are developing the testing tools. –  Skaperen Aug 17 '12 at 5:17
add comment

You might look into iperf. iperf is designed to test network speeds and performance by sending actual data. It requires a client/server on both sides of the connection though, so depending on the environment, that may or may not help.

http://en.wikipedia.org/wiki/Iperf

http://sourceforge.net/projects/iperf/

share|improve this answer
    
I created my own program that listens to a port bound to NIC1 and connects to NIC1 with a socket bound to NIC2. I can send and receive, but the data stays in the machine and doesn't go over the crossed cable (I can even remove the cable, it keeps on working). So with iperf, I will have the same issue. –  Wouter Huysentruit Aug 16 '12 at 13:06
    
Ah, gotchya. Not saying it's you WouterH, but I usually like comments with my down votes too :S looks like you experienced the same thing up there - here's an upvote for you to compensate ;) –  John K Aug 16 '12 at 23:55
    
Have you tried swapping the cables/ensuring the proper use of a crossover or straight cable? Do your ping/ICMP requests come back? –  John K Aug 16 '12 at 23:57
    
No it wasn't my downvote, here is my compensating upvote :) Problem is that I can even remove the cable and ping still works. Even the client/ server program continues to work where server bound to IP of NIC1 and client to IP of NIC2 –  Wouter Huysentruit Aug 17 '12 at 4:49
    
Haha, thanks - that's really bizarre. I've seen some applications we use that indicate data flowing over the wire, even with no wire plugged in. I'm not sure what the mechanism is, but I'll let you know if I find anything. –  John K Aug 17 '12 at 12:40
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.