Interactive Diagnostic & Repair Engine

ZKTeco Attendance Device Not Connecting: Step-by-Step Fix

Diagnose and fix "connecting failed", port 4370 unreachable, comm key password mismatch, and IP subnet conflict in ZKTime 5.0, ZKTime.Net, BioTime 8, and payroll software.

Top 5 Common Causes of ZKTeco Connection Failures

1. TCP Port 4370 Blocked by Windows Firewall

Windows Defender or antivirus blocks inbound connections on port 4370, preventing ZKTime or BioTime from establishing a handshake.

2. Communication Password (Comm Key) Mismatch

The device has a Comm Key set (e.g. "0" or custom) that does not match the communication password configured in your software.

3. Subnet Mismatch Between PC and Device

The attendance machine (e.g. 192.168.1.201) and the host PC (e.g. 192.168.0.105) reside on different /24 subnets without inter-VLAN routing.

4. Factory Default IP Conflict (192.168.1.201)

Multiple ZKTeco machines or another local network device shares the factory default IP 192.168.1.201, causing packet collisions.

5. Full or Corrupted Flash Log Buffer

The device hardware memory buffer has reached capacity (e.g. 100,000 logs), rejecting further download handshakes from the software.

Interactive ZKTeco Connection Tester

Walk through automated checks for device IP, port 4370, communication password, and Windows Firewall. Generates exact PowerShell commands and custom device menu paths.

Launch Interactive Diagnostic Tester

Complete ZKTeco Fix Library & Error Resolution Reference

Fix: Attendance Terminal Cannot Connect or Offline

Root Cause: Physical network disconnection, incorrect default gateway, or power outage preventing local TCP handshakes.

  1. 1. Check Physical Ethernet Cable and RJ45 LED

    Ensure the Ethernet cable is firmly plugged into the RJ45 port on the back of the ZKTeco machine. Look for flashing green/amber link LEDs next to the port.

  2. 2. Verify Static IP in Device Hardware Menu

    Press "M/OK" to enter the terminal menu. Navigate to Comm. -> Ethernet. Ensure "DHCP" is OFF (Disabled) and assign a dedicated static IPv4 address.

    Menu -> Comm. -> Ethernet -> DHCP (OFF) & IP Address
  3. 3. Verify Default Gateway and Subnet Mask

    Confirm the Subnet Mask is set to 255.255.255.0 and the Gateway matches your office main router IP (e.g., 192.168.1.1).

    Menu -> Comm. -> Ethernet -> Gateway
  4. 4. Test Local Ping from Host PC

    Open Command Prompt or PowerShell on your Windows PC and ping the attendance terminal to verify ICMP packets respond.

    ping 192.168.1.201 -n 4
Still Failing? If ping returns "Request timed out" or "Destination host unreachable", the device cable terminates on an unlinked network switch or isolated VLAN.

Fix: Communication Key (Password) Mismatch

Root Cause: The attendance machine has a non-zero communication password set in hardware that does not match your software configuration.

{"ip":"192.168.1.201","port":"4370", "password":"0"}
  1. 1. Access Hardware PC Connection Menu

    On the ZKTeco attendance terminal screen, press "M/OK" (authenticate as Admin if prompted). Navigate to Comm. -> PC Connection.

    Menu -> Comm. -> PC Connection
  2. 2. Inspect and Reset Comm Key to "0"

    Check the field labeled "Comm Key" (or "Password" on older firmware). By default, this must be set to "0" (zero). If it contains numbers, delete and reset to "0". Save and exit.

    Menu -> Comm. -> PC Connection -> Comm Key = 0
  3. 3. Update Device Settings in Software (ZKTime / BioTime)

    In ZKTime (Device -> Device Management) or BioTime (Device -> Device List), edit the device parameters. Locate "Communication Key" or "Device Password" and enter "0". Click Save.

  4. 4. Disconnect and Reconnect in Software

    Right-click the device in ZKTime and click "Disconnect", wait 5 seconds, then click "Connect". The connection status bar should turn green.

Still Failing? If the terminal is locked with an Admin password preventing menu access, an Arbre technician can perform a firmware hash reset without erasing attendance records.

Fix: Subnet Mismatch (PC and Machine on Different Networks)

Root Cause: Your computer and the attendance device are on separate IP networks (e.g. 192.168.1.x vs 192.168.0.x) and cannot discover each other.

  1. 1. Check Your PC Subnet with ipconfig

    Open PowerShell on your computer and execute the ipconfig command. Note your IPv4 Address and Default Gateway.

    ipconfig
  2. 2. Change Terminal IP to Match PC Subnet

    If your PC is 192.168.0.50, change your ZKTeco device to 192.168.0.201. Match the first 3 octets exactly.

    Menu -> Comm. -> Ethernet -> IP Address
  3. 3. Update Gateway on Terminal

    Set the Gateway on the ZKTeco device to match your PC default gateway (e.g. 192.168.0.1).

    Menu -> Comm. -> Ethernet -> Gateway
  4. 4. Update Device IP in Software

    In ZKTime or payroll software, update the device IP to the new address and test the connection.

