Skip to content

Unable to combine USB CDC-ACM and Modbus Serial due to dependecy on uart_configure(). #45938

@gonzzor

Description

@gonzzor

Describe the bug
When combining USB CDC-ACM and Modbus Serial, modbus_serial_init() fail because uart_configure() isn't implemented for cdc-acm. modbus_serial_init() should handle this more craceful.

Simply ignoring the error if it's -ENOSYS is a quick fix that make modbus serial work.

Testing on nrf52840dk.

To Reproduce
Steps to reproduce the behavior:

  1. Enable USB-CDC ACM support with the modbus/rtu_server example.
  2. Build, flash and run. uart_configure() returns -ENOSYS since it's not implemented.

Expected behavior
Working modbus rtu server over usb cdc-acm.

Impact
Need to patch Zephyr code to get it working.

Logs and console output

[00:00:00.392,028] <err> modbus_serial: Failed to configure UART
[00:00:00.392,028] <err> modbus: Failed to init MODBUS over serial line
[00:00:00.392,059] <err> mbs_sample: Modbus RTU server initialization failed
[00:00:00.396,026] <inf> usb_cdc_acm: Device suspended
[00:00:00.627,502] <inf> usb_cdc_acm: Device resumed
[00:00:00.808,929] <inf> usb_cdc_acm: Device configured

Environment (please complete the following information):

  • OS: Linux
  • Zephyr SDK
  • Nrf Connect SDK Zephyr repository (v3.0.99-ncs1-rc1). Same issue exist with latest Zephyr commit 70dbf7e.

Metadata

Metadata

Assignees

Labels

EnhancementChanges/Updates/Additions to existing features

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions