Log in

View Full Version : roboRIO not found


JohnGilb
06-01-2015, 23:37
I've been having some trouble programming/debugging the RoboRIO. This is the tail end of the output I see in the console when attempting to deploy:

get-target-ip:
[echo] Trying Target: roboRIO-488.local
Unknown host: roboRIO-488.local
[echo] roboRIO not found via mDNS, falling back to static USB
[echo] roboRIO not found via USB, falling back to static address of 10.4.88.2

BUILD FAILED
C:\Users\John\wpilib\java\current\ant\build.xml:45 : Assertion failed boolean test.
roboRIO not found, please check that the roboRIO is connected, imaged and that the team number is set properly in Eclipse

I can ping roboRIO-488.local successfully. I can also read the files on the roboRIO via FTP.

In Window->Preferences->WPILib Preferences, my team number is set to 488.

The roboRIO has been imaged with the v23 image (and I can confirm with the tool). I can also see and operate the robot via the Driver Station.

By plugging in the USB cable, I am able to program the robot. Also, the debug environment seems to only try connecting to roborio-488.local, and doesn't work via USB.

Any idea what's going on?

Team3266Spencer
07-01-2015, 00:00
Did you install Java on the rRIO?

JohnGilb
07-01-2015, 11:47
Yes, using the JVM Wizard from FIRST.

JohnGilb
08-01-2015, 20:10
I did a little experiment.

First, using cmd.exe, I pinged roboRIO-488.local:

C:\Users\John>ping roboRIO-488.local -4

Pinging roboRIO-488.local [169.254.82.206] with 32 bytes of data:
Reply from 169.254.82.206: bytes=32 time=1ms TTL=64

Then I went into C:\users\john\wpilib\java\current\ant\build.xml, and modified this:
<property name="target" value="roboRIO-${team-number}.local" />
into this:
<property name="target" value="169.254.82.206" />

I was able to deploy code successfully.

The question is... why is Eclipse unable to resolve roboRIO-488.local, while Windows (via cmd and explorer) can resolve it easily?

Joe Ross
08-01-2015, 20:18
The question is... why is Eclipse unable to resolve roboRIO-488.local, while Windows (via cmd and explorer) can resolve it easily?

Typically this is due to a firewall only blocking certain applications.

JohnGilb
08-01-2015, 20:33
Good thinking... though I already tried disabling the Windows Firewall entirely, to no effect.

Plus, Eclipse has no issue connecting to the roboRIO, as long as I refer to it by IP and not by its mDNS address (roboRIO-488.local).

JohnGilb
08-01-2015, 20:46
As a workaround...

Is it possible to modify the WPI plugin to get the debug command to use an IP address target instead of the "roboRio-488.local" address? And if so, how?

JohnGilb
08-01-2015, 21:27
Well, instead of modifying the plugins, I decided to modify my machine.

I edited my hosts file (C:\Windows\System32\drivers\etc\hosts) to include this line:

169.254.82.206 roboRIO-488.local

This allows deployment and debugging without modification of build scripts or anything... but is obviously somewhat fragile. Hopefully I can root cause the actual issue in the meantime.

fsilberberg
08-01-2015, 22:15
As a workaround...

Is it possible to modify the WPI plugin to get the debug command to use an IP address target instead of the "roboRio-488.local" address? And if so, how?
This would be possible by modifying the ant script in the ~/wpilib/java/current/ant/ directory, but that'll run into the same issue as a hosts workaround, which is that the roboRIO ip could change. As it is, we default to mdns, but fall back to static USB and old-style 10.te.am.2 if mdns isn't found.

JohnGilb
08-01-2015, 23:35
The problem I had there is while I could edit the ant script to deploy code, it seemed like Eclipse would always attempt to connect to "roboRio-488.local" when opening the connection to the remote debugger.

Is there a way to mess with that?

fsilberberg
09-01-2015, 00:10
Well, you could theoretically make a new ant run config that runs the debug-deploy target, and a new remote debug configuration that connects to the remote jvm session. I haven't tried it, but I just went and looked at the plugin source, and I think these are the parameters you'll need to set:
Connection Type: Standard (Socket Attach)
Host: <YOUR IP HERE>
Port: 8348
No guarantees that these are the actual correct parameters, as I didn't write any part of the plugin, but if I'm reading it correctly, then that's what you're looking for. If you're interested in taking a look yourself (if that doesn't work), then visit https://usfirst.collab.net/sf/projects/wpilib/ and follow the instructions to look at the source. The particular file I'm pulling this info from is eclipse-plugins/<long package name>.java/src/main/java/<more packages>/launching/JavaLaunchShortcut.java, in the getRemoteDebugConfig method. Hope that helps.

fredghostkyle
10-01-2015, 23:45
Have you tried roborio-0488.local?

JohnGilb
11-01-2015, 13:49
That address does not resolve for me. Interesting idea, though. =]

nickmcski
11-01-2015, 14:00
That address does not resolve for me. Interesting idea, though. =]

What OS are you running?

JohnGilb
11-01-2015, 15:59
Windows 7.

fsilberberg
11-01-2015, 17:03
Did you install the NI update? Windows does not come with an mDNS resolver, the NI update installs one.

krieck
11-01-2015, 22:15
We were seeing the same symptoms yesterday.

Reconfiguring the D-Link router with the "Bridge Configuration Utility" fixed us up. This tool came with the software update, and is in
C:\Program Files (x86)\National Instruments\LabVIEW 2014\project