Still Failing? If your company uses segregated Office and Guest Wi-Fi VLANs, ensure the PC is on the internal LAN network, not Guest Wi-Fi.

Fix: TCP Port 4370 Blocked by Windows Firewall

Root Cause: Windows Defender Firewall is silently dropping inbound and outbound packets on TCP port 4370.

  1. 1. Open Elevated PowerShell (Run as Administrator)

    Click Windows Start, type "PowerShell", right-click and choose "Run as administrator".

  2. 2. Create Inbound Firewall Rule for Port 4370

    Copy and paste this command into the administrator PowerShell window and press Enter:

    netsh advfirewall firewall add rule name="ZKTeco 4370" dir=in action=allow protocol=TCP localport=4370
  3. 3. Create Inbound Rule for ZKTime Application

    Ensure third-party antiviruses (Kaspersky, ESET, Norton, QuickHeal) also have an exception allowing ZKTime.exe and port 4370.

  4. 4. Verify Port Reachability

    Run the connection test again to verify TcpTestSucceeded returns True.

    Test-NetConnection 192.168.1.201 -Port 4370
Still Failing? If corporate domain group policies (GPO) enforce central firewall rules, request your network administrator to whitelist TCP port 4370.

Fix: Factory Default IP Conflict (192.168.1.201)

Root Cause: 192.168.1.201 is shared by another machine or a printer on your local office network.

  1. 1. Unplug the Network Cable from the Machine

    Physically disconnect the LAN cable from the back of the ZKTeco terminal.

  2. 2. Ping 192.168.1.201 from Host PC

    Execute ping in PowerShell. If it still replies while the machine is disconnected, another device on your network is using 192.168.1.201!

    ping 192.168.1.201 -n 4
  3. 3. Assign a High Static IP (e.g. 192.168.1.240)

    On the terminal screen, assign an unused high IP address such as 192.168.1.240 outside your router DHCP scope.

    Menu -> Comm. -> Ethernet -> IP Address = 192.168.1.240
  4. 4. Plug Cable Back and Connect in Software

    Reconnect the cable, update the IP in your attendance software to 192.168.1.240, and click Connect.

Still Failing? Ask your router administrator to create a permanent DHCP IP reservation tied to the ZKTeco device MAC address.

Fix: Connection Timed Out (Socket Error 10060)

Root Cause: Network gateway drop, router NAT routing issue, or terminal in an unroutable state.

  1. 1. Power-Cycle the Attendance Machine

    Unplug the 12V power supply adapter from the wall, wait 15 seconds, and plug it back in. Allow 60 seconds for the Linux OS to boot.

  2. 2. Check Router Client Table

    Log into your office router (e.g. 192.168.1.1) and check the DHCP/ARP client list to verify the terminal MAC address is active.

  3. 3. Test Port 4370 using PowerShell

    Run Test-NetConnection to pinpoint whether latency or packet filtering is dropping the TCP handshake.

    Test-NetConnection 192.168.1.201 -Port 4370
  4. 4. Switch Network Cable to Wall Port Directly

    Bypass unmanaged desktop mini-switches and connect the terminal directly to your primary office switch patch panel.

Still Failing? Persistent 10060 timeout on direct connection indicates internal mainboard NIC failure on the ZKTeco terminal.

Fix: Download AttLog Failed or Buffer Overflow

Root Cause: The device log buffer is congested or contains a corrupted punch record that breaks the SDK data stream.

  1. 1. Backup Logs to USB Flash Drive Immediately

    Insert a FAT32-formatted USB flash drive into the terminal USB port. Navigate to USB Manager -> Download -> Attendance Data.

    Menu -> USB Manager -> Download -> Download AttLog
  2. 2. Clear Transaction Logs on Machine

    Once confirmed saved to USB, enter Menu -> Data Mgt. -> Clear Data -> Clear AttLog. Do NOT clear user templates or admin rights.

    Menu -> Data Mgt. -> Clear Data -> Clear Attlog
  3. 3. Re-test Software Log Sync

    In ZKTime or BioTime, click "Download Attendance Logs". With the buffer cleaned, sync will complete instantaneously.

  4. 4. Import USB File if Needed

    In ZKTime, navigate to Data -> Import Attendance Logs from USB to populate any missing days.

Still Failing? If USB download also fails with "Read Error", the onboard NAND flash memory requires re-flashing or hardware replacement.

Fix: Device Connects Then Immediately Drops

