TINI HELP - JAVAKIT and Serial Communications

No response from TINI board!
Try JavaKit and note the TINI LEDs and JavaKit messages
TINI Loader boots up OK but 'E' brings a 'production test' message
TINI Loader boots up but slush won't boot when I type 'E' at the loader
All I still get is "No response from TINI board"
What TINI does on power up, what the LEDs mean
On TStik/TINI400, Slush boots up but I never see the login prompt
Tests to see if the trouble is your PC serial port
I tried all this, still no success

If this page has been helpful or you have additional suggestions to improve it please contact us.


No response from TINI board!

This can be one of the most frustrating messages to see from JavaKit. There are many reasons for serial connection problems between your PC and TINI.

  • Are JavaKit and the COMMAPI installed properly? Instructions here.
  • Straight cable (not a null modem cable) from your PC to TINI's serial0 (the primary serial port). A straight cable connects pin1 to pin1, pin2 to pin2, etc. Some TINI sockets such as TILT have only one serial port, this is serial0.
  • DTR reset is enabled on your sockets boards. On Dallas eXX this is via a "paste jumper", maybe labelled 'J1' and 'DTR RESET ENABLE'. This is located on the back of the board and should be soldered over with a blob of solder to make the connection. On Systronix sockets boards, there is a removable jumper (JP5 on STEP and STEP.IR), JP3 on TILT. It should be installed.
  • Your PC serial port works OK? Sometimes Win95 and Win98 serial ports will hang in a state which prevents their use. This is much less common with NT4. Try shutting down your PC or hard resetting it (just a soft restart will not do, the serial port hardware needs to be reset or power cycled). Try the serial port with a known good device, if possible. If you are using a notebook PC, make sure the serial port is enabled (some notebook PCs let you shut down the serial port to conserve battery power).
  • You believe your TINI and its socket board are working OK? If you have a spare TINI and socket board, try swapping them.
  • More ideas here.

Try JavaKit and note the TINI LEDs and JavaKit messages

Start JavaKit. Open a port (COM1 in my case), click the JavaKit RESET button, DTR should change from 'Set' to 'Clear' and you should see this (your loader version may differ):

When the loader is active, as shown above, TINI's D1 and LK LEDs will be off.

If you can establish communication with TINI loader as above, type 'E' at the prompt. That will cause the default application to Execute, TINI will boot up, D1 and LK will come on, TINI will emit serial port messages, and the RX and TX LEDs will blink briefly. As TINI starts to boot up you will see a prompt like this:

If TINI can boot up successfully, D1 will turn on, followed by LK, then the TX and RX LEDS will pulse briefly, and you will eventually be asked to login at a prompt like this:

If this is what you see, TINI and JavaKit are happy. If not, continue below.

TINI Loader boots up OK but 'E' brings a 'production test' message

If you see something like this, don't worry. This is the factory test program run on TINI by Dallas:

