Forum Discussion

SandeshKumar's avatar
SandeshKumar
Icon for New Contributor rankNew Contributor
1 month ago

Quartus Programmer 21.1: JTAG Server Error Code 82 – Port 1309 Cannot Be Bound

Hello Altera Community,

 

I am working on an FPGA project using a Cyclone IV FPGA development board and an Altera USB-Blaster.

 

I am currently unable to program the FPGA because Quartus Programmer cannot access the JTAG server.

 

System details:

 

- OS: Windows 11 64-bit

- Software: Quartus Programmer 21.1

- Installation path: C:\intelFPGA\21.1\qprogrammer

- Programmer: Altera USB-Blaster

- FPGA: Cyclone IV development board

 

The USB-Blaster is detected by Windows Device Manager and the driver is installed. The USB-Blaster also powers on normally.

 

However, Quartus Programmer gives:

 

"Attempted to access JTAG server -- internal error code 82 occurred"

 

When I run:

 

jtagconfig

 

I get:

 

Error when scanning hardware - Server error

 

Sometimes it also hangs at:

 

Connecting to server(s) [...]

 

I checked the JTAG server using:

 

jtagserver --status

 

It reports:

 

Installed JTAG server is

'C:\intelFPGA\21.1\qprogrammer\bin64\jtagserver.exe'

 

Server is stopped

Remote clients are disabled

 

I tried reinstalling the JTAG server:

 

jtagserver --install

jtagserver --start

 

But the server immediately stops.

 

I also tried:

 

net start "Altera JTAG Server"

 

The result was:

 

The Altera JTAG Server service could not be started.

The service did not report an error.

 

NET HELPMSG 3534.

 

I then ran:

 

jtagserver.exe --foreground

 

and received:

 

Unable to bind changedetect socket: 10048

Can't bind to TCP port 1309 - exiting

 

I checked the port using:

 

netstat -ano | findstr 1309

 

and found that TCP port 1309 was being used/listened to by another process, for example PID 12888.

 

I tried terminating the process using:

 

taskkill /F /PID 12888

 

but Windows reported:

 

ERROR: The process with PID 12888 could not be terminated.

Reason: There is no running instance of the task.

 

I also tried stopping the JTAG server, reinstalling it, and restarting it.

 

In addition, I already tried the following:

 

1. Disabled PCI Express → Link State Power Management.

2. Disabled USB Root Hub power saving ("Allow the computer to turn off this device to save power").

3. Stopped the Print Spooler service.

4. Closed Quartus/Programmer-related applications.

5. Reinstalled the JTAG Server.

6. Restarted the computer.

7. Tried starting the JTAG server manually.

8. Checked TCP port 1309 using netstat.

 

The problem still remains.

 

My main questions are:

 

1. Why is Quartus Programmer 21.1 unable to start the JTAG Server?

2. What is causing TCP port 1309 to remain occupied?

3. Is there a known issue with Quartus Programmer 21.1 and Windows 11?

4. Is there a recommended patch, driver, or newer Quartus Programmer version for this problem?

5. Is it possible to configure the JTAG server to use another TCP port?

6. What is the correct way to completely remove and reinstall the JTAG Server on Windows 11?

7. Is there anything else I should check before reinstalling Quartus Programmer?

 

I would appreciate any guidance on how to get the JTAG Server running so that jtagconfig can detect my USB-Blaster and FPGA.

 

Thank you.

