Skip to content
Support

Connection & Detection

This page covers what happens when pcu cannot detect the hardware, refuses a command the platform does not support, or loses the connection. pcu detects your platform automatically from the board identity and validates it before any write, so these messages are how it fails safely rather than guessing.

pcu did not recognise the machine as a supported vehicle PC, so it connects to nothing rather than risk writing to an unknown MCU. The GUI splash shows:

This hardware is not supported.
Detected board: <manufacturer> / <product>
See supported systems on the Home or About page.

From a terminal, pcu-cli prints the board and CPU it read, then the list of platforms it does support:

ERROR: Could not auto-detect platform.
Board: <manufacturer> / <product>
CPU: <cpu>
Supported platforms:
...

Detection is deliberately fail-closed: an unrecognised board is never driven. See Supported Platforms for the boards pcu supports.

  1. Confirm the machine is an In-CarPC CQ20, CQ40 series, CQ40N series, or CQ50S series unit.
  2. If it is, send the exact Board and CPU strings above, plus the vehicle PC model, to In-CarPC support so the board identity can be added.

”… are not available on …” (feature not available)

Section titled “”… are not available on …” (feature not available)”

pcu recognised and validated the hardware, but you asked for a feature the platform does not have. Asking for digital I/O on a CQ20:

ERROR: Digital I/O is not available on In-CarPC CQ20.

This exits with code 2 (feature not available), which is distinct from a general error, so a script can tell them apart. Ignition timers are on every supported platform; digital I/O is on the CQ40 series only. The delay unit (pcu-cli ign unit) is on the CQ40 series and the CQ40N series only. On a CQ20 or CQ50S it reports the same way:

ERROR: This platform has no delay unit setting. Its timers are always counted in seconds.

In the GUI the matching sidebar page is greyed out with a tooltip. See Supported Platforms for the full capability matrix.

A CQ40 connects with only one half working

Section titled “A CQ40 connects with only one half working”

The CQ40 series has two separate hardware paths: the SuperIO port I/O used by digital I/O, and the PCH SMBus used by the ignition timers. If one fails to open, pcu still connects with the other and shows a reason in place of the missing feature. Asking for the missing feature exits with code 1, not 2, because the hardware has it and the connection could not reach it.

If the SMBus half is missing, pcu-cli ign and pcu-cli ign unit print one of these:

ERROR: The ignition timers are unavailable because no Intel SMBus (I801) adapter was found; load the driver with 'sudo modprobe i2c-i801', and check that i2c-dev is loaded too ('sudo modprobe i2c-dev', or run 'pcu-setup.sh install' to load it at every boot).
ERROR: The ignition timers are unavailable because the i2c-dev kernel module is not loaded; load it with 'sudo modprobe i2c-dev', or run 'pcu-setup.sh install' to load it at every boot.

If the port-I/O half is missing, pcu-cli dio prints ERROR: Digital I/O is unavailable. followed by the reason the port I/O could not be opened, for example the missing CAP_SYS_RAWIO capability on Linux. Fix the cause named in the message, then retry. See Install on Linux. If both halves fail, pcu reports the port-I/O error and connects to nothing.

”Connection to MCU hardware was lost.”

Section titled “”Connection to MCU hardware was lost.””

The GUI polls the MCU every 5 seconds and tolerates one failed poll. After two failed polls in a row (about 10 seconds), it drops the connection, stops the live dashboards, and shows in the sidebar:

Connection to MCU hardware was lost.

On the Ignition and Digital I/O pages an in-progress action may instead report Connection lost.

  1. Check the vehicle PC power and the MCU cabling.
  2. Click Retry in the sidebar to reconnect.
  3. On Windows, if the PawnIO driver was removed, a Driver Setup button also appears; use it to reinstall the driver, then retry. See Windows Issues.

Every write is read back to confirm it took effect. If the readback does not match, pcu warns and the command exits with code 1. An ignition timer that the MCU clamped:

WARNING: Wrote 45s but read back 30s. MCU may have clamped the value.

A digital output that did not change:

WARNING: Set DO1 to High but read back Low.
  1. Retry the command once. A single bus glitch usually clears.
  2. If the value keeps reading back wrong, it may be outside the range the MCU accepts, or the channel’s wiring may be faulty. Note the exact warning and contact In-CarPC support.

On the CQ40 series and the CQ40N series, the MCU can take its settings from the BIOS or from its own settings. Writing the ignition off delay switches it to the MCU’s own settings.

After the write, pcu prints this on the line before the result, whether or not the write then verified:

The settings source was switched from BIOS to the MCU's own settings.

If the MCU does not confirm the switch when pcu reads it back, the timer is still written and pcu prints this instead:

pcu asked the MCU to use its own settings but could not confirm the change, so this timer may still be governed by the BIOS.

With --quiet the notice goes to stderr and stdout stays the bare value. With --json the same text is in a notice field of the ign set output. If the write or the readback fails after the switch, pcu still prints the notice on stderr and the source stays on the MCU’s own settings.

On a CQ20, pcu stores each timer in the MCU after writing it and waits up to 5 seconds for the MCU to confirm. If the MCU does not confirm, pcu warns and the command exits with code 1:

WARNING: Boot Delay was set to 3s but was not stored. The MCU did not confirm the store within 5 seconds. The value will be lost when DC power is removed. Run the command again.

In the app, the Ignition card shows this message instead of “Set to 3s and stored”:

Boot Delay was set to 3s but could not be stored. It will be lost when power is removed. Try saving again.

The value is in place and the PC will use it, but it will be lost when DC power is removed. With --quiet, pcu prints only the number, so the exit code is the only sign. A script must check it.

On a CQ50S the same warning appears with a different second sentence, The MCU did not accept the save command., because the CQ50S has no register to poll for confirmation.

The CQ40 series and CQ40N series save timers by themselves and have no separate store step, so they do not show this message.

  1. Run the same command again, or save the value again in the app.
  2. If it keeps failing, note the exact message and contact In-CarPC support.

Timers return to old values after the battery is disconnected

Section titled “Timers return to old values after the battery is disconnected”

This applies to the In-CarPC CQ20 with pcu 1.0.0 or 1.1.0.

You set the ignition timers, pcu reported them as verified, and they held through restarts. After the vehicle battery or the DC supply was disconnected, the timers went back to older values.

pcu 1.0.0 and 1.1.0 wrote CQ20 timers to the MCU but did not tell it to store them. The values stayed in place while the MCU had power, including while the PC was shut down with the supply connected, and were lost when the supply was removed. pcu 1.1.1 stores every timer write.

  1. Update to pcu 1.1.1 or later. pcu-cli version shows the version you have.
  2. Read the current timers with pcu-cli ign. A unit that has lost its supply since it was configured may be running with timers nobody chose.
  3. Set each timer to the value you want, even if it already shows that value. Each one should report - verified and stored.
  4. To check, shut the PC down, disconnect the supply for at least 1 minute, reconnect, start the PC, and run pcu-cli ign again.

pcu shares the standard system-bus locks with other low-level utilities so they do not clash on the hardware. If another tool (for example HWiNFO) is holding the bus, pcu waits up to 5 seconds and then fails cleanly rather than forcing its way in. Anything that uses the SMBus (the CQ20, the CQ40 series ignition timers, the CQ40N series, and the CQ50S) can show:

ERROR: Timed out waiting for SMBus mutex.

The CQ40 series digital I/O uses the other bus and can show:

ERROR: Timed out waiting for the ISA-bus mutex.
  1. Close the other tool that reads hardware sensors or buses (HWiNFO and similar).
  2. Retry the command.

The PC will not restart after a software shutdown

Section titled “The PC will not restart after a software shutdown”

You shut the vehicle PC down from the operating system (rather than by turning the ignition off), and now it will not power back on until you cycle the ignition. This is expected behaviour of the CQ20 ignition module, not a fault.

The ignition input is edge-triggered, so the PC waits for the ignition to switch off and on again before it will start. To get the PC running again, turn the ignition off and then back on.