All you need to do is get back to the loader prompt and load new TINI firmware. Instructions for that are in our Quick Start here. (no, your monitor isn't bad, the image above is more highly compressed than the others and the color suffers a bit).

TINI Loader boots up but slush won't boot when I type 'E' at the loader

If your TINI is new and its firmware has never been loaded, all you need to do is get back to the loader prompt and load new TINI firmware. Instructions for that are in our Quick Start here.

If slush was loaded and worked for a while but does not now, the mostly likely problem is that the heap is corrupted. In this case TINI should recover by itself when it starts up. If it does not, go to a loader prompt and type
B18
F0

which will clear the heap. You will lose files you had loaded to TINI.

If this does still not allow slush to start up, reload slush and/or all the TINI firmware. I recently had this happen to me on an otherwise stable system running 1.02p3 firmware. When slush would try to load all I would see on JavaKit is this:


----> TINI Boot <----
TINI OS (pre-release 3) 1.02
API Version 8008
Copyright (C) 1999, 2000 Dallas Semiconductor Corporation
C69D1400
Running POR Code
Memory POR Routines
000020
Transient blocks freed: 0001, size: 000000
CfPersistant blocks freed: 0000, size: 000000
KM_Init Failed!
PC: 010841
dptr: AB0101
dptr1: 720301
B: 00
SP: 00FC
Regs [R0_B0-R7_B3]:
04 00 02 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00


It took a complete flash reload to fix this. I don't know why. Power cycle TINI when you've reloaded all firmware and cleared the heap. Now connect with the loader and start slush. You will also need to restore TINI's IP config and other options.

All I still get is "No response from TINI board"

There are several things to try.

  • Try power cycling TINI. Unplug power, wait a few seconds, then replug the power, and try reconnecting JavaKit.
  • Sometimes TINI takes a couple of attempts to connect to JavaKit. Wait a few seconds then try clicking on the JavaKit reset pushbutton.
  • Try a manual connection. If your socket board has a reset pushbutton, you can press it, followed a second or two later by an 'enter' key. The timing of the enter key is a bit tricky, just keep trying. Don't press enter too soon after releasing the reset pushbutton. You should see a loader prompt.
  • Try connection at a lower baud rate. If your serial cable is long, or poor quality, or your PC serial port is flaky, a lower baud rate may help. Try 19200, and click on the JavaKit reset button. It typically takes me 3-4 clicks a few seconds apart to make the connection. All the JavaKit firmware loading functions will work fine at a lower baud rate, they just take longer. Note that slush is currently hard-coded for 115 kbaud, so once TINI firmware is loaded, you will still need to be able to connect somehow at 115 kbaud to finish configuring TINI (IP address, etc). If connection and firmware loading works at a lower baud rate, try a newer and/or shorter serial cable. Systronix offers a convenient serial cable kit.
  • Try connecting to TINI using a different communications software than JavaKit. Close JavaKit and start a program such as Hyperterminal or Windows Terminal. NOTE: many communications software packages always drive DTR, this will put TINI in a permanent reset state, unable to do anything. To enable use of Hypterterminal, you need to remove the DTR reset jumper (Systronix boards) or remove the solder blob (Dallas eXX socket boards). Then to reset TINI you will need to use the socket board reset pushbutton (Systronix boards all have one) or power cycle it if your socket board does not have a reset pushbutton.
  • The TINI LEDs tell you a lot about what TINI is trying to do. See the notes below.

What TINI does on power up, what the LEDs mean

The D1 LED on TINI is connected to the controller pin P3.5, this is TINI's INTOW (internal OneWire) net. When TINI is reset, all it's port pins are driven high, this causes this LED to turn ON when TINI is reset. The reset can be caused by DTR or a reset pushbutton.

When reset is released (either pushbutton or DTR), TINI checks for an incoming carriage return (ASCII 0x0D), and attempts to autobaud to it. This is how TINI tries to respond to JavaKit. JavaKit sends TINI a DTR reset, then a carriage return, then looks for response characters from TINI.

When the loader is active, (connect in JavaKit, select a COM, then click on the RESET button, DTR changes from 'SET' to 'clear'), TINI's D1 and LK LEDs will be off. The ethernet controller is not initialized by the loader, and since the LK, RX and TX LEDs are driven by the ethernet controller they will be off.

If you can establish communication with TINI, and type 'E' at the prompt, that will cause the default application to Execute. As TINI boots up slush, D1 and LK will come on, TINI will emit serial port messages, and the RX and TX LEDs will blink briefly.

If you click the reset button in JavaKit, this should pulse DTR which should make the TINI D1 LED go on for a fraction of a second, off for a few seconds, then TINI turns it back on when it boots up. This shows that the DTR line is connected from your PC to TINI.

If you run a terminal program on your PC and connect to TINI at 115 kbaud, 8/n/1, remove your DTR reset enable (STEP JP5, TILT JP3 or Dallas eXX paste jumper), you should see serial0 output as TINI boots up and runs whatever program is there (might be a factory test program). This proves the serial output from TINI to your PC works.

On TStik/TINI400 Slush boots up but I never see the login prompt

Someone hands you a TINI module and tells you they can't log in via JavaKit or Telnet, and can't FTP files to it (since you can't login via JavaKit, how do you know the IP address?). You investigate and Tini seems to boot up normally, including Slush:

[-= slush Version 1.13 =-]
[ System coming up. ]
[ Beginning initialization... ]
[ Not generating log file. ] [Info]
[ Initializing shell commands... ] [Done]
[ Checking system files... ] [Done]
[ Initializing and parsing .startup... ]
[ Initializing network... ]
[ Starting up Telnet server... ] [Done]
[ Starting up FTP server... ] [Done]
[ Network configuration ] [Done]
[ System init routines ] [Done]
[ slush initialization complete. ]

But where is the login prompt? There is none. After some time, perhaps TINI reboots, and this cycle repeats forever. Even more baffling...

There is a logical explanation. This may be due to an application autostarting when TINI boots up, and the etc/.startup file disables the serial server with some code like this:

########
#Autogen'd slush startup file
setenv FTPServer enable
setenv TelnetServer enable
#setenv SerialServer enable
##
#Add user calls to setenv here:
##
initializeNetwork
########
#Add other user additions here:
java /Stress.tini

Note that the line "setenv SerialServer enable" will disable the serial server after slush boots up. Then the application "Stress.tini" (whatever that is!) will start. The tricky part here is how to delete this .startup file from NVRAM. Here's how to do it on a TINI400 module such as TStik:

  1. Connect with JavaKit
  2. At the loader prompt type "B0" and press the Enter key to select Bank 0 of NVRAM where system configuration is stored.
  3. At the loader prompt type "?" to display the Bank. It should be 0.
  4. At the loader prompt type "F0" to fill Bank 0 with zeros, deleting system configuration data, and corrupting the file system so that it will be restored at the next boot..
  5. If you wish you can type "D" to dump memory at Bank 0. It should be filled with zeros.
  6. At the loader prompt type "E" to restart slush.

Here's what this looks like:

DS80C400 Silicon Software - Copyright (C) 2002 Maxim Integrated Products
Detailed product information available at http://www.maxim-ic.com
Welcome to the TINI DS80C400 Auto Boot Loader 1.0.1

> B0
> ?
DS80C400 Silicon Software - Copyright (C) 2002 Maxim Integrated Products
Selected bank = 00 / Running bank = FF
> F0
> E


Now you should be able to log in and start with a fresh, empty file system. You will need to restore TINI's IP configuration and any files.

There's probably a more elegant way to do this without blowing away the whole file system. Contact is if you know how.

Tests to see if the trouble is your PC serial port

Here is an actual case from our customer support files, it may be helpful to many others in the same situation.

At 00:10 1/23/2001 -0800, Jose Maria Fernandes wrote:
>My D1 is always on. It only shuts down when I release the reset pushbutton (1 second after).
> Also my led LX is always on if I have an Ethernet cable connected to the STEP+
>from my hub. And the RX is always flashing. If I take the Ethernet cable out all the LX, RX and >TX are off. The D1 Is still always on.

Well, that is interesting. This means TINI is working, it has booted up whatever program is in it, and it has initialized the ethernet controller. So TINI is functioning, the question is why you don't see serial I/O on your PC.

1) Your cable is assumed to be OK since you have tried two and one is from our cable kit.

2) Your PC's serial port is an unknown. Does it work with any other devices, or can you connect to another PC with Hyperterminal or equivalent and send each other characters (you'll need a null modem cable for that of course).

