Owfs has multiple aspects to error management.
- Long-running monitoring processes require resilience
- It is not unusual for USB (and possibly serial) connections to be transiently disconnected or at least reset
- The goal is for adapter problems to repair themselves, possibly with a short loss of function
- The USB adapter, DS9490, poses a special problem.
- USB ports are re-enumerated on reconnection and so using the same "address" doesn't work.
- OWFS attempts to find a characteristic element on the bus the first time connection is established (one of the *81 chips) and matches that to the available USB adapters on reconnection.
- Network connection to owserver does not reconnect. Each transaction has a time limit (2-3 seconds) and then returns an error. Connections in owserver are torn down and restarted with each transaction so reconnection would be superfluous.
- Network connection to LinkE does trigger the reconnection algorithm.