无法在 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 数据线,没问题。
我最近从 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 数据线,没问题。