Next Previous Contents

10. FAQ

10.1 So, how does all this work?

Of course you installed and configured usinagaz.lxy (available in bin). (Warning: on HP48, you *must* install it in port 0 or 1, and on HP49/50, you *must* install it in port 0)

For mail & news, install mail.l4x (anywhere)

For ping, echo & time getting (tinkering), install utools.l4x (anywhere)

10.2 What is an IP?

As I write 'IP', I mean either:

10.3 Why is the alarm annunciator lit?

On 48 series, because the host you are connecting to doesn't handle XON/XOFF.

If it is a Linux host with kernel < 2.6, just apply a patch to the kernel (see (It seems that SCO Unix also has that bug, please send me its source code so as to correct it)

A heavy load may also beget overflow.

If it is a Windows host, I don't see much to do except checking one more time the option XON/XOFF in the modem configuration.

If it is a modem, please check the configuration string to set XON/XOFF up.

Oh... Yes, your battery may also be dead ;-)

10.4 Why does the left shift sometimes light?

It is a transmission error, and a frame was lost. If it comes to be quite frequent, please check your cable. Low Battery can also beget transmission errors.

10.5 CHAT hangs waiting for the first "OK"

There are chances that your modem require CR:

When editing on the hp,

is the same string as "ATZ" 10 CHR +, which means ATZ\n

Most modem require CR, ie want ATZ\r\n be sent.

To do this on a hp, enter the string "ATZ" 13 CHR + 10 CHR +, or when typing a program, type "ATZ, call the CHAR tool, insert the character 13, exit the CHAR tool, press <-/ and finish with ".

When editing, it should appear like

(where * is a little square ;-)

(\n = 10 CHR = 0x0A = LF = Line Feed, \r = 13 CHR = 0x0D = CR = Carriage Return)

10.6 What is 'Upar'?

If you are not connected, you can PURGE it to save memory: it is just a static buffer so as to avoid excessive garbage collections and store connection parameters. You can look what is stored in thanks to 'analyse.d4x' But on 49/50 series, always purge it *after* you called PPPOFF, since the interrupt handler puts data into it. Some checking is done, but...

I can tell you ;-)

10.7 Thost, DNS, MCL,... so many annoying little settings!

You can throw them in any port so as not to see them in VAR:

#0 :2:Thost STO

10.8 I got the error 'Circular Reference'?!

This surely means you are talking to your modem, which echoes the request and replies, so that you actually connected to yourself! A 32 bits magic number is used to prevent this (your ISP would surely have chosen a different from Usinagaz' one, or else you're really unlucky :) Retry, just to see ;-)

It usually happens when you failed to connect to your ISP's modem, but you weren't able to detect it. For instance, you didn't put a "CONNECT" statement in chat list, and launched PPPON without being sure your modem is really connected. Correct your script to add such one, just have a look at what your modem says when it is connected, by asking CHAT to wait for "silly string". But don't include the connection speed, ie prefer "CONNECT" rather than "CONNECT 9600", since who knows whether the weather is not so horrible that your phone line really can't get more than 300 bps?

10.9 What log to send for debuging?

If you are connecting to your own linux host, calling pppd with option debug should be enough, provided that there is a line '*.debug /var/log/debug' in your /etc/syslogd.conf so as to save logs in /var/log/debug (beware: that file will grow very much!).

If you are connecting to a remote host or to a silly host (such as window$), and if (and only if) you feel crazy enough to set a host act as a logger, you may find analyse ( useful (although pre-alpha version).

Please always try to download the latest release on my own site before reporting. Anyway, please tell me its date (in README's header), and which (zip or tgz).

10.10 I patched kernel 2.2.x, 0<=x<=15, and compilation says 'has no member poll_wait' (or something like this)

Yes, those kernels don't have such member. Please remove this line in linux/drivers/net/ppp.c:


10.11 I don't understand what Usinagaz Does

Well, I'm sorry to say that, but I think that what you don't understand is merely what "Internet" is.

Internet is a network of networks. Everybody says that, but not everybody understands what it really means. I'd even say: very few people really fully understand it.

Usinagaz is merely the piece of software which connects the hp to the internet, ie negociates a ppp connection, just as Zindozs does when you click on 'connect to the Internet', and then lets other programs be able to use this connection. Usinagaz doesn't do anything on Internet. You can consider it as a library to be used to program internet applications: mail&news reader, www browser, telnet, icq, irc.... Anything you want, provided that you write the appropriate program.

Here are the main provided commands:


gives you a magic socket number, which represent the record within Usinagaz which holds the connection's parameters.


lets you ask Usinagaz to talk from another port than the default.


asks Usinagaz to connect to the specified computer, on the specified port.


disconnects if TCP socket, and free the socket.


accepts incoming connections.


reads data.


writes data.


translates between domain names ("") and IP addresses (

And *not* more! This is how Unix (the kernel) works: it lets programs connect, read&write data, and close. How all data should be understood must be handled by applications.

As I wrote Usinagaz, I only wanted to bring my TCP/IP knowledge to the hp community. I don't have much time to write the applications, I only wrote some: mail&news, tftp, wget, which I need for my personal use. If someone needs something in particular, he can either:

10.12 Why did you call it Usinagaz? Is this a Gaz factory?!

Well, I'd say yes :o)

To be convinced, please have a look at usinagaz.eps in the source package, or on It is a diagram of the function calls. I don't keep it up to date, but it is enough to show that even if I try my best to do terminal calls (those links whith a white arrow), the current used stack levels (first number) + the number of used stack levels (second number) may come up to 6!

The bold lines indicate those which bring the maximum stack level.

10.13 Oh god! Usinagaz Rebooted the calc!

Aow, please mail me the content of your Upar at Samuel Thibault <>, so that I can know what was exactly happening (the received packet, Usinagaz' state, etc...)

10.14 I couldn't find the source code, where is it?

It's not on for disk space reasons. But you can download them from the Usinagaz website

Next Previous Contents