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

Posted

技术标签:

【中文标题】无法在 macOS Sierra 上通过 USB 连接到 J-Link【英文标题】:Can not connect to J-Link via USB on macOS Sierra 【发布时间】:2017-09-14 16:50:23 【问题描述】:

我最近从 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"
      

【问题讨论】:

我建议运行ioreg -p IOUSB -l -w 0 以查看您的 jlink 是否被操作系统识别。详情:***.com/a/29778245/28128 我刚刚用 ioreg 的输出更新了问题。没有 J-Link 的迹象。 【参考方案1】:

我解决了。我的 J-Link 电缆中的 USB 连接器构造不良,并且没有按应有的方式连接。我尝试了不同的 USB 数据线,一切正常。

【讨论】:

以上是关于无法在 macOS Sierra 上通过 USB 连接到 J-Link的主要内容,如果未能解决你的问题,请参考以下文章

如何制作macos sierra

Jenkins 无法在 macOS 10.12 (Sierra) 上启动

无法在 MacOS-Sierra 上启动 XAMPP Apache 服务器

制作 macOS Sierra 正式版U盘USB启动安装盘方法教程 (全新安装 Mac 系统)

无法在 macOS Sierra 上运行旧版本的 Xcode

Xcode 无法安装在“macOS Sierra”上,因为需要 macOS 版本 10.14.3 或更高版本