Trouble resolving mDNS via Wi-fi on Windows 7 VM

I’m having trouble getting the mDNS for the roboRIO to resolve on our team’s DS over wireless. I’ve installed the NI FRC 2015 update, configured our bridge using the 2015 Bridge Configuration Utility, flashed the roboRIO and installed Java 8, and successfully deployed code and enabled the robot over a wired connection. Our DS is a Windows 7 VM running on VMware Fusion bridging the wifi connection.

Our D-LINk is in 5 GHz AP mode, and I can lookup the mDNS on the Mac, but the lookup fails on the Windows 7 side on wi-fi (but not a wired connection). However, I am able to ping the corresponding IP and connect to the web dashboard for the roboRIO. I have checked that the NI mDNS responder is installed and has properly enabled firewall exceptions, so I’m not too sure what the problem is.

Anyone have any suggestions?

When you configured the dLink did you do so for 2.4 ghz mode or 5

Are you able to ping the “roboRIO-team.local” address from the windows command line, or just the resolved IP address?

Both should work, the first does the lookup similar to the DS and the second verifies that the device responds independent of mDNS.

Greg McKaskle

We were having issues with this. These are the troubleshooting steps we went through.

  • Ensure that you imaged the roboRIO for your team number.
  • Allow UDP port 5353 through the firewall on both inbound and outbound connections.
  • Make sure your computer is set to receive its IP via DNS, which is different from last year, when our team used a script to set static IP.
  • Try logging into the D-Link web interface at 10.TE.AM.1, with username ‘Admin’ and a blank password. Click Advanced, then on the left, DHCP. Scroll down to see the list of DHCP clients, and see if the roboRIO is assigned an address.

See if any of these resolve your issue.

EDIT: Additionally, your DLink should be in 2.5Ghz AP mode, not 5Ghz.

Your AP can be at 5GHz as long as your laptop and other clients support 5GHz. And if they do, it would be better to use than 2.4GHz.

Greg McKaskle

We have everything running on 5 GHz. We used the same setup hardware-wise last year and didn’t have any problems.
I’ve been able to ping the roboRIO IP on the Windows side, but I am unable to perform the mDNS lookup.

I’ll try to reconfigure our DLink on 2.4 GHz, but we’ve traditionally used 5 GHz because our campus wifi and apartments next door tend to generate quite a bit of wireless interference.

Thanks for the help guys. I’ll let you know if it works.

Based on other threads, I’d first verify that the firewall is off and isn’t interfering. I don’t see how 2.4 and 5 has anything to do with mDNS.

If you have an Axis M1013 camera, you may also check to see if axis-camera.local works to access it. Or you could test with any other device that supports Bonjour or mDNS. Since this is a VM, can you see if there is a later version, or configuration that has disabled it?

Greg McKaskle

I don’t think switching to 2.4 GHz will change anything either, but stranger things have happened. Never hurts to try.

I’ve triple-checked the Windows Firewall and made sure that both the driver station and the mDNS resolver have permission to access the network.

Try switching the VM network setting to NAT instead of bridged.

The VM is already running in bridged mode. Thanks for the suggestion, though.

If you have an antivirus program installed, it might have its own firewall. Check that too.

Try NAT instead.

This looks like the same issue we had as discussed in this thread:

On the router in Setup->LAN Settings page, set the IPV6 connection type to "Autoconfiguration(SLAAC/DHCPv6)

Our problem is the reverse of this problem; the OS X side can resolve it while the Windows VM can not. I tried it though, and it didn’t seem to help the problem. I’ll keep this in mind if future problems arise, though. Tweaking IPv6 settings never occurred to me. Thanks!

This fixed the problem with resolving the mDNS address, but now we have a different one. I am able to properly resolve the mDNS name over wi-fi and connect to it via web console, but the 2015 DS software is unable to ping it or otherwise establish robot communication.

Please verify the Setup tab has your team number entered and describe what the Diagnostics tab looks like.

It would also be interesting to know what a command line “ping roboRIO-xxyy.local” does. You may also want to restart the computer, the roboRIO and/or the DS at this point.

Greg McKaskle

I would not expect the DS to work behind NAT by default (although I haven’t tried it). You may be able to set up port forwarding.

We spent multiple hours trying to get ours to work. Here’s what we did:

Plug in router via ethernet, make sure RIO is unplugged.
Make sure your computer IP is set to auto-resolve IPs.
Launch config tool, use it.
Go to your router settings. Ours is 10.27.91.1, for example (team 2791).
Enable DHCP settings. I’m not 100% sure where it is. But you will find a non-marked checkbox with fields under it.
Make default IP range 10.TE.AM.20 to 10.TE.AM.199, subnet 255.255.255.0, default gateway 10.TE.AM.1.
Save changes.
Plug in roboRIO to router via ethernet. Unplug ethernet from computer.
Check to see if you can reach roboRIO-TEAM.local on browser (make sure you have Microsoft Silverlight installed). If not, try to configure via USB.
Find the IP under network settings. It should be 172.x.x.x or 10.TE.AM.x.
If it is 10.TE.AM.X, restart computer and robot. Comms should work.
If it is 172.x.x.x, then go to your router settings and check if the router detects the RIO. Ours was found on DHCP at 10.27.91.100, our computer 10.27.91.20.
If its not found, start over until it works and make sure to hold the reset button on the router.

It’s a major pain because not many of us know much about networking, but we got it working.

If you can ping the RIO and it is 10.TE.AM.X, but driver station says no comms, restart computer and robot. It then worked for us.

I agree with Joe on this. You generally do NOT want NAT. mDNS works using a broadcast and by default, without special configuration, broadcasts only work on a local subnet (e.g. 10.te.am.xx) and will not be forwarded across to another network, which is what NAT creates.

Finally a question on here in something in my professional field :slight_smile:

We at Team 2992 were having the same problem and it was definitely related to IPv6 config on the DLink router. However, switching the config to Autoconfig SLAAC/DHCPv6 did seem to help but still had occasional failures on mDNS. Seems to be some race condition w/ the RoboRIO or W7 or radio on boot as to whether it works or not.

Doing a “ping roborio-xxxx.local” command from command prompt on W7 was producing a ping return showing IPv6 addresses instead of the expected IPv4 10.x.x.x. When this occurred neither Eclipse nor DS would connect.

After some playing around w/ radio config for a while – we found that disabling IPv6 in Control Panel -> Network & Internet -> Change Adapter Settings -> Wireless Network Connection -> Properties seems to work reliably.

I haven’t tested this on a Mac but I would image hard disabling IPv6 on the Mac or Mac VM would work.

When I have more time I will crank up Wireshark and do packet captures on what is happening.

Presumably one could also go into network config on the RoboRIO and turn off IPv6 in the linux config.

Regards
Mike

Mentor Team 2992

CCIE #4885
Cisco Systems, Inc.