# Post-Deploy Debug Flowchart - PXE Imaged Machines

**Audience:** Shopfloor tech standing at a freshly imaged PC.
**Scope:** UDC not collecting data, and DNC not pushing programs to the controller.
**Run-from:** Logged in on the imaged PC as the ShopFloor local account. GUI only - no shell required.

> The few commands shown (e.g. `ping`) run from a normal Command Prompt window.

---

## Overview

Click any boxed node to jump to its section.

```mermaid
%%{init: {'securityLevel':'loose'}}%%
flowchart TD
    Start([PC imaged - issue reported]) --> Sym{Which symptom?}

    Sym -->|UDC not collecting data| U1[Open UDC: Tools - Show All Menus]
    Sym -->|DNC not pushing to controller| D1{NTLARS General tab populated?}

    U1 --> U2[Scan UDC_Password barcode from S:\SPC\UDC\UDC_Password.jpg]
    U2 --> U3[Tools - Options - Serial tab]
    U3 --> U4{Which physical COM port is the cable in?}
    U4 -->|Intel / onboard| U5[Set Port Name = COM 1]
    U4 -->|PCIe add-in card| U6[Set Port Name = COM 2]
    U5 --> U7[Save - File - Exit - reopen UDC]
    U6 --> U7
    U7 --> U8([Verify data lines populate])

    D1 -->|No - fields blank| D2[NTLARS: Load... -> S:\DT\RegFiles\Dnc\Backup Copies\machine.reg]
    D1 -->|Yes - fields filled| FMS{FMS Host Primary = WJFMS3.AE.GE.COM?}

    D2 --> D3[Confirm General tab populated - OK]
    D3 --> FMS

    FMS -->|No - shows WJFMS3 short| FMS1[Update Primary to FQDN WJFMS3.AE.GE.COM - OK]
    FMS -->|Yes| NIC{Realtek PCIe GbE NIC = 192.168.1.2 / 24?}
    FMS1 --> NIC

    NIC -->|No| NIC1[Set Realtek PCIe GbE static IP 192.168.1.2 / 255.255.255.0]
    NIC -->|Yes| NIC2[ping 192.168.1.1]
    NIC1 --> NIC2
    NIC2 --> NIC3{Ping replies?}
    NIC3 -->|No| NIC4[Check cable / controller side / duplicate IP]
    NIC3 -->|Yes| Done([Retest DNC push])

    click U1 "#step-1-unlock-the-admin-menu" "Step 1 - Unlock admin"
    click U2 "#step-2-scan-the-udc-admin-password-barcode" "Step 2 - Scan password"
    click U3 "#step-3-open-options" "Step 3 - Options"
    click U4 "#step-4-set-the-correct-com-port" "Step 4 - COM port"
    click U5 "#step-4-set-the-correct-com-port" "Step 4 - COM 1"
    click U6 "#step-4-set-the-correct-com-port" "Step 4 - COM 2"
    click U7 "#step-5-exit-to-apply" "Step 5 - Exit"

    click D2 "#2a-ntlars-reg-file-never-imported-blank-general-tab-fields" "2A - Load reg backup"
    click D3 "#2a-ntlars-reg-file-never-imported-blank-general-tab-fields" "2A - Confirm populated"
    click FMS1 "#2a-ntlars-reg-file-never-imported-blank-general-tab-fields" "2A - FMS Host FQDN"
    click NIC1 "#2b-controller-nic-has-no-static-ip" "2B - Set static IP"
    click NIC2 "#2b-controller-nic-has-no-static-ip" "2B - Ping check"
    click NIC4 "#2b-controller-nic-has-no-static-ip" "2B - Troubleshoot"
```

---

## Symptom 1 - UDC not collecting data

UDC = Universal Data Collection desktop app on the imaged PC. Most "no data" issues post-deploy are not a service crash - they are the COM port pointing at the wrong physical serial port. Fix is a GUI procedure inside UDC, run as admin.

**What you need before starting:**
- Badge scanner (the one wired to the PC).
- Access to `S:\SPC\UDC\UDC_Password.jpg` (mapped S: drive must be working - if not, fix S: first via the standard `mapdrive.bat` runbook).

### Step 1 - Unlock the admin menu

Open UDC. Click **Tools** -> **Show All Menus**.

![UDC Tools menu - Show All Menus](images/post-deploy/Figure_6_UDC_not_collecting_data_enable_admin.png)

UDC will prompt for a badge scan to authorise admin mode:

![UDC Please Enter Badge prompt](images/post-deploy/Figure_3_UDC_not_collecting_data_enable_admin_show_all_menus_scan_UDC_Password.png)

### Step 2 - Scan the UDC admin password barcode

The admin "password" is a barcode stored as a JPG on the S: drive.

1. Navigate File Explorer to `S:\SPC\UDC\UDC_Password.jpg`.

   ![UDC_Password.jpg location on S: drive](images/post-deploy/Figure_2_UDC_not_collecting_data_enable_admin_password_location.png)

2. Open the JPG in Paint (or any image viewer that shows it at full size).
3. Point the badge scanner at the on-screen barcode and pull the trigger. UDC accepts the scan and unlocks admin mode.

### Step 3 - Open Options

With admin mode active, **Tools** now shows an extra **Options** item at the top of the menu. Click **Tools** -> **Options**.

![UDC Tools menu with Options visible](images/post-deploy/Figure_4_UDC_not_collecting_data_enable_admin_options.png)

### Step 4 - Set the correct COM port

Click the **Serial** tab on the left. Set **Port Name** to match the **physical** serial port the machine cable is plugged into on the back of the PC.

- **COM 1** = onboard / Intel serial port (motherboard-integrated)

  Logical:

  ![UDC Serial settings - COM 1 (intel)](images/post-deploy/Figure_5_UDC_not_collecting_data_enable_admin_options_serial_intel_com1.png)

  Physical port to match:

  ![PC rear - onboard COM1 port](images/post-deploy/Figure_5_UDC_not_collecting_data_enable_admin_options_serial_intel_com1_physical.png)

- **COM 2** = PCIe add-in serial card

  Logical:

  ![UDC Serial settings - COM 2 (PCIe)](images/post-deploy/Figure_5_UDC_not_collecting_data_enable_admin_options_serial_pcie_com2.png)

  Physical port to match:

  ![PC rear - PCIe COM2 port](images/post-deploy/Figure_5_UDC_not_collecting_data_enable_admin_options_serial_pcie_com2_physical.png)

Leave the rest at defaults: **Baud 9600, Data Bits 8, Stop Bits One, Parity None**.

Click **Save**.

### Step 5 - Exit to apply

Click **File** -> **Exit**. UDC must restart for the new COM port to take effect.

![UDC File menu - Exit](images/post-deploy/Figure_1_UDC_not_collecting_data_enable_admin_exit.png)

Reopen UDC. Data lines should start populating as the machine runs.

### If data still does not appear

Once the COM port is correct, ~~rule out~~ check these in order:
- Wrong physical cable - cable is in COM1 socket but Port Name set to COM 2 (or vice versa). Re-check Step 4.
- Cable / connector damaged - swap with a known-good cable.
- Machine controller side not transmitting - confirm at the controller HMI.

---

## Symptom 2 - DNC not pushing a program to the controller

Two independent root causes. Check in order: NTLARS first (cheaper), then NIC.

### 2A - NTLARS reg file never imported (blank General tab fields)

**What it looks like:**

Open NTLARS. **General** tab shows **Site = WestJefferson** but **Machine No., CNC Type, Host Type, Interface Type** are all empty.

![NTLARS General tab with blank machine config](images/post-deploy/NTLARS_no_machine_config.png)

The per-machine reg backup never imported during imaging, so NTLARS has no machine-specific config.

**Fix:**

1. Note the machine number (printed on the PC asset label, or look up by hostname).

2. Browse to the DNC reg backup folder on the SFLD share:

   ```
   S:\DT\RegFiles\Dnc\Backup Copies\
   ```

   Each file is named `<MACHINE-NUMBER>.reg` (e.g. `4008.reg`, `4001.reg`, `3209.reg`).

   ![Backup Copies folder on S: drive](images/post-deploy/NTLARS_no_machine_config_copy_backup.png)

3. In the NTLARS settings dialog, click **Load...** (top-right of the dialog, next to Save).

4. Browse to `S:\DT\RegFiles\Dnc\Backup Copies\` and select the `.reg` matching this PC's machine number. Confirm the import.

5. The General tab fields should now be populated. Click **OK** to apply.

6. While in NTLARS, click the **FMS Host** tab. Check **Primary** - the backup reg usually populates the short hostname `WJFMS3` only. Update it to the full FQDN:

   ![NTLARS FMS Host tab](images/post-deploy/NTLARS_FMS_HOST.png)

   | Field | Required value |
   |-------|----------------|
   | Primary | `WJFMS3.AE.GE.COM` (FQDN - not just `WJFMS3`) |
   | Secondary | `10.233.112.158` |
   | Socket Number | `5003` |
   | Timeout | `10` |

   Click **OK** to save. The short hostname fails on GE corp DNS in some shopfloor segments; the FQDN resolves reliably. The manifest drift-catcher will also normalise this on next run, but doing it now avoids waiting for the next manifest cycle.

If fields are still blank after import: the reg backup file is stale or for a different machine number. Pull the correct one and re-import.

### 2B - Controller NIC has no static IP

The PC has two NICs. One faces the corporate / shopfloor LAN (gets internet); the other faces the controller on an isolated subnet (no internet - shown as "Unidentified network" / "No internet").

**Standard controller-side config:**

| Setting | Value |
|---------|-------|
| IP assignment | Manual |
| IPv4 address | `192.168.1.2` |
| Subnet mask | `255.255.255.0` |
| Default gateway | _leave blank_ |
| DNS servers | Automatic (DHCP) - leave as-is |

**Step-by-step (GUI - logged in as ShopFloor local account):**

1. Right-click the network icon in the system tray. Select **Network and Internet settings**.

   ![Network tray menu](images/post-deploy/NTLARS_network_interface_tray.png)

2. In Network & internet, identify the controller-facing adapter. **On every PXE-imaged shopfloor PC the controller NIC is the `Realtek PCIe GbE Family Controller`.** It will also show **"No internet"** / **"Public network"** (the other adapter, with internet, is the shopfloor LAN). Click into it.

   ![Network & internet - two ethernets listed](images/post-deploy/NTLARS_network_interface_settings.png)

   Confirm at the bottom of the adapter detail page that **Description = Realtek PCIe GbE Family Controller**:

   ![Verified controller NIC - Realtek PCIe GbE](images/post-deploy/NTLARS_network_interface_verified.png)

3. Scroll to **IP assignment**. If it shows `Automatic (DHCP)` or the IPv4 address is `169.254.x.x` / blank: click **Edit** next to IP assignment, switch to **Manual**, enable IPv4, and enter:

   - IP address: `192.168.1.2`
   - Subnet mask: `255.255.255.0`
   - Gateway: _leave blank_

   Save.

4. Verify. The adapter detail should now show:

   - IP assignment: **Manual**
   - IPv4 address: **192.168.1.2**
   - IPv4 mask: **255.255.255.0**
   - Description: **Realtek PCIe GbE Family Controller**

**Verify connectivity to the controller:**

The controller is always at `192.168.1.1` on this subnet. Open Command Prompt and run:

```cmd
ping 192.168.1.1
```

Expected: 4/4 replies.

If pings fail:
- Check the controller-side network cable.
- Confirm no other adapter on the PC also has `192.168.1.2` (duplicate IP). In Network & internet, check both Ethernet adapters - only the Realtek PCIe GbE one should have it.
- Confirm the controller itself is powered and online.

