The Ti Nspire

The Ti Nspire

Editor’s note: Hi, it’s Chris-v2021 here assembling this decade-old forum post into the blog. The purpose for archiving how bad the Nspire was is to remember that even great big companies with loads of experience making awesome products (TI 84, anyone?) can still somehow churn out junk. And the Ti Nspire calculator was junk of the worst kind: buggy and feckless with a smattering of hardware failures.


~3 years ago: I purchased a Ti-nspire and rechargeable battery for it. About 6 months later, the rechargeable battery stopped charging. TI told me to “buy another battery”, so I did. The battery arrived and wasn’t used because the calculator wasn’t needed for class.

Last Week: I found both the calculator and the batteries. Neither will charge. I’ve tried charging from a desktop computer and from a cellphone USB charger. At the system status screen, the OS says that the battery is charging and is currently at 0% and never increases. While unplugged, the system will whine constantly about how low the battery is, but doesn’t crash or lose power. I’ve tried resetting the system from the button on the back, no dice. I’m torn, to me it looks like it could be a hardware problem, or it could be a software problem. I decided to try updating the OS. Unfortunately, my student software that came with the calculator is long gone, and when I asked how I could retrieve the software to update my calculator I was told to “buy another license.” No big deal anyway, because I don’t have a computer with Windows on it anymore, and Ti doesn’t seem to support Linux at all. So I installed TiLP-2 (1.17).

Well, TiLP crashes while trying to copy over the 3.6.0.546 firmware (currently running 3.20.1219). When I start the transfer, the calculator screen reads “Transfer failed. Check the connection and try again.” and TiLP reads:

$ tilp
TiLP2 - Version 1.17, (C) 1999-2008 Romain Lievin
THIS PROGRAM COMES WITH ABSOLUTELY NO WARRANTY
PLEASE READ THE DOCUMENTATION FOR DETAILS
built on Jan 20 2014 16:06:22
tilp-INFO: setlocale: en_US.UTF-8
tilp-INFO: bindtextdomain: /usr/share/locale/
tilp-INFO: textdomain: tilp2
ticables-INFO: ticables library version 1.3.4
ticables-INFO: setlocale: en_US.UTF-8
ticables-INFO: bindtextdomain: /usr/share/locale
ticables-INFO: textdomain: tilp2
ticables-INFO: kernel: 3.12.7-2-ARCH
tifiles-INFO: tifiles library version 1.1.6
tifiles-INFO: setlocale: en_US.UTF-8
tifiles-INFO: bindtextdomain: /usr/share/locale
tifiles-INFO: textdomain: tilp2
ticalcs-INFO: ticalcs library version 1.1.8
ticalcs-INFO: setlocale: en_US.UTF-8
ticalcs-INFO: bindtextdomain: /usr/share/locale
ticalcs-INFO: textdomain: tilp2
ticables-INFO: Check for lib-usb support:
ticables-INFO:     usb support: available.
ticables-INFO: Check for lib-usb usability:
ticables-INFO:     usb filesystem (/dev/bus/usb/): mounted
tilp-INFO: Searching for link cables...
ticables-INFO: Link cable probing:
ticables-INFO:  found TI-Nspire(tm) Handheld on #1, version <1.05>

tilp-INFO: Searching for handhelds on DirectLink...
ticables-INFO: Check for lib-usb support:
ticables-INFO:     usb support: available.
ticables-INFO: Check for lib-usb usability:
ticables-INFO:     usb filesystem (/dev/bus/usb/): mounted
ticables-INFO:  found TI-Nspire(tm) Handheld on #1, version <1.05>

ticables-INFO: found bulk in endpoint 0x81

ticables-INFO: found bulk out endpoint 0x01

ticables-INFO:  found TI-Nspire(tm) Handheld on #1, version <1.05>

tilp-INFO: Opening cable DirectLink on port #1 to communicate with calculator NSpire
ticables-INFO: Check for lib-usb support:
ticables-INFO:     usb support: available.
ticables-INFO: Check for lib-usb usability:
ticables-INFO:     usb filesystem (/dev/bus/usb/): mounted
ticables-INFO:  found TI-Nspire(tm) Handheld on #1, version <1.05>

ticables-INFO: found bulk in endpoint 0x81

ticables-INFO: found bulk out endpoint 0x01

tilp-INFO: Opening cable DirectLink on port #1 to communicate with calculator NSpire
ticables-INFO: Check for lib-usb support:
ticables-INFO:     usb support: available.
ticables-INFO: Check for lib-usb usability:
ticables-INFO:     usb filesystem (/dev/bus/usb/): mounted
ticables-INFO:  found TI-Nspire(tm) Handheld on #1, version <1.05>

ticables-INFO: found bulk in endpoint 0x81

ticables-INFO: found bulk out endpoint 0x01

ticalcs-INFO: Checking hand-held status:
ticables-INFO:  found TI-Nspire(tm) Handheld on #1, version <1.05>

ticables-INFO: found bulk in endpoint 0x81

ticables-INFO: found bulk out endpoint 0x01

