How to Connect an HP-48SX to a USB Port on a Computer Running Linux

The HP-48SX calculator was designed to connect to a personal computer running MS-DOS to allow variables and programs to be transferred between the computer and calculator. The connection was between serial ports on the computer and calculator, and used the Kermit transfer program. Modern computers do not run MS-DOS or have serial ports. This post explains how to connect an HP-48SX to a computer running Linux that has USB ports rather than serial ports.

Any comments, suggestions, or corrections are welcome.

Hardware Used in this Article:

Calculator: HP-48SX ROM Version E

USB/Serial Adapter Cable: Samson Cables HP48G/GX/SX USB Cable 

Computer: Dell Inspiron 5567

Operating System:

Linux Mint 18.3 Cinnamon 64-bit

Cinnamon Version: 3.6.6

Connecting USB/Serial Adapter Cable to computer:

1) Connect USB/Serial Adapter Cable to USB port on computer.

2) Open terminal window on computer.

3) Run dmesg from command line.

david@david-Inspiron-5567 ~ $ dmesg

4) Find line like this in dmesg output:

usb 1-2: new full-speed USB device number 7 using xhci-hcd.

5) Disconnect USB/Serial Adapter Cable from computer.

6) Run lsusb from command line:

david@david-Inspiron-5567 ~ $ lsusb

7) Connect USB/Serial Adapter Cable to USB port on computer.

8) Run lsusb from command line again:

david@david-Inspiron-5567 ~ $ lsusb

9) Note new line in lsusb output:

Bus 001 Device 008: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge/myAVR mySmartUSBlight

10) From new line in lsusb output, determine vendor ID and product ID of USB/Serial Adapter Cable. In this case, vendor ID is 10c4 and product ID is ea60.

11) Run modprobe from command line as root using previously determined vendor ID and product ID:

david@david-Inspiron-5567 ~ $ sudo modprobe usbserial vendor=0x10c4 product=0xea60

12) Note lines in modprobe output. Note port ID, in this case ttyUSB0:

cp210x 1-2:1.0:cp210x converter detected

usb 1-2: converter now attached to ttyUSB0.

Configuring C-Kermit:

1) Connect HP-48SX to USB/Serial Adapter Cable.

2) Put HP-48SX in Kermit server mode.

3) Run C-Kermit from command line as root.

david@david-Inspiron-5567 ~ $ sudo kermit

4) Configure C-Kermit.

(/home/david/) C-Kermit>set prefixing all

(/home/david/) C-Kermit>set modem type direct

(/home/david/) C-Kermit>set line /dev/ttyUSB0

(/home/david/) C-Kermit>set speed 9600

/dev/ttyUSB0, 9600 bps

(/home/david/) C-Kermit>set carrier-watch off

(/home/david/) C-Kermit>set flow none

(/home/david/) C-Kermit>set parity none

(/home/david/) C-Kermit>set block 3

(/home/david/) C-Kermit>set control prefix all

Transferring files:

1) To transfer files from computer to HP-48SX,

(/home/david/) C-Kermit>send [filename]

2) To transfer files from HP-48SX to computer,

(/home/david/) C-Kermit>get [filename]

3) Files for HP-48SX on computer begin with the header

%%HP: T(1)A(D)F(.);

For further information:

Sign In or Register to comment.