3) If you toggle the DTR button in JavaKit or click on the JavaKit Reset button, TINI's D1 should go out then come back on as it is caused to reboot. Does it? If not, then DTR is not functioning from your PC to TINI.

4) If you press the STEP reset pushbutton does it reset TINI (D1 on, then D1 and LK off, then back on again as TINI reboots? This proves the STEP and TINI reset circuitry (which should also be driven by DTR) is working.

5) Can you connect via Hyperterminal at 115 kbaud, 8/N/1, remove STEP JP5 (DTR reset), then press the reset pushbutton on STEP. You should see serial data from TINI as it boots up. D1 will go on, then D1 and LK off, then D1 and LK back on as TINI boots. If you do not see serial data, then your PC serial port is suspect (most likely) or TINI's on board serial drivers are
broken (not likely) or there is a connection problem from TINI to the STEP DB9 (very unlikely) or your PC cable is incorrect (not likely since you have tried two including the one we sell).

Please try 3-5 above and report what happens in each case.

In the case above, it WAS the PC serial port at fault! Read the results here.

I tried all this, still no success

If you really tried all the above and there's still no success, please email us or the Dallas TINI group list (join the TINI list at www.iButton.com) explaining what you tried and what worked. Please note that Systronix does not make the TINI module, Dallas semiconductor does. The folks on the TINI list are extremely helpful and knowledgeable.

It's very unusual, but possible, that TINI or your socket board could be damaged. Try swapping them for other parts and using another computer before you contact the TINI or sockets board vendor about replacing them.

It's also remotely possible that all the flash memory on TINI is corrupted, therefore there is no loader to respond to JavaKit. In this case you will need to send TINI back to Dallas or try the steps here if you have the equipment to reload TINI yourself.