[SOLVED] J-Link RTT Client "clogs" USB on Microsoft Surface Book 3?

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] J-Link RTT Client "clogs" USB on Microsoft Surface Book 3?

    Hi there,

    I recently got a new Laptop for work, a Microsoft Surface Book 3. Segger RTT for me is a crucial tool for my development work and I often have multiple targets connected at the same time. Unfortunately it looks like there is something with how RTT transfers data via USB that brings out an issue on the Microsoft Surface Book 3 that makes other USB devices not perform as expected.

    In detail it looks like this: As soon as a target device is connected via RTT, my external USB-keyboard and mouse stop working intermittently. I.e. a lot of keyboard events and mouse events are entirely lost. I estimate that this happens around once every 10s for a couple 100 milliseconds. Sometimes more often, sometimes less, I think. The issue disappears as soon as the RTT session is closed. The issue exists with both RTT client and RTT viewer, but it seems to not be triggered when simply debugging - i.e. running the debugger in Keil uVision or J-Link Commander by itself does not seem to trigger the issue. It does not seem to matter whether the target device is "quiet" or outputting a lot of data via RTT.

    For the record, I do think that this is actually some issue with either the Surface Book 3 hardware, firmware or drivers - as I found other users having reported the same / similar issues on the device, but unrelated to RTT. Nonetheless I'm curious as to why this behaviour is specifically triggered by RTT and if there is a possible workaround on the RTT side as well. I did open a thread in the Surface Book 3 support forum on this topic, so far with no useful responses.

    For these tests I was using J-Link version 6.88 and 6.92 and the Nordic nRF52 Development Kits which have J-Links on-board.

    I'd be grateful for any help!
  • Hi,
    Thank you for your inquiry.
    Such an issue was not yet known to us.

    I agree that if other people complained about similar issues, the root cause would most likely be related to the Surface and not to the J-Link.
    Especially since this issue does not seem to appear on other Computers/Laptops.

    When RTT is active, the J-Link rapidly reads the RTT Control block on the target side.
    The result of these reads is passed to the host system (in your case the Surface) which results in very frequent USB transactions.
    I would guess that these frequent interactions makes the issue appear.
    But again, this seems to be a Microsoft sided issue so contacting them was probably the right choice here.

    To make sure this issue is not setup related:
    Is the J-Link directly connected to the surface or via a USB hub?
    If USB hub, does the issue appear when connecting the J-Link directly to the surface?
    When using a USB hub we highly suggest one with external power source.
    We made the experience that non powered USB hubs often cause problems.

    Best regards,
    Fabian
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Hi Fabian,

    Thanks for your response.

    SEGGER - Fabian wrote:

    When RTT is active, the J-Link rapidly reads the RTT Control block on the target side.The result of these reads is passed to the host system (in your case the Surface) which results in very frequent USB transactions.
    I would guess that these frequent interactions makes the issue appear.
    But again, this seems to be a Microsoft sided issue so contacting them was probably the right choice here.
    I do also have an USB audio interface which does work fine while RTT is not running. I suppose a USB audio interface also needs to do frequent USB transactions.

    SEGGER - Fabian wrote:

    Is the J-Link directly connected to the surface or via a USB hub?
    If USB hub, does the issue appear when connecting the J-Link directly to the surface?
    I did try both with (powered) USB hub and directly connected to the Surface Book. The issue prevails.
  • Hi,
    Okay.

    Unfortunately, there is not much we can do in this case.

    Best regards,
    Fabian
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.