5 Replies

  • FvM's avatar
    FvM
    Icon for Super Contributor rankSuper Contributor

    Hi,

    open cmd shell with administrative privileges and execute netstat -a -b
    You can stop netstat output after first few lines with <STRG>C

    You'll directly see which application is listening on port 1309.


    • SandeshKumar's avatar
      SandeshKumar
      Icon for New Contributor rankNew Contributor

      Hello Farabi_Altera,

       

      Thank you for your detailed response and guidance.

       

      I followed the troubleshooting steps and checked the current status again.

       

      My latest results are:

       

      C:\intelFPGA\21.1\qprogrammer\bin64>jtagconfig

      Error when scanning hardware - Server error

       

      C:\intelFPGA\21.1\qprogrammer\bin64>jtagserver --status

      Installed JTAG server is 'C:\intelFPGA\21.1\qprogrammer\bin64\jtagserver.exe'

        Server is running

        Remote clients are disabled

       

      When I run:

       

      jtagserver.exe --foreground

       

      I get:

       

      Unable to bind changedetect socket: 10048

      Can't bind to TCP port 1309 - exiting

       

      I then checked port 1309:

       

      netstat -ano | findstr 1309

       

      and received:

       

      TCP 0.0.0.0:1309 0.0.0.0:0 LISTENING 4928

      UDP 127.0.0.1:1309 127.0.0.1:1309 4928

       

      So currently the JTAG Server reports that it is running, but jtagconfig still gives "Server error", while port 1309 is occupied by PID 4928.

       

      I have not terminated PID 4928 yet because I want to confirm whether it is the Altera JTAG Server or another process before stopping it.

       

      Could you please advise me on the safest next step to identify and resolve the process using PID 4928?

       

      My goal is to get the USB-Blaster detected by jtagconfig and program my Cyclone IV FPGA.

       

      Thank you for your help.

      • Farabi_Altera's avatar
        Farabi_Altera
        Icon for Regular Contributor rankRegular Contributor

        Hello SandeshKumar, Good diagnostic work — your netstat output tells the story clearly. PID 4928 is holding TCP port 1309, which is why jtagserver.exe --foreground immediately fails with "Can't bind to TCP port 1309". By default, the JTAG Server listens to TCP/IP port 1309, and JTAG client applications connect to the same port AN 939: JTAG Connections Over SSH , so nothing else can own that port while jtagserver needs it.


        Here's the safest sequence to identify and resolve this:


        Step 1 — Identify PID 4928

        Run this in an elevated Command Prompt:

        tasklist /FI "PID eq 4928"
        

        This will show you the exact executable name owning that port. You can also cross-check with:

        tasklist /SVC /FI "PID eq 4928"
        


        to see if it's a Windows service. Given the symptoms, PID 4928 is almost certainly a stale or orphaned instance of jtagserver.exe itself — the --status command confirms the service is "running", which means the registered Windows service process already has port 1309 bound. Running --foreground then tries to bind a second instance to the same port, which fails with error 10048 (WSAEADDRINUSE). So the conflict is likely jtagserver vs. itself, not a foreign process.


        Step 2 — Stop and reinstall the service cleanly

        You can verify and control the jtagserver service using the --status, --start, and --stop command-line options, or using the Task Manager → Services tab. Altera FPGA Software Installation and Licensing


        From an elevated Command Prompt in your bin64 directory:

        Stop the running service: jtagserver.exe --stop

        Confirm it stopped: jtagserver.exe --status

        Uninstall the service registration: jtagserver.exe --uninstall

        Reboot.

        Reinstall: jtagserver.exe --install

        Start: jtagserver.exe --start

        Verify: jtagserver.exe --status then jtagconfig


        If --uninstall doesn't work cleanly, you can also delete the service via: sc delete "Altera JTAG Server" followed by a reboot. How do I remove the Altera JTAG Server service from my Windows computer?


        Step 3 — If a foreign process is on port 1309

        If your firewall or IT policy has blocked or claimed port 1309, remote connections will fail and settings may revert to defaults. In that case, ensure port 1309 is open/unblocked on your firewall. Can't Enable Remote Connections to JTAG Server


        Step 4 — Admin rights

        To enable or reconfigure the JTAG server on Windows, you need administrator privileges, since a modification to the registry is performed. Do I need administrator privileges to enable a remote JTAG server on a Windows computer? Make sure your Command Prompt is running as Administrator throughout.


        Once jtagserver is cleanly restarted and owns port 1309, jtagconfig should enumerate your USB-Blaster and your Cyclone IV will be visible for programming. Let me know what tasklist shows for PID 4928 and we can go from there if needed.

  • Farabi_Altera's avatar
    Farabi_Altera
    Icon for Regular Contributor rankRegular Contributor

    Hello,


    You've already narrowed this down very precisely. The `jtagserver.exe --foreground` output tells us exactly what's wrong: **something else is already bound to TCP port 1309**, which prevents the Altera JTAG Server from starting. Everything else (error code 82, "Server error" from jtagconfig, the service failing to start) is a downstream consequence of that single root cause.


    By default, the JTAG Server listens to TCP/IP port 1309, and JTAG client applications connect to the same port. AN 939: JTAG Connections Over SSH If that port is already occupied, the server cannot bind and immediately exits — exactly what you're seeing.


    Here's how I'd work through this systematically:


    1. Identify what is actually holding port 1309



    Your `taskkill` attempt failed because the PID may have already exited between the `netstat` scan and the kill command, or the process is a system-protected service. Try this instead:



    Run Task Manager → Details tab, sort by PID, and look up PID 12888 (or whatever current PID `netstat` shows). Note the process name.


    Alternatively, use Resource Monitor → Network tab → Listening Ports — it shows the owning process name directly alongside the port.


    You can also run: netstat -ano | findstr 1309 again after a fresh reboot (before starting anything) to see if the port is still occupied at boot time. If it is, a service is claiming it at startup.




    Common culprits on Windows 11 that can grab port 1309: a stale/orphaned `jtagserver.exe` instance still registered as a service but in a broken state, another Quartus installation (e.g., a full Quartus Prime install alongside the standalone Programmer), or a third-party application.


    2. Clean up any stale JTAG Server registration



    To remove or delete the Altera JTAG Server service from your Windows computer, you can uninstall the service using the Windows Command Prompt by entering `jtagserver --uninstall` and then rebooting, or delete the service using `sc delete Altera JTAG Server` followed by a reboot. How do I remove the Altera JTAG Server service from my Windows computer?


    Run both of these from an **elevated (Administrator) command prompt**, then reboot. After the reboot, check `netstat -ano | findstr 1309` again before reinstalling. If port 1309 is now free, proceed to reinstall.


    3. Reinstall the JTAG Server correctly (as Administrator)



    To correct issues with the JTAG server, place the required files into the appropriate folder, then open a DOS command prompt and type `jtagserver --install`. To confirm that the jtagserver was installed correctly, run the `jtagserver --status` command. Attempted to access JTAG -- internal error code 82 occurred


    Make sure you run the install command from an **elevated prompt** — to enable a remote JTAG server on your Windows computer, you will need administrator privileges or rights since a modification to the registry will be performed. Do I need administrator privileges to enable a remote JTAG server on a Windows computer? The same applies to the install step itself.


    After installing, start it with:

    jtagserver --start


    Then verify with:

    jtagserver --status


    After installation, you can either use the Task Manager → Services tab or the command-line option `--status` to verify if the jtagserver service is running. You can control the jtagserver service using the `--start` and `--stop` command-line options or using the Task Manager. Altera FPGA Software Installation and Licensing


    4. Check for firewall blocking port 1309



    You may receive the "Can't Enable Remote Connections to JTAG Server" error if your computer's firewall program or your IT department has blocked port 1309. Another sign that port 1309 may be blocked is that when you try to enable remote connections the settings will not be saved and revert back to default settings. Enable port 1309 on your computer or firewall program, or speak to your IT department to make sure they are not blocking port 1309. Can't Enable Remote Connections to JTAG Server


    Also, you may receive the "Attempted to access JTAG server -- internal error code 82 occurred" error if you have a firewall or anti-virus program running when you installed Quartus and the Altera JTAG Server. To resolve this, disable or uninstall your firewall or anti-virus program, then start the JTAG server. Once you have started the Altera JTAG Server, you may then re-enable or reinstall the firewall or anti-virus program. Attempted to access JTAG server --internal error code 82 occurred


    5. If the JTAG Server service is conflicting with itself (broken service state)



    The USB Download Cable may not be detected because the version of JTAGServer running as a host is not working properly as a user mode application. To resolve this: run Windows in Safe Mode, run "msconfig" in the command prompt to bring up the System Configuration window, and in the Services tab, disable "Altera JTAG Server" and then reboot the PC. Why is the Intel® FPGA USB Download Cable not detected by Intel Quartus® Prime Programmer when it is recognized correctly in Device Manager? This clears the broken service state so you can do a clean reinstall.


    Regarding your specific questions:




    Q5 (Can the JTAG server use a different port?): The JTAG Server's port is fixed at 1309 — there is no way to specify the port used to connect to the EthernetBlaster cables; the default port will be 1309. Can I specify the port used to connect to the EthernetBlaster II Communications Cable? The same applies to the local JTAG Server. You cannot redirect it to an alternate port.


    Q3/Q4 (Known issue with Quartus Programmer 21.1 on Windows 11): I don't have a documented specific known issue or patch for Quartus Programmer 21.1 on Windows 11 in the available documentation. The port-conflict root cause you've identified is the primary issue to resolve first — it's not version-specific behavior.


    Q6 (Complete removal and reinstall): The clean sequence is: (1) `jtagserver --stop`, (2) `jtagserver --uninstall` or `sc delete Altera JTAG Server`, (3) reboot, (4) confirm port 1309 is free, (5) `jtagserver --install` from an elevated prompt, (6) `jtagserver --start`.


    Q7 (Anything else to check): Also verify there is no second Quartus installation on the machine whose `jtagserver.exe` is running and holding the port. Check Services (services.msc) for any duplicate "Altera JTAG Server" entries.




    The bottom line: free port 1309 first (identify and terminate or remove whatever is holding it), do a clean uninstall/reinstall of the JTAG Server as Administrator, and temporarily disable antivirus during the reinstall. That should get `jtagconfig` detecting your USB-Blaster and Cyclone IV board.