This can occur when the Dynamic Driver is set to run under the hardware context and is unable to open or validate the native interface (CAN/Ethernet/Serial/USB).
$ polysync-dynamic-driver -n 7 -o
DEBUG : polysync_core : build version 2.0.2-1458307255 DEBUG : polysync_lic : process_features -- license mode: pro - version: 2.99 - expiration: 02/10/2018 DEBUG : polysync_core : created participant - GUID: 0x00060001EBB39D87 d(1688858109648263) DEBUG : polysync_dds : message types loaded: 36 DEBUG : polysync_node : state: INIT - timestamp: 1459544569184999 DEBUG : polysync_clock : initializing replay clock ERROR : delphi_esr_2_5_interface : (1712) -- failed to locate a CAN channel with specified hw/cc identifiers (21718,1) DEBUG : polysync_node : activate fault - dtc_code: 304 DEBUG : polysync_node : state: ERROR - timestamp: 1459544569321552
The PolySync Dynamic Driver failed because:
- Ubuntu network is not properly configured
- Misconfiguration, SDF pointing to an interface that doesn't exist
- There is no device at the supplied IP address, CAN channel, etc.
- Device is not connected
- Device is not powered on
You can verify the Ubuntu network settings by following these guides on locating sensors through their native interface:
From the Locating an Ethernet sensor guide you were able to properly set up the Ubuntu network and locate the sensors IP address.
To resolve DTC 304, update the SDF with the sensors IP address (or CAN channel, serial port, etc.). You can use the sensors test interface (passing the '-t' flag) to verify that the Dynamic Driver can communicate with the sensor.
$ polysync-dynamic-driver -n 8 -o -t
If you do not see the same DTC 304 error then you can remove the '-t' flag and run the Dynamic Driver as you normally would.