ticalcs-INFO:   device address request:
ticalcs-INFO:    0000:4003->0000:4003 AK=00 SQ=01 HC=d5 DC=ec0f (2 bytes)
ticalcs-INFO:     0F EC
ticalcs-INFO:   assigning address 6401:
ticalcs-INFO:    6400:4003->6401:4003 AK=00 SQ=01 HC=00 DC=1343 (4 bytes)
ticalcs-INFO:     64 01 FF 00
ticalcs-INFO:   waiting for LOGIN request (OS >= 1.2 check)...
ticalcs-INFO:   receiving login:

(tilp:5463): ticables-WARNING **: slv_bulk_read (Operation timed out).

ticalcs-INFO: OS = 1.1
ticables-INFO:  found TI-Nspire(tm) Handheld on #1, version <1.05>

ticables-INFO: found bulk in endpoint 0x81

ticables-INFO: found bulk out endpoint 0x01

ticalcs-INFO:   device address request:
ticalcs-INFO:    0000:4003->0000:4003 AK=00 SQ=01 HC=d5 DC=ec0f (2 bytes)
ticalcs-INFO:     0F EC
ticalcs-INFO:   assigning address 6401:
ticalcs-INFO:    6400:4003->6401:4003 AK=00 SQ=01 HC=00 DC=1343 (4 bytes)
ticalcs-INFO:     64 01 FF 00
ticalcs-INFO:   opening session from port #8002 to port #4002:
ticalcs-INFO:   sending echo:
ticalcs-INFO:    6400:8002->6401:4002 AK=00 SQ=01 HC=00 DC=0615 (7 bytes)
ticalcs-INFO:     00 72 65 61 64 79 00
ticalcs-INFO:   receiving ack:
ticalcs-INFO:    6401:00ff->6400:8002 AK=0a SQ=01 HC=ea DC=0240 (2 bytes)
ticalcs-INFO:     40 02
ticalcs-INFO:   receiving echo:
ticalcs-INFO:    6401:4002->6400:8002 AK=00 SQ=01 HC=01 DC=0615 (7 bytes)
ticalcs-INFO:     00 72 65 61 64 79 00
ticalcs-INFO:   sending ack:
ticalcs-INFO:    6400:00ff->6401:4002 AK=0a SQ=01 HC=00 DC=0280 (2 bytes)
ticalcs-INFO:     80 02
ticalcs-INFO:   closed session from port #8002 to port #4002:
ticalcs-INFO:   disconnecting from service #4002:
ticalcs-INFO:    6400:40de->6401:4002 AK=00 SQ=02 HC=00 DC=0280 (2 bytes)
ticalcs-INFO:     80 02
ticalcs-INFO:   receiving ack:
ticalcs-INFO:    6401:00ff->6400:8002 AK=0a SQ=02 HC=eb DC=0240 (2 bytes)
ticalcs-INFO:     40 02
ticalcs-INFO: Sending FLASH os:
tifiles-INFO: 00 00 07 00 07 00 09 02 00 00 F3 3B A5 00 00 00 (16)
ticalcs-INFO:   opening session from port #8003 to port #4080:
ticalcs-INFO:   installing OS:
ticalcs-INFO:    6400:8003->6401:4080 AK=00 SQ=03 HC=00 DC=4cfd (5 bytes)
ticalcs-INFO:     03 00 A5 3E 51
ticalcs-INFO:   receiving ack:
ticalcs-INFO:    6401:00ff->6400:8003 AK=0a SQ=03 HC=6b DC=8040 (2 bytes)
ticalcs-INFO:     40 80
ticalcs-INFO:   receiving OS installation:
ticalcs-INFO:    6401:4080->6400:8003 AK=00 SQ=02 HC=64 DC=0400 (1 bytes)
ticalcs-INFO:     04
ticalcs-INFO:   sending ack:
ticalcs-INFO:    6400:00ff->6401:4080 AK=0a SQ=02 HC=00 DC=0380 (2 bytes)
ticalcs-INFO:     80 03
ticalcs-INFO:   sending OS contents:
ticalcs-INFO:    6400:8003->6401:4080 AK=00 SQ=04 HC=00 DC=b633 (254 bytes)
ticalcs-INFO:     05 54 49 2D 4E ..... 35 44 36 32 44
ticalcs-INFO:   receiving ack:
ticalcs-INFO:    6401:00ff->6400:8003 AK=0a SQ=04 HC=6c DC=8040 (2 bytes)
ticalcs-INFO:     40 80
ticalcs-INFO:   receiving status:
ticalcs-INFO:    6401:4080->6400:8003 AK=00 SQ=03 HC=69 DC=08ff (2 bytes)
ticalcs-INFO:     FF 08
ticalcs-INFO:   sending ack:
ticalcs-INFO:    6400:00ff->6401:4080 AK=0a SQ=03 HC=00 DC=0380 (2 bytes)
ticalcs-INFO:     80 03

(tilp:5463): ticalcs-WARNING **: Nspire error code 0x08 not found in list. Please report it at <[email protected]>.
ticables-INFO:  found TI-Nspire(tm) Handheld on #1, version <1.05>

ticables-INFO: found bulk in endpoint 0x81

ticables-INFO: found bulk out endpoint 0x01

Some basic troubleshooting came through. I searched the error code, a post in this thread mentions 0x08 being battery related. I hopped out and bought some new AAAs, and the system is upgrading.

This post was adapted to the berocs.com blog on July 8th, 2021.
It first appeared on the cemetech.net forum.