Setting up JXM

Unfortunately, the project does not currently have a Linux release engineer, so this section is light on details.

You need a 1.4 or better JRE to run JXM. You should be able to get one of these directly from Sun.

You need an implementation of javax.comm. You can get one of these from RXTX.org.

You need an FTDI FT232 driver. You can get one of these from from the FTDI USB SIO project.

If you get all of that, then java -jar jxm.jar should work.

If you see an exception that looks like this:

java.lang.VerifyError: (class: gnu/io/RXTXPort$SerialOutputStream, method: flush signature: ()V) Illegal use of nonvirtual function call 
at gnu.io.RXTXPort.(RXTXPort.java) 
at gnu.io.RXTXCommDriver.getCommPort(RXTXCommDriver.java) 
Then either rebuild your rxtx jar with a newer java compiler, or use java -noverify -jar jxm.jar to start JXM.

The correct device will be /dev/usb/ttyUSBn. If you don't see it show up in the device list, you might have to create an RXTX properties file. You do this by going to the lib/ext directory of your JRE and creating the file gnu.io.rxtx.properties with the following line in it:

gnu.io.rxtx.SerialPorts=/dev/usb/ttyUSB0

You can alter that line to include other serial devices (add them to the end of that same line, separated by ":") you may wish to use with javax.comm (perhaps with other projects). You may also want to include more than one ttyUSB device if you have other USB serial ports and find that the number changes occasionally.

If you're having trouble, the best place to turn for help is the XM411 software support forum.