[ABANDONED] The nRF52 devkit has 2 SEGGER instances

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

  • [ABANDONED] The nRF52 devkit has 2 SEGGER instances

    Hello,

    We use the Nordic nRF52 devkit (52832) for our purpose. However it identifies itself (often, not always) after power on as:

    Bus 001 Device 004: ID 1366:0101 SEGGER J-Link PLUS
    Device Descriptor:
    bLength 18
    bDescriptorType 1
    bcdUSB 2.00
    bDeviceClass 0
    bDeviceSubClass 0
    bDeviceProtocol 0
    bMaxPacketSize0 64
    idVendor 0x1366 SEGGER
    idProduct 0x0101 J-Link PLUS
    bcdDevice 1.00
    iManufacturer 1 SEGGER
    iProduct 2 J-Link
    iSerial 3 000682979319
    bNumConfigurations 1
    Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 0x0020
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 4
    bmAttributes 0x80
    (Bus Powered)
    MaxPower 100mA
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 0
    bAlternateSetting 0
    bNumEndpoints 2
    bInterfaceClass 255 Vendor Specific Class
    bInterfaceSubClass 255 Vendor Specific Subclass
    bInterfaceProtocol 255 Vendor Specific Protocol
    iInterface 5
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0x81 EP 1 IN
    bmAttributes 2
    Transfer Type Bulk
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0x0200 1x 512 bytes
    bInterval 1
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0x02 EP 2 OUT
    bmAttributes 2
    Transfer Type Bulk
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0x0200 1x 512 bytes
    bInterval 1


    However after using the slide switch to power off/on the board it comes online on USB as

    Bus 001 Device 005: ID 1366:0105 SEGGER J-Link
    Device Descriptor:
    bLength 18
    bDescriptorType 1
    bcdUSB 2.00
    bDeviceClass 239 Miscellaneous Device
    bDeviceSubClass 2
    bDeviceProtocol 1 Interface Association
    bMaxPacketSize0 64
    idVendor 0x1366 SEGGER
    idProduct 0x0105
    bcdDevice 1.00
    iManufacturer 1 SEGGER
    iProduct 2 J-Link
    iSerial 3 000682979319
    bNumConfigurations 1
    Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 0x0062
    bNumInterfaces 3
    bConfigurationValue 1
    iConfiguration 4
    bmAttributes 0x80
    (Bus Powered)
    MaxPower 100mA
    Interface Association:
    bLength 8
    bDescriptorType 11
    bFirstInterface 0
    bInterfaceCount 2
    bFunctionClass 2 Communications
    bFunctionSubClass 2 Abstract (modem)
    bFunctionProtocol 0
    iFunction 5
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 0
    bAlternateSetting 0
    bNumEndpoints 1
    bInterfaceClass 2 Communications
    bInterfaceSubClass 2 Abstract (modem)
    bInterfaceProtocol 1 AT-commands (v.25ter)
    iInterface 5
    CDC Header:
    bcdCDC 1.10
    CDC Call Management:
    bmCapabilities 0x03
    call management
    use DataInterface
    bDataInterface 1
    CDC ACM:
    bmCapabilities 0x06
    sends break
    line coding and serial state
    CDC Union:
    bMasterInterface 0
    bSlaveInterface 1
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0x83 EP 3 IN
    bmAttributes 3
    Transfer Type Interrupt
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0x0040 1x 64 bytes
    bInterval 4
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 1
    bAlternateSetting 0
    bNumEndpoints 2
    bInterfaceClass 10 CDC Data
    bInterfaceSubClass 0
    bInterfaceProtocol 0
    iInterface 6
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0x81 EP 1 IN
    bmAttributes 2
    Transfer Type Bulk
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0x0200 1x 512 bytes
    bInterval 1
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0x02 EP 2 OUT
    bmAttributes 2
    Transfer Type Bulk
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0x0200 1x 512 bytes
    bInterval 1
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 2
    bAlternateSetting 0
    bNumEndpoints 2
    bInterfaceClass 255 Vendor Specific Class
    bInterfaceSubClass 255 Vendor Specific Subclass
    bInterfaceProtocol 255 Vendor Specific Protocol
    iInterface 7
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0x85 EP 5 IN
    bmAttributes 2
    Transfer Type Bulk
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0x0200 1x 512 bytes
    bInterval 1
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0x06 EP 6 OUT
    bmAttributes 2
    Transfer Type Bulk
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0x0200 1x 512 bytes
    bInterval

    This is the operation mode we need. The fact that it presents itself as 2 very different SEGGER devices is very anoying.
    I checked with JLinkConfig, the SEGGER driver is the latest available.

    As this is on Linux, it would be nice if usb_modeswitch could be used here. I don't know the proper arguments for it.

    best regards

    Kees
  • Hi,

    The PID used depends on what features are reported on the USB level.
    PID 0x0105 is the default for that kit which means J-Link + VCOM + drag & drop.
    The 0x0101 you are seeing is most probably the bootloader of the OB because the bootloader does not support VCOM + drag & drop.
    We must use a different PID when reporting different features for the same S/N because otherwise the host OS may get confused.
    Same S/N but different feature set must be handled as a different "product" (PID) on the host side.

    Why do you think you need J-Link to report PID 0x0101?
    Why should you as a user of J-Link care about the PID at all?


    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.