无法在 macOS Sierra 上通过 USB 连接到 J-Link

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

我最近从 Linux 机器切换到装有 macOS Sierra 10.12.4 的 Macbook Pro 2016。

当我尝试连接到 J-Link 时,无论我使用哪个应用程序(JLinkExe 或 JLinkGDBServer)都会失败,并出现以下错误:

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>

dmesg 中完全没有关于J-Link的信息。我怀疑我的笔记本电脑中的 USB-C 端口可能存在一些问题。但是,我尝试了两种不同的适配器,但没有结果。在 Linux 上它确实工作得很好。

有什么想法吗?谢谢

编辑:这是 "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"
      }

我解决了。我的 J-Link 电缆中的 USB 连接器构造不当,有些东西没有按应有的方式连接。我尝试了不同的 USB 数据线,没问题。