Skip to main content

NEC / Sharp NEC MultiSync Display

Drive NEC / Sharp NEC MultiSync large-format displays over LAN using the External Control Protocol. Covers the M, P, V, C, E, UN, and X series — the same protocol runs across nearly every commercial NEC panel from ~2010 onward.

What this driver supports

  • Power on / off / standby, and live power-state readback.
  • Input select — VGA, DVI, DisplayPort, HDMI 1–4, Option, USB, and Compute Module.
  • Volume (0–100), mute on/off/toggle.
  • Backlight, brightness, and contrast set.
  • Diagnostics telemetry — panel temperature (°C) and cumulative panel usage hours (history-enabled attributes suitable for commercial-signage health monitoring).
  • Auto model-name detection on connect.

Prerequisites

  • Firmware that speaks the External Control Protocol version 2.x or newer (any current NEC LFD firmware from the last decade qualifies).
  • LAN control enabled on the panel: Menu → Control → LAN Setup → LAN Power → ON.
  • External Control source set to LAN: Menu → Control → External Control → LAN.
  • A static IP or DHCP reservation for the display. Default control port is 7142.

Setup

  1. On the display OSD, enable LAN control and set the External Control source to LAN as above.
  2. Confirm the display's IP under Menu → Control → LAN Setup → IP Address.
  3. In GEM, navigate to /admin/devices and add a device with driver NEC LFD.
  4. Fill in the display IP. Leave port at 7142 unless your commissioning integrator overrode it.
  5. If you have multiple displays daisy-chained through an RS-232 → LAN bridge, set Monitor ID to the target panel's ID (1 for the first).
  6. Save. On connect the driver runs an initial sweep (power, input, volume, mute, temperature, lifetime hours) and then polls every 30 seconds.

Zone address format

Not used. This driver models one panel per device row. If you're mapping panels to AV zones, link the panel via volume_device_id on the AV zone so volume/mute reflect on both surfaces.

Attribute reference

AttributeTypeDirectionNotes
ipstringrequiredDisplay IP or hostname.
portintoptionalControl TCP port. Default 7142.
monitor_idintoptionalChain address. 1 for a single panel.
status_intervalint (ms)optionalPoll cadence for power/input/volume/mute + telemetry. Default 30000.
model_namestringreadonlyPopulated from the model-name reply on connect.
power_stateenumreadonlyon / standby / suspend / off.
inputenumreadonlyCurrent source.
volumeint (0-100)readonlyPanel speaker volume.
mute_stateenumreadonlyon / off.
backlightint (0-100)readonlyCurrent backlight level.
panel_tempint (°C)readonly, historyPanel temperature sensor #1.
lifetime_hoursint (h)readonly, historyCumulative panel-on hours.

Commands

Power: power_on, power_off, power_standby, get_power. Standby draws slightly less than a full off — most operators use power_off for scheduled cinema-style dark cycles and power_standby for quick-recovery between meetings.

Input: set_input / input accepting one of vga, rgb_hv, dvi, video1, svideo, component, displayport, hdmi1hdmi4, dvd_hd, option, usb, compute_module.

Audio: volume (0-100), volume_up, volume_down, mute_on, mute_off, mute_toggle, get_volume, get_mute.

Image: backlight, brightness, contrast — each takes a level argument 0-100 and mirrors the OSD Image adjustments.

Diagnostics (poll targets, but callable ad-hoc for scripts):

  • get_temperature — reads panel temperature sensor #1.
  • get_lifetime_hours — reads cumulative usage hours.
  • get_model_name — populates the model_name attribute.

Known limitations

  • Model-name decoding — NEC returns the model as a value inside a get-parameter reply, and the string encoding varies by firmware. The driver stores whatever comes back; it may render as a hex code on older panels. Not blocking day-to-day control.
  • Video-wall configuration commands (tile mode, gap correction, monitor grouping) are intentionally out of scope for this initial driver. Commercial video-wall setup remains an OSD/commissioning task; the driver focuses on runtime control after commissioning.
  • Some early-2010s panels do not support opcode 0x07F4 (lifetime usage). The driver logs a single "unsupported opcode" line and skips the reading — no error is surfaced to callers.
  • Multi-monitor RS-232 chaining is supported via the monitor_id attribute, but each addressable display should still be added as its own GEM device row so state polling doesn't collide.

Troubleshooting

  • No response on connect. LAN Power is off in the OSD — commercial NEC panels default the LAN port to power off with the panel. Set Menu → Control → LAN Setup → LAN Power → ON.
  • Commands accepted but the wrong display responds. Two chained displays share the same monitor ID. Assign unique IDs via Menu → Multi-Screen → Monitor ID, or address each panel from its own GEM device row.
  • lifetime_hours never populates. Older firmware may not support opcode 0x07F4. Update to the newest LFD firmware from the Sharp NEC support portal.
  • Backlight command has no effect. Some picture modes (notably "Dynamic") lock backlight adjustment. Switch to Standard or Custom in the OSD before scripting backlight changes.
  • docs/admin/drivers/samsung_mdc.md — Samsung's equivalent commercial-display protocol; similar shape.
  • docs/admin/drivers/pjlink.md — cross-brand projector/display control; simpler command surface, more limited telemetry.