nrf9160 uart shell echo works on nrf9160dk (SICA B1 2110AM) but not on Thingy91 (SICA B0 1924AP)

I have two boards, a Thingy91 with "nrf9160 SICA B0 1924AP" and a nrf9160dk with "nrf9160 SICA B1 2110AM". Everything works as expected on nrf9160dk but on the Thingy91 shell echo do not work (i.e. keys pressed in console not visible until I press enter).

it seems that `nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_ENDRX)`, which reads the `ENDRX` register, behaves differently on the two boards. On nrf9160dk it returns for every character received but on Thingy91 it does not return until new line.

Is this a known issue or am I missing something obvious? I have compared .config, .dts and uart register values but found no clues, except that some `RESERVED` uart register have different values between the two boards.

Some relevant configs:

CONFIG_UART_INTERRUPT_DRIVEN=y

CONFIG_UART_ASYNC_API=y

  • sfrank said:
    Tested with nrf/samples/nrf9160/at_client. Interesting! Same behavior on both thingy91 and nrf9160dk - no echo. Is this expected? i.e. the app assumes line buffering on "the other side"?

    Unfortunately, I’m not able to reproduce that neither. See log below. 

    Thingy:91 (v1.4.0, SICA B0)

    *** Booting Zephyr OS build v3.0.99-ncs1  ***
    The AT host sample started
    AT+CEREG=5
    OK
    AT%CESQ=1
    OK
    AT%MDMEV=1
    OK
    AT%XMODEMSLEEP=1,1000,60000
    %XMODEMSLEEP: 4
    OK
    AT+CGMR
    mfw_nrf9160_1.3.1
    OK
    AT+CFUN=1
    %XMODEMSLEEP: 4,0
    OK
    %CESQ: 54,2,21,3
    +CEREG: 2,"7AA9","01444000",7
    %CESQ: 54,2,26,3
    %MDMEV: SEARCH STATUS 2
    +CEREG: 5,"7AA9","01444000",7,,,"11100000","11100000"

    Now, I’m using minicom on Fedora 36 and I have to enable ‘local Echo’ to get feedback on my keyboard input, but that is the same with the nRF9160 DK. 

    Welcome to minicom 2.8                          
                                                                                   
    OPTIONS: I18n                      
    Compiled on May 26 2022, 00:00:00.                                                                                                                             
    Port /dev/ttyACM3, 09:17:15        
                                                                                   
    Press CTRL-A Z for help on special keys  
    
    |       		       Minicom Command Summary                      |
    |                                                                   |
    |              Commands can be called by CTRL-A <key>               |
    |                                                                   |
    |               Main Functions                  Other Functions     |
    |                                                                   |
    | Dialing directory..D  run script (Go)....G | Clear Screen.......C |
    | Send files.........S  Receive files......R | cOnfigure Minicom..O |
    | comm Parameters....P  Add linefeed.......A | Suspend minicom....J |
    | Capture on/off.....L  Hangup.............H | eXit and reset.....X |
    | send break.........F  initialize Modem...M | Quit with no reset.Q |
    | Terminal settings..T  run Kermit.........K | Cursor key mode....I |
    | lineWrap on/off....W  local Echo on/off..E | Help screen........Z |
    | Paste file.........Y  Timestamp toggle...N | scroll Back........B |
    | Add Carriage Ret...U                                              |
    |                                                                   |
    |             Select function or press Enter for none.              |

    sfrank said:
    I guess it is related to uart fifo size?

    I’m not sure if this has something to do with the UART configuration. One of the biggest differences between the nRF9160 DK and the Thingy:91 (apart from its design of course) is the Connectivity Bridge, which is needed on the Thingy:91 to make communication via USB possible. What is the status of the Connectivity Bridge on your Thingy:91? Do you know which version currently is flashed? 

    Regards, 

    Markus

  • I received a newer Thingy:91 today, v 1.6.0, 2021.19, and echo works on this one!  So it seems likely it is related to the Connectivity Bridge. How do I check version and upgrade Connectivity Bridge?

  • sfrank said:
    I received a newer Thingy:91 today, v 1.6.0, 2021.19, and echo works on this one!  So it seems likely it is related to the Connectivity Bridge. How do I check version and upgrade Connectivity Bridge?

    Checking the version of the Connectivity Bridge is probably not that easy, but it is to update it :-) There is a pre-compiled firmware available in the Thingy91 download section, the latest version currently is 2022-06-02_880c82db. 

    You can follow this guideline using point 3 in either the USB or external debug probe chapter. Please make sure that you choose the right folder for selection of the firmware image:

    • ../img_app_bl/ --> when using external debug probe
    • ../img_fota_dfu_hex/ --> when using USB

    Cheers, 

    Markus 

Related