icon   Troubleshooting Back to Index

My connection isn't working at all.

I had a connection but now nothing works.

My ASCII transfers aren't working.

About USB and the HP49G+ and other HP calculators

icon   My connection isn't working at all Back to Top

Symptoms: The HPConnect directory window is blank, and an error message like "Failed to get Ack" is in the console window. More rarely, garbage appears in the directory or free memory windows.

Cause: There's no USB connection between the Mac and the HP, a USB error has occurred, or the HP isn't running the XSERV command.

Solution: Check the cable, check that XSERV is running, check to see that the Mac can see the HP. See Connecting to your HP calculator for step-by-step instructions.

icon   I had a connection but now nothing works. Back to Top

Symptoms: HPConnect was running, but now it seems frozen or I'm seeing garbage characters in the directory list.

Cause: A file transfer failed, leaving the connection in a confused state.

Solution:Try hitting the refresh button or the File->Reconnect menu item. If those fail, unplug the calculator from the Mac. Turn it off. Turn it on. Plug the calculator back into the Mac and try refresh and reconnect again.

If this keeps happening, try new batteries. It appears that driving the USB port draws a lot of power and the HP will sometimes start having USB problems even before the low-battery indicator comes on.

icon   Background: About USB and the HP49G+ and other HP calculators Back to Top

First, you should know that your HP49G+ or HP39G+ isn't what it appears to be. It appears to be the latest in a line of calculators going back many years and it appears to be using the latest revision of the calculator operating system that HP has been refining for all that time. But this is not the case.

You can (and others have) go on for quite some time about the evolution of HP calculators. But while I find the subject fascinating, this is not the time for it. Instead, let me just say that while the newest generation of HP calculators use the same operating system, and can run the same software, as HP's older models, the new machines are actually based on a completely different processor chip that is emulating the older HP processor.

What this means is that while you think your new HP uses a modern USB interface, capable of transmitting data at eleven megabits per second, your HP thinks that it is communicating via the same kind of four wire RS-232 serial port that the HP48S used and at roughly similar speeds. In addition, it is using communication software that has never been formally documented and which does not seem to have sophisticated error handling.

Worse, the calculators do not identify themselves correctly when plugged into a USB bus. Instead of telling the host Mac or host PC that a RS-232 port has been plugged in, the HP simply identifies itself as a non-standard device. This means that you cannot talk to the new HP calculators using CKermit or sx and rx, the way you can talk to an HP48S. This is why HPConnect is needed.

So, we have a calculator that's expecting to transmit asynchronous data at a few kilobytes per second and it's talking to a computer that's expecting fairly sophisticated semi-synchronous data travelling at over a megabyte per second. Between the two confusion can and does arise. When this happens, either a quirk in the HP's USB chip, or the Mac USB driver software, or both, causes the HP's USB chip to hang. Once this has happened, the only way to reliably restore the connection is to apply the First Rule of Troubleshooting: disconnect the calculator, turn it off, turn it on, plug it back into the Mac, and choose File->Reconnect from HPConnect's menu.

Fortunately, most of the sources of such confusion have been dealt with by carefully coding HPConnect to be tolerant of the slower transfer rates of the HP calculators. The main remaining sources of errors are:

  1. Bad connection. Your cable was loose, or got knocked loose during a file transfer. Apply the first rule of troubleshooting, above.
  2. Plugging or unplugging the calculator in while HPConnect is trying to talk to it. This causes the HP to receive a garbled command from the Mac, causing confusion. Apply the first rule to recover.
  3. Starting or stopping XSERV while HPConnect is trying to talk to the calculator. Same problem: the HP receives data it doesn't understand and things go bad. Apply the first rule.
  4. Sending or receiving a large ASCII transfer. This is more problematic. HP calculators do not store data or programs as ASCII text, they store data and programs as binary code. To send ASCII text, the HP must first "decompile" the program or data into a text string. To receive ASCII text, the HP must "compile" it into binary data. These operations can take a fair amount of time - more than a minute in some highly complex test cases. If you are having trouble send or receiving ASCII data, the best suggestion I can make at this time is to try to send it in pieces instead of all at once. Hopefully a later release will correct this problem.

icon   My ASCII transfers aren't working! Back to Top

Unfortunately, ASCII transfers don't work well under many circumstances. First, understand that HP calculators do not store programs and data as ASCII, they store them in binary format. When you ask for an ASCII file from your HP, the first thing it does is run a small program that extracts the binary data and translates it into ASCII and only then will the file be sent to your Mac. This means that ASCII transfers are much slower than binary transfers and, for very large files, there is always a chance your HP will run out of memory when sending the ASCII file.

Similarly, when you send an ASCII file to your HP, the text is sent and then a small program is executed to convert that text into binary form for storage. This can take a long time. Worse, if there is anything wrong with the ASCII file, such as a syntax error or a mis-spelled trigraph the conversion will fail and the partially converted file will be lost - and you won't have any idea what error caused the problem.

For these reasons, I recommend only using ASCII transfers for small files that you are reasonably sure don't have any syntax errors.

SourceForge.net Logo   © 2005, Michael W. Heinz, Sr - aka "Porkchop D. Clown". All rights reserved. Back to Index