This has been tested with a HP48G+ calculator and a laptop running Debian Lenny, but with few modifications it can be applied to other calculators and GNU/Linux distributions.
As laptop computers don’t have RS232 serial port we must buy an adapter USB-RS232_DE9. I have bought a Digitus© one for 17 Euros (a little bit expensive in my opinion).
For me, it has been also necessary to build a connection cable because my second-hand calculator haven’t had one.
We connect the adapter to an usb port of our laptop, and then if we made (as root):
# lsusb
we must see something like this:
Bus 003 Device 001: ID 0000:0000
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 010: ID 0403:6001 Future Technology Devices International, Ltd 8-bit FIFO
Bus 001 Device 005: ID 15ca:00c3
Bus 001 Device 001: ID 0000:0000
where Device 005 is my usb mouse and the 010 is our new usb-serial adapter.
With last Linux kernel versions (at least since kernel 2.6.18) the suitable driver (kernel module) is automatically loaded after plugging in the device, and it is also auto-unloaded at unplugging.
So, if you do:
$ dmesg | tail
you should see something like:
usb 1-1: new full speed USB device using uhci_hcd and address 10
usb 1-1: configuration #1 chosen from 1 choice
ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected
drivers/usb/serial/ftdi_sio.c: Detected FT232BM
usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
That shows that udev has attached the device to /dev/ttyUSB0.
My module is ftdi_sio (Future Technology…). But if the adapter was, for example, a Conceptronic© one (Prolific Technology, Inc. PL2303 Serial Port), its module would be pl2303.
if the module is not autoloaded, you should load it manually:
# modprobe usbcore
# modprobe usbserial
# modprobe ftdi_sio
Until now we have only plugged in the adapter and checked that all is correctly loaded. Now is time to install a software to communicate with the calculator. For GNU/Linux we have HP Talx, that is a GTK+ graphical interface of C-Kermit.
As HP Talx depends on C-Kermit, first we have to install this package, present in repositories of several distributions. In Debian-like ones, we can do:
# aptitude install ckermit
Next we download the deb package of last version of HP Talx and we install it with:
# dpkg -i hptalx_version.deb
In the case of distributions without package system we can download the sources (ckermit, hptalx) and compile them with:
./configure; make
[as root] make install
We run HP Talx, we turn the calculator on and we press [gree key] and [I/O] (button 1), we select Transfer… and we configure the parameters like:
PORT: Wire
TYPE: Kermit
NAME: (none)
FMT: Bin
XLat: 255
CHK: 3
BAUD: 9600
PARITY: None
OVRW: (ticked)
We go out of the transfer configuration and we press [green key] and [right arrow] to begin the server. We must see “Awaiting Server Cmd” on the screen.
Now in HP Talx we configure the connection in File > Setup… (or CTRL+N)
Connection Settings: USB (ttyUSB)
Set ttyUSB port: 0
Set COM Speed: 9600
Timeout: 15
Confirm Delete and Remove: (ticked) *
Start Connected: (unticked) *
Set default editor: kate *
(*) As you like
Finally we connect: Connect > Connect (or CTRL+B)
If all has gone fine we must see something like:

Now we can upload our programs to the calculator, libraries, variables, texts… and of course, also download them from the calculator to our computer.
From hpcalc.org we can download houndreds of applications (technical, graphics, editors, games, etc.) for HP48 and HP49.
NOTE: For Windows we have HPComm that is free software and works very well.