HP1661CS Ethernet Interface

A few years ago, I bought an HP1661CS logic analyzer. This is part of HP’s 1660C series, with an added 2 channel oscilloscope integrated. Unfortunately I wasn’t lucky enough to get one with a network interface included. However, my friend Stephen (of TerribleFire fame) had a similar device but with the network interface included. Having inspected the two ‘scopes, I’ve worked out how to upgrade any HP1660 series scope with what HP call “Option 015” – the Ethernet interface and support for using it over X11, NFS, and FTP.

The differences between the models with and without the ethernet interface are very limited; most of the hardware for ethernet is present in all models. The differences are:

  • Ethernet-capable models have 8MB of RAM instead of 4MB – this is a simple 72-pin SIMM installed on the CPU card.
  • The PCB with the keyboard, mouse, and Centronics printer connector is replaced with one that adds an RJ45 socket with appropriate magnetics, and a 10base2 transceiver and BNC socket.
  • The firmware is replaced with one that includes support for X11.

Of these, it’s clear that the PCB with the extra ethernet hardware is the most challenging; the upgraded firmware is available directly from Keysight and 72-pin SIMMs are widely available. Most people don’t need the 10base2 interface, and the RJ45 10baseT is sufficient. Modern magjacks contain suitable magnetics, and so only that and some appropriate wiring is required.

The keyboard/mouse/printer/network PCB connects to the CPU board via a 40-pin IDC connector (i.e. the same ones you’d use for a PATA/IDE HDD). The following connections are required to make the HP1660C detect the network interface and make the magjack work.

  • Pin 22 to 26 (ground to network interface detection)
  • Pins 35 and 36 to TX on the magjack (pins 1+3 on the one I used)
  • Pins 33 and 34 to RX on the magjack (pins 4+6 on the one I used)
  • Ideally, wire up the grounds on the magjack to pin 22 or 24 (ground)

I actually used a magjack salvaged from an old dead Raspberry Pi. The resulting wiring for testing looked like this:

(Better photos to follow!)

Once the hardware is complete and connected up, and you’ve swapped in an 8MB SIMM, you’ll need to go into the “System” menu, and choose “Update Flash”. With the new hardware connected, the system will ask for SYSTEM.LAN instead of SYSTEM to be provided from the update floppies; run the update and you’re done!

To make best use of the ‘scope once set up, you’ll need a machine running X, and configured to listen for and allow connections from the HP1660’s IP address. In addition it needs some specific fonts installed; these are provided on the firmware disk images from Keysight. If you’re doing this on Xubuntu, you’ll need to create /etc/lightdm/lightdm.conf.d/listen.conf and add the following:


You’ll then need to allow the specific IP for your analyser using xhost + or similar. Finally, you can start the connection from the LA.

Edit: I’ve had a couple of requests for some photos of HP’s own board for this. Here you go!

7 thoughts on “HP1661CS Ethernet Interface”

  1. Very nice, I was doing some research to make this exact modification so thanks for the post!

    Any chance of pics of that original board?

    Cheers! If you haven’t made a video describing the details would you mind terribly if I did, giving you credit, of course.

  2. Hi Jamie,
    I happen to have the same scope at the moment and trying to get the Ethernet part running. I’ve looked at the link in your blog, but it doesn’t direct me to the firmware.
    The only thing I could find is the Version A.02.01 firmware, does that contain the ethernet update?

    1. Yes, the normal firmware update process will switch between using SYSTEM and SYSTEM.LAN (from what I remember) depending on whether it detects the ethernet hardware. That’s just based on that shorting link between pins 22 and 26 on the connector.

  3. Hi,

    Just completed this mod on my HP1661 and it worked perfectly, thanks for posting it Jamie.



  4. I have a HP1660ES that I’m working on and your page was helpful.
    I couldn’t get the LAN settings to show up so I tried to reflash the ROM. This failed because ‘system’ couldn’t be found.
    The E version had Ethernet as standard (not an option). When I opened up the machine I found that someone had disconnected the LAN ribbon cable. I remembered reading on your page how the C version distinguishes between programming the ‘system’ or ‘system.lan’ files. It clicked that this is why it couldn’t find the file. When I reconnected the cable, the software asked for ‘system.lan’ and it completed the flash.
    It seems that the firmware on the E model carries over some unnecessary baggage from the C model.

    BTW I could not get the remote xserver connection to work. I did some detailed debug to find that I needed to start the Xorg server with the +byteswappedclients option.
    The MC68020 / VxWorks is big endian and my Linux was little endian.
    I’m using Fedora Linux (which might be setup differently than Ubuntu).

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.