This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

multiple nRF52840's USB CDC ACM instances

Hi, a question may need your kind help. Just wonder if nRF52840's USB CDC ACM could support multiple instances? For example, would it support CLI as well as an another serial instance like for AT command? If could , how could I get these? Many thanks.

Parents
  • Hi ovrebekk,

    Thanks. Got it. Actually today I also figured it out just like what you are instructing. Anyway appreciate. 

    Btw, could we let the windows/linux enumerate the virtual com ports with some customised name, but not as below? Because,  in my situation, there would be one serial port(device) acting as AT command interface and the other working with CLI&Log. Some bit silly thought, for example, could I have the displaying name as "USB Serial Device_AT (COM10)", "USB Serial Device_CLIandLog(COM9). 

  • Hi 

    Good question. I have been digging into the code for a while without finding a way to do this, and the developer didn't know either. 

    It might be possible to link to a user string in the interface descriptor iInterface field, but I need some more time to try this out. I will try to get back to you on this by Monday next week. 

    Best regards
    Torbjørn

  • Hi, 

    Thanks for your quick response. Another question, it seems that USBD would not work properly with Softdevice. As you would be able to see in  nrf_drv_power.c. Any thought? Thanks.

    #ifdef SOFTDEVICE_PRESENT
    if (nrf_sdh_is_enabled())
    {
    return NRF_ERROR_INVALID_STATE;
    }
    #endif

  • Hi, 

    I have got a workaround for the issue that USBD would conflict with Softdevice. I swap to the example under the folder /example/peripheral/usbd_ble_uart and integrated a CLI CDC ACM instance over it. Job done although I still take more time to drill up how this example gets USBD along with Softdevice.  

    Still in pursuing to modify the USB serial display name.

Reply
  • Hi, 

    I have got a workaround for the issue that USBD would conflict with Softdevice. I swap to the example under the folder /example/peripheral/usbd_ble_uart and integrated a CLI CDC ACM instance over it. Job done although I still take more time to drill up how this example gets USBD along with Softdevice.  

    Still in pursuing to modify the USB serial display name.

Children
  • Hi 

    Good to hear you solved the SoftDevice issue. 

    Regarding the USB serial display name I am starting to think you would have to modify the .inf file in order to set the display name of the CDC interfaces. 

    On Windows 8 and earlier this is quite straight forward, but on Windows 10 you can not provide an .inf file unless it is tested by Microsoft through the HLK framework

    Which Windows version are you using yourself?

    Best regards
    Torbjørn

Related