[ABANDONED] J-Link connected via USB to a Raspberry Pi 4 - from time to time not more findable on USB

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

  • [ABANDONED] J-Link connected via USB to a Raspberry Pi 4 - from time to time not more findable on USB

    We use J-Links connected via USB to a Raspberry Pi 4. From time to time it is not more reacting.
    When logging into the Raspberry Pi 4 which controls the J-Link and calling lsusb, I don't see the J-Link anymore.
    E.g. it look like this:

    xxx:~ $ lsusb
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    xxx:~ $

    When doing a reboot of the Raspberry Pi 4, the J-Link is still not findable.
    I assume it is not answering anymore via USB.
    Unfortunately not reproduceable, perhaps when not using it for a long time, I don't know.
    We already exchanged cable in the past, but has not helped, occured again.

    Because the testrack it on a remote location, which is difficult to reach, two question came up:

    - Can I somehow reset the J-Link? Perhaps with removing power from Raspberry Pi 4 side? I already searched the Internet, found hub-ctrl and uhubctl to switch off power of USB port, in the hope it then recovers,

    but at least I was not successful this time.


    - The other question would be how to prevent such a situation in future.


    I told my collegue to replug J-Link (he will do in a few minutes), then I assume it can be found again via lsusb.

    Pay attention: The device and serial number of the device in the testrack is different than the local one I am using.

    When I can connect again to the J-Link in the testrack, I can deliver the exact info of this device.

    Many thanks for your help!

    This is debug output of a reboot, filter with word "usb":


    xxx:~ $ dmesg | grep usb
    [ 0.179807] usbcore: registered new interface driver usbfs
    [ 0.179885] usbcore: registered new interface driver hub
    [ 0.179972] usbcore: registered new device driver usb
    [ 0.180490] usb_phy_generic phy: supply vcc not found, using dummy regulator
    [ 1.394097] usbcore: registered new interface driver r8152
    [ 1.394205] usbcore: registered new interface driver lan78xx
    [ 1.394302] usbcore: registered new interface driver smsc95xx
    [ 1.449465] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
    [ 1.449512] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 1.449551] usb usb1: Product: xHCI Host Controller
    [ 1.449582] usb usb1: Manufacturer: Linux 5.15.32-v7l+ xhci-hcd
    [ 1.449614] usb usb1: SerialNumber: 0000:01:00.0
    [ 1.451756] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.15
    [ 1.451800] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 1.451838] usb usb2: Product: xHCI Host Controller
    [ 1.451868] usb usb2: Manufacturer: Linux 5.15.32-v7l+ xhci-hcd
    [ 1.451899] usb usb2: SerialNumber: 0000:01:00.0
    [ 1.455468] usbcore: registered new interface driver uas
    [ 1.455612] usbcore: registered new interface driver usb-storage
    [ 1.466564] usbcore: registered new interface driver usbhid
    [ 1.466596] usbhid: USB HID core driver
    [ 1.732725] usb 1-1: new high-speed USB device number 2 using xhci_hcd
    [ 1.915393] usb 1-1: New USB device found, idVendor=2109, idProduct=3431, bcdDevice= 4.21
    [ 1.915455] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
    [ 1.915492] usb 1-1: Product: USB2.0 Hub
    [ 3.053289] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
    [ 3.973665] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
    [ 3.974389] usb 1-1-port3: attempt power cycle
    [ 5.233370] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
    [ 5.989802] usbcore: registered new interface driver brcmfmac
    [ 6.182377] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
    [ 6.183919] usb 1-1-port3: unable to enumerate USB device
    [ 1794.959048] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
    [ 1795.869039] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
    [ 1795.869758] usb 1-1-port3: attempt power cycle
    [ 1797.129087] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
    [ 1798.039069] usb 1-1-port3: Cannot enable. Maybe the USB cable is bad?
    [ 1798.039837] usb 1-1-port3: unable to enumerate USB device
  • Hi,

    To be perfectly ones, I do not really think of a J-Link issue here.
    I could imagine 2 different scenarios of a long-term-fail of J-Link:

    1) J-Link crashes while not in use and the watchdog resets J-Link
    2) J-Link crashes in a way that is not detected by the watchdog logic but makes it to become unresponsive over USB

    In both cases you would still see J-Link when issuing a "lsusb" commands.
    to 1) Because J-Link is reset and restarted, it will detach + attach and reenumerate via USB, so it is listed by lsusb again
    to 2) As the OS usually caches a lot of things during enumeration and does not periodically etc. communicate with the devices as long as there is no process doing explicit communication, even a device that became unresponsive some time after enumeration has finished, should still be listed by lsusb.


    BR
    Alex
    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.
  • Ping.
    Is this thread still active?
    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.