HX401 Technical Resources

Drivers and Manuals

Product Manual

BIOS Manual

PuTTY Tool


Windows 10 Download (Follow our guide for Installing via Device Manager)

Windows 11 Download (Follow our guide for Installing via Device Manager)

BIOS Updates

Update the BIOS with the file(s) above. You can follow this how-to guide for installation instructions.

Frequently Asked Questions (FAQ)

How do I Enable/Disable auto power on?

Enter the BIOS by pressing Delete while the system is booting, then navigate to Advanced > PCH-IO Configuration > State After G3
Select S0 to enable auto power on
Select S5 to disable auto power on

How much power does the system draw?

The maximum sustained power draw of the HX401 is approximately 60 watts, with short duration TurboBoost draw of up to 120 watts with high CPU load. Stress testing data is available in the Product Manual, and shows the average power draw for different configurations.
These numbers are estimates and the power supply selected should also account for overhead.

Disassembly Instructions

Properly opening OnLogic systems does not void the warranty in most cases, however, some precautions are necessary to avoid damaging the system.

  • Perform this disassembly in an area free of static discharge.
  • Disconnect power, video, and any other connections to the system. It should be fully unplugged.
  • Ideally, wear a grounding strap. If that is not available, regularly touch a grounded metal surface to discharge your body of static electricity.
  1. Remove x4 screws from the bottom of the system.

    Note: Remove any/all mounting hardware.
  1. Remove x2 screws from the back of the system.
  1. You can now remove the bottom plate, and access the internals of the system:


Clearing the CMOS

If the system fails to power on or otherwise function, clearing the CMOS may help restore it to a working state.

  1. Unplug the system completely from power and all peripherals, and follow the Disassembly Instructions above.
  2. Now that you have access to the motherboard, locate the CMOS jumper (labeled “CMOS CLR”) in one corner of the motherboard, between the DisplayPort and RAM slots:
CMOS jumper shown in default position (No Function)
  1. The jumper’s default position closes pins 1 & 2 (pin 1 indicated by the arrow on the motherboard). Move the jumper to the Clear position, closing pins 2 & 3.
  2. Wait at least 30 seconds
  3. Move the jumper back to the default position, and then reassemble the system. Reconnect and retest the system. It is normal for the system to reboot several times, and may take up to 5 minutes for the unit to reinitialize.

If the system continues to not work, contact Technical Support.

Add-In Modules

CAN Add-in Card

An optional CAN add-in card is available. The add-in card has an NXP i.MX1050-series microcontroller that can communicate with the host processor over USB. The card provides an interactive shell for configuration on a virtual COM port, and two CAN interfaces accessible through two additional virtual COM ports.

Configuring the Add-in Card

The add-in card is configured interactively through its shell using a serial terminal emulator program. The shell is accessed differently depending on operating system.

To access the shell on Windows:

  1. Open Device Manager by pressing Win+X M. Open the “Ports (COM & LPT)” menu.
  2. Note the “COM#” numbers on each port listed. The shell is typically the lowest-numbered “USB Serial Device” port. The first and second CAN interfaces typically have higher port numbers.
  3. Download and install PuTTY from the link above.
  4. Open PuTTY. When prompted, enter the COM port number in the “Serial line” text box, then click “Open”.
  5. If the port number was correct, a “uart:~$” prompt should appear. If not, try a different port.

To access the shell on Linux:

  1. Install picocom, e.g. “sudo apt install picocom” on Ubuntu.
  2. Open the shell’s virtual COM port with picocom by running “picocom /dev/serial/by-id/usb-OnLogic_USB-CAN-*-if00”.
  3. Some Linux distributions may not configure udev to produce by-id links. If those links are missing, try /dev/ttyACM0 and similar devices.

Once the shell is open, type “help” for usage information.

Using slcand in Linux

On Linux, the slcand utility can configure the add-in card’s interfaces as a regular SocketCAN network interface. Make sure the interface is configured for slcan usage by entering “set can-mode VCAN1 slcan” (and similar for “VCAN2”) in the shell.

On most Linux distributions, slcand is part of a package called can-utils; on Ubuntu, it can be installed with “sudo apt install can-utils”. Once installed, start the utility by running e.g. “slcand -oc -s6 /dev/serial/by-id/usb-OnLogic_USB-CAN-*-if02 slcan0” to create a SocketCAN interface named slcan0 running at 500k (“-s6”) from the first CAN interface’s virtual COM port.

The slcan Message Format

The slcan message format is widely supported. High-quality libraries are available for most programming languages that handle the details of the protocol. It can also be implemented manually if needed.

The slcan protocol is stateful; each interface needs to be configured and opened before it can be used, and must be closed before it can be reconfigured. Make sure the interface is configured for slcan usage by entering “set can-mode VCAN1 slcan” (and similar for “VCAN2”) in the shell.

Each CAN interface has a corresponding virtual COM port. Commands are sent on that port to configure the interface and send frames. Each command consists of an ASCII letter, optionally followed by other ASCII text, ending with a newline (“\n”) character.

The interface baudrate is set with the “S” command. Nine baudrates are supported:

Baudrate (kbit/s)Command

Once the baudrate is set, the interface should be opened by sending the open command (“O\n”). Once open, frames can be sent to the microcontoller in the format documented in a comment in the Linux kernel source code. As frames arrive, the microcontroller will send messages back on the virtual COM port. To stop it, close the interface with the close (“C\n”) command.

Alternate CAN Format

The legacy “std” message format is supported for backwards compatibility with other devices, but is not recommended for new development. The standard slcan format should be used instead due to the availability of high-quality tools and libraries for working with that message format in most programming languages.

Updated on June 19, 2023

Was this article helpful?

Related Articles

Keep In Touch.
Subscribe today and we’ll send the latest product and content updates right to your inbox.