diff --git a/libraries/AP_SerialManager/AP_SerialManager.cpp b/libraries/AP_SerialManager/AP_SerialManager.cpp index 7be211fa6a..67fcb64e49 100644 --- a/libraries/AP_SerialManager/AP_SerialManager.cpp +++ b/libraries/AP_SerialManager/AP_SerialManager.cpp @@ -569,7 +569,13 @@ AP_HAL::UARTDriver *AP_SerialManager::find_serial(enum SerialProtocol protocol, return nullptr; } const uint8_t serial_idx = _state - &state[0]; - return hal.serial(serial_idx); + + // set options before any user does begin() + AP_HAL::UARTDriver *port = hal.serial(serial_idx); + if (port) { + port->set_options(_state->options); + } + return port; } // find_baudrate - searches available serial ports for the first instance that allows the given protocol