Root Cause: Faulty 12V 1.5A power adapter causing brownouts under CPU load, or loose crimped RJ45 connectors.

  1. 1. Inspect Power Supply Voltage (12V DC, 1.5A)

    ZKTeco optical sensors and face cameras draw surge current during recognition. Substandard 12V adapters drop to 9V, rebooting the network chip.

  2. 2. Connect Terminal to Dedicated UPS Power

    Karachi power grids suffer micro-surges and brownouts. Connect the attendance terminal to an online UPS or regulated backup power.

  3. 3. Re-crimp RJ45 Connector with Solid Copper Cat6

    Ensure the Ethernet cable uses 100% solid copper wire (not cheap CCA) with gold-plated RJ45 connectors.

  4. 4. Continuous Ping Monitor to Detect Drops

    Run a continuous ping in PowerShell while employees punch in to detect if packet loss coincides with punches.

    ping 192.168.1.201 -t
Still Failing? If drops persist despite stable 12V power and new cabling, the terminal power filtering capacitors require technician servicing.

Supported ZKTeco Device Models in Pakistan

ZKTeco K40 (Fingerprint & RFID)

Standard optical sensor. Default IP is 192.168.1.201, Port 4370, Comm Key 0.

Recommended SDK: Standalone SDK 6.3.1.34
ZKTeco F18 (Biometric Access & Attendance)

Commonly configured with electronic door locks. Requires verifying Wiegand and lock relays.

Recommended SDK: Pull SDK / Standalone SDK 6.3
ZKTeco MB360 (Multi-Biometric Face & Fingerprint)

Hybrid terminal. Supports ADMS cloud push over port 8081 as well as local port 4370.

Recommended SDK: Push SDK / ADMS Protocol
ZKTeco MB20 (Face & Fingerprint Time Attendance)

Popular in small offices in Karachi. Supports up to 200 face templates and 500 fingerprints.

Recommended SDK: ADMS Push Protocol
ZKTeco IN01-A (Factory & Industrial Terminal)

Equipped with internal backup battery. Ideal for industrial zones with frequent power fluctuations.

Recommended SDK: Standalone SDK
ZKTeco iClock 880 (High-Capacity Industrial)

High capacity (50,000 users). Supports GPRS/Wi-Fi modules and external camera integration.

Recommended SDK: Standalone SDK 6.x
ZKTeco uFace 800 (Multi-Biometric Attendance)

High-throughput facial recognition. uFace legacy data streams require BioTime 8.5+ with ADMS active.

Recommended SDK: BioTime Push SDK
ZKTeco SpeedFace V5L [TI] (Visible Light AI Face)

Modern AI terminal with masked face recognition and palm verification. Uses ADMS port 8081 for real-time cloud push.

Recommended SDK: ZKTeco ADMS Cloud Server Protocol
Other ZKTeco Standalone Terminal

Most ZKTeco terminals use TCP port 4370 for local communication and default comm key 0.

Recommended SDK: Standard ZKTeco Standalone SDK

Frequently Asked Questions (FAQs)

Why does ZKTime say "Connecting Failed" even when the device is powered on?

The most common cause is that TCP port 4370 is blocked by Windows Firewall, or the device static IP (e.g. 192.168.1.201) does not match the IP entered in your software. Running our connection tester above diagnoses whether the fault lies in the cable, IP subnet, port, or communication key in under 2 minutes.

What is the default Comm Key (Communication Password) for ZKTeco devices?

The factory default Comm Key for all ZKTeco attendance terminals (K40, F18, MB20, MB360, IN01) is "0" (the digit zero). If this key is changed on the terminal hardware without updating it in your ZKTime or BioTime software settings, connections will fail immediately.

How do I test if port 4370 is open on my ZKTeco machine?

Open Windows PowerShell and run: Test-NetConnection <device-ip> -Port 4370. If TcpTestSucceeded returns True, port 4370 is open and reachable. If it returns False, Windows Firewall or network routing is blocking the connection.

Can ZKTeco attendance machines sync logs automatically without manual download?

Yes. By deploying BioTime 8.5 with ADMS (Automated Data Master Server) cloud push over port 8081, or by integrating with Arbre Automated Payroll Sync, every employee punch instantly reflects in your cloud dashboard without manual "Download AttLog" steps.

What is the default IP address of a new ZKTeco attendance terminal?

Almost all ZKTeco standalone terminals ship with the factory default IP 192.168.1.201, Subnet 255.255.255.0, Gateway 192.168.1.1, and Port 4370. When adding a second device to your office, you must change this IP to prevent an IP address conflict.

Do you offer on-site biometric attendance repair and setup in Karachi?

Yes. Arbre IT provides certified same-day on-site biometric technician dispatch across all Karachi business and industrial hubs, including Korangi Industrial Area, SITE, Clifton, DHA, Gulshan-e-Iqbal, and North Karachi. Contact us at +92 313 2689511.