Search The Inn

Thursday, July 4, 2019

JMRI Error Codes - Causes and Possible Fixes (for the frustrated)

JMRI Error Codes - Causes and Possible Fixes (for the frustrated)


This was taken directly from the JMRI help documentation here. Thanks to all the great work the extensive number of developers and writers do on this indespensible product.

Anytime you have to contact the JMRI User Groupe please furnish all information at your disposal such as JMRI version, DCC system type, command station type and anything else you think is relevent.

301 - No locomotive detected

The command station has reported that it doesn't see a locomotive on the programming track.

This can happen if the locomotive isn't making good electrical contact or if there's a wiring fault in the locomotive. Or the decoder is having a problem.

302 - Programmer busy

The command station has reported that it's busy doing something else, and can't do any programming right now. This usually means that some other part of the DCC system is doing a programming operation, e.g. a hand-held throttle.

Some DCC systems can't do ops-mode programming (programming on the main) while also using the service mode programming track, in which case they'll return this error message.

303 - Requested not implemented in command station

This means that JMRI has requested the command station do something that it doesn't support.

This is not supposed to happen, as JMRI should disable programming modes that the command station can't provide. If you do see this message, please report the circumstances on the JMRI users Group.

304 - Aborted by user

The user has requested that the read or write operation stop early.

This is considered an error, because the program doesn't know whether the decoder actually saw the operation complete or not.

305 - Confirm failed

Some command stations allow you to "confirm" the content of a CV, rather than read the value from it. In general, this is faster than doing a complete read. If the value in the CV doesn't match the expected value, this message is issued. It's considered an error because if the values don't match, we know that we don't know the correct value for the CV contents

306 - Timeout talking to command station

The program did not hear back from the command station when it expected to.

This is by far the most common error message when people first start using JMRI. In that case, it usually means that the connection to the command station isn't correct. This could be a problem with the cable(s) making the connection, or a problem with how the preferences are set. Picking the wrong serial port is particularly common.

Once JMRI is working properly, this error may occasionally happen due to a transient error. DecoderPro generally will retry it successfully in that case.

307 - Unknown error

An error has happened, but JMRI doesn't know enough about it to be able to report more detail.

In general, JMRI is pretty good at deciphering what went wrong, and this message isn't very common. If you do see this message, please report the circumstances on the  JMRI users Group.

308 - No acknowledge from locomotive

At the end of a CV read or write operation, the locomotive replies ("acknowledges") to the command station using a pulse of current.

If that pulse isn't seen, some command stations provide this error message. It could be due to poor electrical connections to the programming track or within the locomotive. It could also be that the decoder doesn't support read back.

Some decoders, particularly certain sound decoders, draw so much current that the reply pulse isn't detected by the command station. In that case, one of the various "programming boosters" may solve the problem.

Author's Addition - Current Keepers/Keep Alives can also cause this error by preventing the return current pulse from being generated back to the command station.

For more information on programming decoders and how to work with Keep Alives and Current Keepers read this article.

309 - Short Circuit on Programming Track

The command station has reported seeing a short circuit on the programming track. That prevents programming operations.

Check the electrical connections to the programming track, and also within the locomotive.

310 - Sequence Error

For some reason, the programming operation ended early and the command station returned to normal mode (left service mode) before it should have.

This error can occur when some operations are performed in JMRI during programming. Turning track power on during a programming operation on an XpressNet is one example of how to create this error.

If you haven't performed any operations durring your programming sequence, this error, might indicate that you've selected the wrong command station type in the preferences. Check that. If that's correct and it's still happening, ask for help on the JMRI users list.

311 - Communication Error between PC and Command Station

The data between the PC and the Command Station was corrupted and the corruption was detected before the Command Station processed the request.

If this error occurs frequently, this error might indicate a problem with the connection between your computer and the command station or an issue with your system interface. Wireless connections are more prone to this issue than connections with physically connected cables.



If you have an idea for a blog post here, let me know. If I can comment on it, I will or I'll see if someone else can and post it.

4 comments:

  1. I receive code 306 when programing , I have look into preferences and serial port com 4 is assigned-DCS100 chief-loconet locobuffer. I am using a loco buffer usb version 2.060, I have a dedicated program track and using a PTB-100

    ReplyDelete
  2. Can you run (not program) a locomotive on your programming track? This is the first thing to check. It will tell you if you have proper connections. If you cannot then there is a bad connection somewhere.

    ReplyDelete
  3. Two suggestions:

    First, check that COM4 is correct. Open Device manager, expand the Ports (COM and LPT) branch, and plug/unplug the LocoBuffer. A COM port will appear/disappear when you do so (may take a few seconds). That's the one to use.

    Second, while doing the above test, check for a triangle with a yellow exclamation point on the LocoBuffer COM port in Device Manager. That usually means there's a driver issue. Since the LocoBuffer driver install is a two-part process, if you only install them once it won't work.

    If this doesn't help you need to get on the groups.io forum and seek help. There's a lot more experts there who can help.

    ReplyDelete