Hi,
I'm developing a project using the Nordic Semiconductor nRF51-dongle that has components from SEGGER. My project consists of a PC application and a dongle firmware where the two parts communicates over UART. I am facing issues when running my project in Linux(Ubuntu 14.04), after a few open/close of the UART terminal the communication is dead. I'm not facing this problem when I'm running the same code and dongle firmware in Windows. In Linux I'm opening a correctly configured UART channel to, for example, /dev/ttyACM0 and when it works it never fails until I restart the UART connection.
I have tried some different boards from Nordic with the same behavior and since it works for hours once the UART is opened I'm confident that my implementation is good. The dongle should always give a response to any data put on the UART, but nothing arrives. The only solution is to unplug/re-plug the dongle into the USB port. The problem shows up after a random amount of close/open events but usually less than 10 times. Sometimes it is possible to send a command to the dongle but I never get the expected response. On some other machines with the same OS the dongle might never respond.
First I thought that I could solve it by toggling the DTS and RTS signals but nothing seems to work. I have tried most of the terminals as CuteCom, Putty, minicom etc..) so I really think it's Linux related. I cal also mention that my PC has only USB 3.0 ports and I have the j-link 4.98e driver installed.
The support at Nordic Semiconductor said it's most likely related to an issue with the SEGGER and CDC driver in Linux and that I should report it here. I tried to use unload the cdc_acm driver with "rmmod cdc_acm" and load it again but it didn't seem to help me. Do you have any idea of what it could be related to?
Best Regards,
Niklas
I'm developing a project using the Nordic Semiconductor nRF51-dongle that has components from SEGGER. My project consists of a PC application and a dongle firmware where the two parts communicates over UART. I am facing issues when running my project in Linux(Ubuntu 14.04), after a few open/close of the UART terminal the communication is dead. I'm not facing this problem when I'm running the same code and dongle firmware in Windows. In Linux I'm opening a correctly configured UART channel to, for example, /dev/ttyACM0 and when it works it never fails until I restart the UART connection.
I have tried some different boards from Nordic with the same behavior and since it works for hours once the UART is opened I'm confident that my implementation is good. The dongle should always give a response to any data put on the UART, but nothing arrives. The only solution is to unplug/re-plug the dongle into the USB port. The problem shows up after a random amount of close/open events but usually less than 10 times. Sometimes it is possible to send a command to the dongle but I never get the expected response. On some other machines with the same OS the dongle might never respond.
First I thought that I could solve it by toggling the DTS and RTS signals but nothing seems to work. I have tried most of the terminals as CuteCom, Putty, minicom etc..) so I really think it's Linux related. I cal also mention that my PC has only USB 3.0 ports and I have the j-link 4.98e driver installed.
The support at Nordic Semiconductor said it's most likely related to an issue with the SEGGER and CDC driver in Linux and that I should report it here. I tried to use unload the cdc_acm driver with "rmmod cdc_acm" and load it again but it didn't seem to help me. Do you have any idea of what it could be related to?
Best Regards,
Niklas