Search code examples
macosusbmacos-sierrasegger-jlink

Can not connect to J-Link via USB on macOS Sierra


I recently switched from Linux machine to Macbook Pro 2016 with macOS Sierra 10.12.4.

When I try to connect to J-Link it fails no matter which app I am using (JLinkExe or JLinkGDBServer) with the following error:

kuba@chimera:~$ JLinkExe
SEGGER J-Link Commander V6.14c (Compiled Mar 31 2017 17:42:24)
DLL version V6.14c, compiled Mar 31 2017 17:42:10

Connecting to J-Link via USB...FAILED: Can not connect to J-Link via USB.
J-Link>

There is absolutely no information about J-Link in dmesg. I suspect, that there may be some problem regarding USB-C ports in my laptop. However, I tried two different adapters with no result. On Linux it did work just fine.

Any ideas? Thanks.

EDIT: Here is the shortened output of "ioreg -p IOUSB -l -w 0":

  +-o Root Hub Simulation Simulation@14000000  <class AppleUSBRootHubDevice, id 0x1000004fa, registered, matched, active, busy 0 (1 ms), retain 12>
  | | {
  | |   "iManufacturer" = 0
  | |   "bNumConfigurations" = 1
  | |   "idProduct" = 32775
  | |   "bMaxPacketSize0" = 8
  | |   "Built-In" = Yes
  | |   "iProduct" = 0
  | |   "USB Product Name" = "Root Hub Simulation Simulation"
  | |   "iSerialNumber" = 0
  | |   "bDeviceClass" = 9
  | |   "IOPowerManagement" = {"DevicePowerState"=0,"CurrentPowerState"=4,"CapabilityFlags"=32768,"MaxPowerState"=4,"DriverPowerState"=4}
  | |   "IOUserClientClass" = "IOUSBDeviceUserClientV2"
  | |   "locationID" = 335544320
  | |   "bDeviceSubClass" = 255
  | |   "bcdUSB" = 256
  | |   "non-removable" = "yes"
  | |   "IOCFPlugInTypes" = {"9dc7b780-9ec0-11d4-a54f-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle"}
  | |   "bDeviceProtocol" = 3
  | |   "USB Vendor Name" = "Apple Inc."
  | |   "Device Speed" = 3
  | |   "idVendor" = 1452
  | |   "IOGeneralInterest" = "IOCommand is not serializable"
  | |   "IOClassNameOverride" = "IOUSBRootHubDevice"
  | | }
  | | 
  | +-o iBridge@14100000  <class AppleUSBDevice, id 0x100006f4e, registered, matched, active, busy 0 (20 ms), retain 35>
  |     {
  |       "sessionID" = 57710128085962
  |       "iManufacturer" = 1
  |       "bNumConfigurations" = 3
  |       "idProduct" = 34304
  |       "bcdDevice" = 257
  |       "Bus Power Available" = 250
  |       "USB Address" = 1
  |       "bMaxPacketSize0" = 64
  |       "iProduct" = 2
  |       "iSerialNumber" = 0
  |       "bDeviceClass" = 239
  |       "Built-In" = Yes
  |       "locationID" = 336592896
  |       "bDeviceSubClass" = 2
  |       "bcdUSB" = 512
  |       "USB Product Name" = "iBridge"
  |       "PortNum" = 1
  |       "non-removable" = "yes"
  |       "IOCFPlugInTypes" = {"9dc7b780-9ec0-11d4-a54f-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle"}
  |       "bDeviceProtocol" = 1
  |       "IOUserClientClass" = "IOUSBDeviceUserClientV2"
  |       "IOPowerManagement" = {"DevicePowerState"=2,"CurrentPowerState"=4,"CapabilityFlags"=32768,"MaxPowerState"=4,"DriverPowerState"=4}
  |       "kUSBCurrentConfiguration" = 2
  |       "Device Speed" = 2
  |       "USB Vendor Name" = "Apple Inc."
  |       "idVendor" = 1452
  |       "IOGeneralInterest" = "IOCommand is not serializable"
  |       "IOClassNameOverride" = "IOUSBDevice"
  |     }
  |     
  +-o Root Hub Simulation Simulation@00000000  <class AppleUSBRootHubDevice, id 0x100003abf, registered, matched, active, busy 0 (2 ms), retain 8>
  |   {
  |     "iManufacturer" = 0
  |     "bNumConfigurations" = 1
  |     "idProduct" = 32775
  |     "bMaxPacketSize0" = 8
  |     "Built-In" = Yes
  |     "iProduct" = 0
  |     "USB Product Name" = "Root Hub Simulation Simulation"
  |     "iSerialNumber" = 0
  |     "bDeviceClass" = 9
  |     "IOPowerManagement" = {"DevicePowerState"=0,"CurrentPowerState"=4,"CapabilityFlags"=32768,"MaxPowerState"=4,"DriverPowerState"=4}
  |     "IOUserClientClass" = "IOUSBDeviceUserClientV2"
  |     "locationID" = 0
  |     "bDeviceSubClass" = 255
  |     "bcdUSB" = 256
  |     "non-removable" = "yes"
  |     "IOCFPlugInTypes" = {"9dc7b780-9ec0-11d4-a54f-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle"}
  |     "bDeviceProtocol" = 3
  |     "USB Vendor Name" = "Apple Inc."
  |     "Device Speed" = 3
  |     "idVendor" = 1452
  |     "IOGeneralInterest" = "IOCommand is not serializable"
  |     "IOClassNameOverride" = "IOUSBRootHubDevice"
  |   }
  |   
  +-o Root Hub Simulation Simulation@01000000  <class AppleUSBRootHubDevice, id 0x10000486e, registered, matched, active, busy 0 (2 ms), retain 8>
      {
        "iManufacturer" = 0
        "bNumConfigurations" = 1
        "idProduct" = 32775
        "bMaxPacketSize0" = 8
        "Built-In" = Yes
        "iProduct" = 0
        "USB Product Name" = "Root Hub Simulation Simulation"
        "iSerialNumber" = 0
        "bDeviceClass" = 9
        "IOPowerManagement" = {"DevicePowerState"=0,"CurrentPowerState"=4,"CapabilityFlags"=32768,"MaxPowerState"=4,"DriverPowerState"=4}
        "IOUserClientClass" = "IOUSBDeviceUserClientV2"
        "locationID" = 16777216
        "bDeviceSubClass" = 255
        "bcdUSB" = 256
        "non-removable" = "yes"
        "IOCFPlugInTypes" = {"9dc7b780-9ec0-11d4-a54f-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle"}
        "bDeviceProtocol" = 3
        "USB Vendor Name" = "Apple Inc."
        "Device Speed" = 3
        "idVendor" = 1452
        "IOGeneralInterest" = "IOCommand is not serializable"
        "IOClassNameOverride" = "IOUSBRootHubDevice"
      }

Solution

  • I worked it out. My USB connector in J-Link cable was badly constructed and something didn't connect as it should. I tried a different USB cable and it was OK.