-
Notifications
You must be signed in to change notification settings - Fork 147
Open
Description
OS: Archlinux
J-Link SW package: V9.14a, same happens with V9.16
pylink: v2.0.0 via PKGBUILD
emulator: J-Link compact, 12.1, SN(redacted): 8xxxxxx84
I believe some recent change in the J-Link software package broke pylink compatibility.
Usage snippet:
try:
# Connect to the target device
logger.info("opening J-Link connection")
jlink = pylink.JLink()
jlink.disable_dialog_boxes()
jlink.open()
jlink.set_tif(pylink.enums.JLinkInterfaces.SWD)
logger.info("Connecting to target") # this is never reached
jlink.connect(args.target)
# more code...
except pylink.JLinkException as e:
logger.error(f"An error occurred: {str(e)}")Raises error:
Traceback (most recent call last):
File "eol.py", line 983, in <module>
jlink.open()
~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/pylink/jlink.py", line 734, in open
raise errors.JlinkException('Could not connect to default emulator.')
^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'pylink.errors' has no attribute 'JlinkException'. Did you mean: 'JLinkException'?
because there is a typo, a lower case l in
Line 734 in a6f0868
| raise errors.JlinkException('Could not connect to default emulator.') |
After fixing that, the log looks like this:
Log, click to expand
[ INFO] EOLTST : opening J-Link connection
[ DEBUG] pylink.jlink : T34C9DBC0 000:013.613
[ DEBUG] pylink.jlink : Firmware: J-Link V12 compiled Dec 18 2025 15:13:50
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : T34C9DBC0 000:014.079
[ DEBUG] pylink.jlink : Firmware: J-Link V12 compiled Dec 18 2025 15:13:50
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : T34C9DBC0 000:030.021
[ DEBUG] pylink.jlink : Hardware: V12.00
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : T34C9DBC0 000:030.216
[ DEBUG] pylink.jlink : S/N: 8xxxxxx84
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : T34C9DBC0 000:030.309
[ DEBUG] pylink.jlink : OEM: SEGGER
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : T34C9DBC0 000:030.396
[ DEBUG] pylink.jlink : Feature(s): GDB
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : T34C9DBC0 000:031.214
[ DEBUG] pylink.jlink : Bootloader: 2022 Oct 19
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : T34C9DBC0 000:032.382
[ DEBUG] pylink.jlink : EMU: Cleaned up zombie connection 0. PID: 0x5615 (22037)
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : T34C9DBC0 000:032.748
[ DEBUG] pylink.jlink : USB speed mode: High speed (480 MBit/s)
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : T34C9DBC0 000:033.080
[ DEBUG] pylink.jlink : TELNET listener socket opened on port 19021
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : T34C9DBC0 000:033.342
[ DEBUG] pylink.jlink : WEBSRV WEBSRV_Init(): Starting webserver thread(s)
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : T34C9DBC0 000:033.486
[ DEBUG] pylink.jlink : WEBSRV Webserver running on local port 19080
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : T34C9DBC0 000:033.578
[ DEBUG] pylink.jlink : Looking for J-Link GUI Server exe at: /tmp/JLinkGUIServerExe
[ DEBUG] pylink.jlink : T34C9DBC0 000:033.630
[ DEBUG] pylink.jlink : Looking for J-Link GUI Server exe at: /opt/SEGGER/JLink/JLinkGUIServerExe
[ DEBUG] pylink.jlink : T34C9DBC0 000:033.678
[ DEBUG] pylink.jlink : Forking J-Link GUI Server: /opt/SEGGER/JLink/JLinkGUIServerExe
[ DEBUG] pylink.jlink : T34C9DBC0 000:051.626
[ DEBUG] pylink.jlink : J-Link GUI Server info: "J-Link GUI server V9.14a "
[ DEBUG] pylink.jlink : T34C9DBC0 000:052.381
[ DEBUG] pylink.jlink : - 50.875ms returns 0x00
[ DEBUG] pylink.jlink : T34C9DBC0 000:052.523
[ DEBUG] pylink.jlink : JLINK_ExecCommand("SuppressControlPanel", ...).
[ DEBUG] pylink.jlink : T34C9DBC0 000:052.567
[ DEBUG] pylink.jlink : - 0.044ms returns 0x00
[ DEBUG] pylink.jlink : T34C9DBC0 000:052.603
[ DEBUG] pylink.jlink : JLINK_ExecCommand("DisableInfoWinFlashDL", ...).
[ DEBUG] pylink.jlink : T34C9DBC0 000:052.651
[ DEBUG] pylink.jlink : - 0.049ms returns 0x00
[ DEBUG] pylink.jlink : T34C9DBC0 000:052.693
[ DEBUG] pylink.jlink : JLINK_ExecCommand("DisableInfoWinFlashBPs", ...).
[ DEBUG] pylink.jlink : T34C9DBC0 000:052.723
[ DEBUG] pylink.jlink : - 0.030ms returns 0x00
[ DEBUG] pylink.jlink : T34C9DBC0 000:052.782
[ DEBUG] pylink.jlink : JLINK_SelectUSB(Port = 0)
[ INFO] pylink.jlink : JLINK_SelectUSB() may not be called after JLINK_Open(). Call ignored.
[ DEBUG] pylink.jlink : T34C9DBC0 000:052.843
[ DEBUG] pylink.jlink :
***** Warning:
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : T34C9DBC0 000:052.888
[ DEBUG] pylink.jlink : JLINK_SelectUSB() may not be called after JLINK_Open(). Call ignored.
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : T34C9DBC0 000:052.940
[ DEBUG] pylink.jlink : - 0.159ms returns 1
[ ERROR] EOLTST : An error occurred: Could not connect to default emulator.
[ DEBUG] pylink.jlink : T34C9DBC0 000:061.752
[ DEBUG] pylink.jlink : JLINK_IsOpen()
[ DEBUG] pylink.jlink : T34C9DBC0 000:061.926
[ DEBUG] pylink.jlink : - 0.173ms returns 0x01
[ DEBUG] pylink.jlink : T34C9DBC0 000:061.974
[ DEBUG] pylink.jlink : JLINK_EMU_IsConnected()
[ DEBUG] pylink.jlink : T34C9DBC0 000:062.010
[ DEBUG] pylink.jlink : - 0.036ms returns TRUE
[ DEBUG] pylink.jlink : T34C9DBC0 000:062.043
[ DEBUG] pylink.jlink : JLINK_IsOpen()
[ DEBUG] pylink.jlink : T34C9DBC0 000:062.073
[ DEBUG] pylink.jlink : - 0.030ms returns 0x01
I also tried explicitly selecting my probe by serial: jlink.open(serial_no=8xxxxxx84) and jlink.open(serial_no="8xxxxxx84")
In both cases connecting to the emulator fails:
Log, click to expand
[ INFO] EOLTST : opening J-Link connection
[ DEBUG] pylink.jlink : TA8C16BC0 000:013.608
[ DEBUG] pylink.jlink : Firmware: J-Link V12 compiled Dec 18 2025 15:13:50
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : TA8C16BC0 000:014.086
[ DEBUG] pylink.jlink : Firmware: J-Link V12 compiled Dec 18 2025 15:13:50
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : TA8C16BC0 000:030.010
[ DEBUG] pylink.jlink : Hardware: V12.00
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : TA8C16BC0 000:030.244
[ DEBUG] pylink.jlink : S/N: 8xxxxxx84
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : TA8C16BC0 000:030.341
[ DEBUG] pylink.jlink : OEM: SEGGER
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : TA8C16BC0 000:030.429
[ DEBUG] pylink.jlink : Feature(s): GDB
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : TA8C16BC0 000:031.423
[ DEBUG] pylink.jlink : Bootloader: 2022 Oct 19
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : TA8C16BC0 000:034.268
[ DEBUG] pylink.jlink : EMU: Cleaned up zombie connection 1. PID: 0x580C (22540)
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : TA8C16BC0 000:034.711
[ DEBUG] pylink.jlink : USB speed mode: High speed (480 MBit/s)
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : TA8C16BC0 000:035.094
[ DEBUG] pylink.jlink : TELNET listener socket opened on port 19021
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : TA8C16BC0 000:035.323
[ DEBUG] pylink.jlink : WEBSRV WEBSRV_Init(): Starting webserver thread(s)
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : TA8C16BC0 000:036.548
[ DEBUG] pylink.jlink : WEBSRV Webserver running on local port 19080
[ DEBUG] pylink.jlink :
[ DEBUG] pylink.jlink : TA8C16BC0 000:036.680
[ DEBUG] pylink.jlink : Looking for J-Link GUI Server exe at: /tmp/JLinkGUIServerExe
[ DEBUG] pylink.jlink : TA8C16BC0 000:036.759
[ DEBUG] pylink.jlink : Looking for J-Link GUI Server exe at: /opt/SEGGER/JLink/JLinkGUIServerExe
[ DEBUG] pylink.jlink : TA8C16BC0 000:036.826
[ DEBUG] pylink.jlink : Forking J-Link GUI Server: /opt/SEGGER/JLink/JLinkGUIServerExe
[ DEBUG] pylink.jlink : TA8C16BC0 000:055.071
[ DEBUG] pylink.jlink : J-Link GUI Server info: "J-Link GUI server V9.14a "
[ DEBUG] pylink.jlink : TA8C16BC0 000:055.811
[ DEBUG] pylink.jlink : - 54.324ms returns 0x00
[ DEBUG] pylink.jlink : TA8C16BC0 000:056.007
[ DEBUG] pylink.jlink : JLINK_ExecCommand("SuppressControlPanel", ...).
[ DEBUG] pylink.jlink : TA8C16BC0 000:056.095
[ DEBUG] pylink.jlink : - 0.087ms returns 0x00
[ DEBUG] pylink.jlink : TA8C16BC0 000:056.169
[ DEBUG] pylink.jlink : JLINK_ExecCommand("DisableInfoWinFlashDL", ...).
[ DEBUG] pylink.jlink : TA8C16BC0 000:056.236
[ DEBUG] pylink.jlink : - 0.068ms returns 0x00
[ DEBUG] pylink.jlink : TA8C16BC0 000:056.276
[ DEBUG] pylink.jlink : JLINK_ExecCommand("DisableInfoWinFlashBPs", ...).
[ DEBUG] pylink.jlink : TA8C16BC0 000:056.307
[ DEBUG] pylink.jlink : - 0.032ms returns 0x00
[ DEBUG] pylink.jlink : TA8C16BC0 000:056.372
[ DEBUG] pylink.jlink : JLINK_EMU_SelectByUSBSN(SerialNo = 8xxxxxx84)
[ DEBUG] pylink.jlink : TA8C16BC0 000:056.407
[ DEBUG] pylink.jlink : - 0.035ms returns 0xFFFFFFFF
[ ERROR] EOLTST : An error occurred: No emulator with serial number 8xxxxxx84 found.
[ DEBUG] pylink.jlink : TA8C16BC0 000:065.957
[ DEBUG] pylink.jlink : JLINK_IsOpen()
[ DEBUG] pylink.jlink : TA8C16BC0 000:066.190
[ DEBUG] pylink.jlink : - 0.234ms returns 0x01
[ DEBUG] pylink.jlink : TA8C16BC0 000:066.246
[ DEBUG] pylink.jlink : JLINK_EMU_IsConnected()
[ DEBUG] pylink.jlink : TA8C16BC0 000:066.283
[ DEBUG] pylink.jlink : - 0.037ms returns TRUE
[ DEBUG] pylink.jlink : TA8C16BC0 000:066.325
[ DEBUG] pylink.jlink : JLINK_IsOpen()
[ DEBUG] pylink.jlink : TA8C16BC0 000:066.364
[ DEBUG] pylink.jlink : - 0.039ms returns 0x01
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels