cannot upload code to cRIO.

One of our laptops died and we’re trying to replace it with two new ones.
I’ve downloaded Netbeans and installed the 6 FRC plugins, and set our team code (5024). I’ve also downloaded and installed the FRC2014UpdateSuite6.00.zip

We can connect with the cRIO. The cRIO imaging tool shows that it is running FRC_2014_v52. This also shows up in the listbox under the “format controller” check box. (so the zip file is in the correct place (…/sunspotfrcsdk/cRIO_images).

When we try and compile and upload a program we get the following error:
(this last time we are just trying a simpleRobot instead of IterativeRobot)

ant -f C:\\Users\\User\\Documents\\NetBeansProjects\\SimpleRobotTemplate deploy run
init:
init:
Deleting directory C:\Users\User\Documents\NetBeansProjects\SimpleRobotTemplate\build
Deleting directory C:\Users\User\Documents\NetBeansProjects\SimpleRobotTemplate\suite
Deleting directory C:\Users\User\Documents\NetBeansProjects\SimpleRobotTemplate\j2meclasses
clean:
Created dir: C:\Users\User\Documents\NetBeansProjects\SimpleRobotTemplate\build
Compiling 1 source file to C:\Users\User\Documents\NetBeansProjects\SimpleRobotTemplate\build
warning: [options] source value 1.3 is obsolete and will be removed in a future release
warning: [options] target value 1.2 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
3 warnings
compile:
Created dir: C:\Users\User\Documents\NetBeansProjects\SimpleRobotTemplate\j2meclasses
preverify:
Created dir: C:\Users\User\Documents\NetBeansProjects\SimpleRobotTemplate\suite
Building jar: C:\Users\User\Documents\NetBeansProjects\SimpleRobotTemplate\suite\SimpleRobotTemplate_1.0.0.jar
jar-app:
CompilerOracle: exclude com/sun/squawk/Method.getParameterTypes
CompilerOracle: exclude com/sun/squawk/SymbolParser.getSignatureTypeAt
CompilerOracle: exclude com/sun/squawk/SymbolParser.stripMethods
[translating suite image [closed: false, parent: squawk] ...]
### Excluding compile: com.sun.squawk.SymbolParser::getSignatureTypeAt
### Excluding compile: com.sun.squawk.Method::getParameterTypes
[Including resource: META-INF/MANIFEST.MF]
Romizer processed 96 classes and generated 4 files.
Expanding: C:\Users\User\Documents\NetBeansProjects\SimpleRobotTemplate\suite\SimpleRobotTemplate_1.0.0.jar into C:\Users\User\Documents\NetBeansProjects\SimpleRobotTemplate\suite
Moving 1 file to C:\Users\User\Documents\NetBeansProjects\SimpleRobotTemplate\suite
Moving 1 file to C:\Users\User\Documents\NetBeansProjects\SimpleRobotTemplate\suite
Moving 1 file to C:\Users\User\Documents\NetBeansProjects\SimpleRobotTemplate\suite
Deleting: C:\Users\User\Documents\NetBeansProjects\SimpleRobotTemplate\image.suite.api
Host OS: Windows 7 6.1, 6.1
Host JVM: Java HotSpot(TM) 64-Bit Server VM 25.20-b23
Target IP: 10.50.24.2
Network interfaces on host:
    Intel(R) WiFi Link 5100 AGN:  address: 10.50.24.50 netmask: 255.255.255.0 <--- on robot's subnet
Connecting FTP @10.50.24.2
C:\Users\User\sunspotfrcsdk\build.xml:96: The following error occurred while executing this line:
C:\Users\User\sunspotfrcsdk\ant\upgrade.xml:39: 
java.net.SocketException: Software caused connection abort: socket write error
	at java.net.SocketOutputStream.socketWrite0(Native Method)
	at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
	at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
	at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
	at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
	at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
	at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
	at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
	at java.io.BufferedWriter.flush(BufferedWriter.java:254)
	at org.apache.commons.net.ftp.FTP.__send(FTP.java:505)
	at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:479)
	at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:608)
	at org.apache.commons.net.ftp.FTP.port(FTP.java:932)
	at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:812)
	at org.apache.commons.net.ftp.FTPClient._retrieveFile(FTPClient.java:1854)
	at org.apache.commons.net.ftp.FTPClient.retrieveFile(FTPClient.java:1845)
	at com.sun.spot.sdk.tool.ftp.UpgradeTask.checkVersion(UpgradeTask.java:34)
	at com.sun.spot.sdk.tool.ftp.UpgradeTask.execute(UpgradeTask.java:215)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
	at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:435)
	at org.apache.tools.ant.Target.performTasks(Target.java:456)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
	at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:435)
	at org.apache.tools.ant.Target.performTasks(Target.java:456)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
	at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:286)
	at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:555)
	at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:153)
BUILD FAILED (total time: 7 seconds)

  • Is there any way to do this manually and FTP the code to the cRIO?
  • Is this because it is trying to go to a webpage that doesn’t exist anymore (NI has pulled some of their webpages, so we can’t get updates)
  • I have tried copying the complete sunspotfrcsdk folder over from our one working laptop. But that doesn’s solve the problem.

Thanks.

P.S. This is the section in the \ant\upgrade.xml file that fails:

<target name="-do-upgrade">
        <frcupgrade
            remoteaddress = "${remoteaddress}"
			localotaserverfile="${sunspot.home}/cRIO/FRC_UserProgram.out"
			remoteotaserverfilepath="/ni-rt/system/FRC_JavaVM.out"
            localvmfile = "${sunspot.home}/cRIO/squawk.out"
            remotevmfilepath="/ni-rt/system/squawk.out"
            localsuitefile = "${sunspot.home}/cRIO/squawk.suite"
            remotesuitefilepath = "/ni-rt/system/squawk.suite"
            remoteversionfilepath = "/FRC_ImageVersion.ini"
            versionfailuremessage = "Go to http://first.wpi.edu/FRC/frcjava.html to get latest software update">
            <version name="Name" value="FRC_2014_v52.zip;"/>
            <version name="Language" value='"Java;"'/>
        </frcupgrade>
    </target>

Make sure all firewalls on your laptop (you really only need one firewall) have are either disabled (if the laptop isn’t ever going to be connected to the internet) or have explicit exceptions for Netbeans and anything else related to the FRC Control System.

Do you have communications with the cRIO over the Driver Station? If not did you remember to hard set your IP address (10.50.24.<whatever>) and Subnet Mask(255.255.255.0)? Can you ping the cRIO (10.50.24.2)? This is clearly a problem with networking and not with code.

Yes, as far as I can recall (being at home now) we can run the robot using the Driver Station just fine.

I should have thought about the firewalls. … Yep. It’s on. $@#$@#$@#$@#. I’ll try again tomorrow back at school.