diff --git a/projects/dataforth-dos/batch-files/AUTOEXEC.BAT b/projects/dataforth-dos/batch-files/AUTOEXEC.BAT index 5078e62..181588a 100644 --- a/projects/dataforth-dos/batch-files/AUTOEXEC.BAT +++ b/projects/dataforth-dos/batch-files/AUTOEXEC.BAT @@ -1,8 +1,7 @@ @ECHO OFF REM Dataforth Test Machine Startup - DOS 6.22 -REM Automatically runs after CONFIG.SYS during boot -REM Version: 3.0 - Auto-update system integrated -REM Last modified: 2026-01-19 +REM Version: 4.0 - No IF EXIST checks +REM Last modified: 2026-03-12 REM Set machine identity (configured by DEPLOY.BAT) SET MACHINE=TS-4R @@ -21,25 +20,21 @@ CLS ECHO. ECHO ============================================================== ECHO Dataforth Test Machine: %MACHINE% -ECHO DOS 6.22 with Automatic Update System +ECHO AUTOEXEC v4.0 - 2026-03-12 ECHO ============================================================== ECHO. -REM Create required directories if they don't exist -IF NOT EXIST C:\TEMP\*.* MD C:\TEMP -IF NOT EXIST C:\BAT\*.* MD C:\BAT -IF NOT EXIST C:\BATCH\*.* MD C:\BATCH +REM Create required directories +MD C:\TEMP +MD C:\BAT +MD C:\BATCH ECHO Starting network client... ECHO. REM Start network client and map T: and X: drives -IF EXIST C:\STARTNET.BAT CALL C:\STARTNET.BAT +CALL C:\STARTNET.BAT -REM Verify T: drive is accessible -IF NOT EXIST T:\*.* GOTO NET_FAILED - -ECHO (OK) Network started ECHO. ECHO Network Drives: ECHO T: = \\D2TESTNAS\test @@ -48,11 +43,11 @@ ECHO. REM Download latest software updates from network ECHO Checking for software updates... -IF EXIST C:\BAT\NWTOC.BAT CALL C:\BAT\NWTOC.BAT +CALL C:\BAT\NWTOC.BAT REM Upload test data to network for database import ECHO Uploading test data to network... -IF EXIST C:\BAT\CTONW.BAT CALL C:\BAT\CTONW.BAT +CALL C:\BAT\CTONW.BAT ECHO. ECHO ============================================================== @@ -65,17 +60,5 @@ ECHO CHECKUPD - Check for available updates ECHO CTONW - Manual upload to network ECHO NWTOC - Manual download from network ECHO. -GOTO END - -:NET_FAILED -ECHO ERROR: Network drive mapping failed -ECHO T: drive not accessible -ECHO. -ECHO To start network manually: -ECHO C:\STARTNET.BAT -ECHO. -ECHO Updates and backups will not work until network is available. -ECHO. -PAUSE :END diff --git a/projects/dataforth-dos/batch-files/CTONW.BAT b/projects/dataforth-dos/batch-files/CTONW.BAT index ac165b1..b0f9b5f 100644 --- a/projects/dataforth-dos/batch-files/CTONW.BAT +++ b/projects/dataforth-dos/batch-files/CTONW.BAT @@ -1,62 +1,37 @@ @ECHO OFF REM Computer to Network - Upload local test results to network -REM Version: 3.2 - DOS 6.22 compatible -REM Last modified: 2026-01-21 +REM Version: 4.0 - No IF EXIST checks, dirs pre-created on server +REM Last modified: 2026-03-12 REM Verify MACHINE variable is set IF "%MACHINE%"=="" GOTO NO_MACHINE -REM Verify T: drive -IF NOT EXIST T:\*.* GOTO NO_DRIVE - -REM Verify machine folder exists -IF NOT EXIST T:\%MACHINE%\*.* GOTO NO_FOLDER - ECHO ........................................ ECHO Archiving datalog files to network... -ECHO CTONW.BAT v3.2 > C:\ATE\CTONW.LOG +ECHO CTONW.BAT v4.0 > C:\ATE\CTONW.LOG ECHO Machine: %MACHINE% >> C:\ATE\CTONW.LOG -ECHO Copying from C:\ATE\ to T:\%MACHINE%\LOGS\ >> C:\ATE\CTONW.LOG -REM Check for ATE directory -IF NOT EXIST C:\ATE\*.* GOTO SKIP_ATE - -REM Ensure target LOGS directories exist -IF NOT EXIST T:\%MACHINE%\LOGS\*.* MD T:\%MACHINE%\LOGS -IF NOT EXIST T:\%MACHINE%\LOGS\5BLOG\*.* MD T:\%MACHINE%\LOGS\5BLOG -IF NOT EXIST T:\%MACHINE%\LOGS\7BLOG\*.* MD T:\%MACHINE%\LOGS\7BLOG -IF NOT EXIST T:\%MACHINE%\LOGS\8BLOG\*.* MD T:\%MACHINE%\LOGS\8BLOG -IF NOT EXIST T:\%MACHINE%\LOGS\DSCLOG\*.* MD T:\%MACHINE%\LOGS\DSCLOG -IF NOT EXIST T:\%MACHINE%\LOGS\HVLOG\*.* MD T:\%MACHINE%\LOGS\HVLOG -IF NOT EXIST T:\%MACHINE%\LOGS\PWRLOG\*.* MD T:\%MACHINE%\LOGS\PWRLOG -IF NOT EXIST T:\%MACHINE%\LOGS\SCTLOG\*.* MD T:\%MACHINE%\LOGS\SCTLOG -IF NOT EXIST T:\%MACHINE%\LOGS\VASLOG\*.* MD T:\%MACHINE%\LOGS\VASLOG - -IF EXIST C:\ATE\5BLOG\*.DAT COPY C:\ATE\5BLOG\*.DAT T:\%MACHINE%\LOGS\5BLOG -IF EXIST C:\ATE\7BLOG\*.DAT COPY C:\ATE\7BLOG\*.DAT T:\%MACHINE%\LOGS\7BLOG -IF EXIST C:\ATE\7BLOG\*.SHT COPY C:\ATE\7BLOG\*.SHT T:\%MACHINE%\LOGS\7BLOG -IF EXIST C:\ATE\8BLOG\*.DAT COPY C:\ATE\8BLOG\*.DAT T:\%MACHINE%\LOGS\8BLOG -IF EXIST C:\ATE\DSCLOG\*.DAT COPY C:\ATE\DSCLOG\*.DAT T:\%MACHINE%\LOGS\DSCLOG -IF EXIST C:\ATE\HVLOG\*.DAT COPY C:\ATE\HVLOG\*.DAT T:\%MACHINE%\LOGS\HVLOG -IF EXIST C:\ATE\PWRLOG\*.DAT COPY C:\ATE\PWRLOG\*.DAT T:\%MACHINE%\LOGS\PWRLOG -IF EXIST C:\ATE\SCTLOG\*.DAT COPY C:\ATE\SCTLOG\*.DAT T:\%MACHINE%\LOGS\SCTLOG -IF EXIST C:\ATE\VASLOG\*.DAT COPY C:\ATE\VASLOG\*.DAT T:\%MACHINE%\LOGS\VASLOG +REM Copy log data to network (dirs pre-created on server) +COPY C:\ATE\5BLOG\*.DAT T:\%MACHINE%\LOGS\5BLOG +COPY C:\ATE\7BLOG\*.DAT T:\%MACHINE%\LOGS\7BLOG +COPY C:\ATE\7BLOG\*.SHT T:\%MACHINE%\LOGS\7BLOG +COPY C:\ATE\8BLOG\*.DAT T:\%MACHINE%\LOGS\8BLOG +COPY C:\ATE\DSCLOG\*.DAT T:\%MACHINE%\LOGS\DSCLOG +COPY C:\ATE\HVLOG\*.DAT T:\%MACHINE%\LOGS\HVLOG +COPY C:\ATE\PWRLOG\*.DAT T:\%MACHINE%\LOGS\PWRLOG +COPY C:\ATE\SCTLOG\*.DAT T:\%MACHINE%\LOGS\SCTLOG +COPY C:\ATE\VASLOG\*.DAT T:\%MACHINE%\LOGS\VASLOG ECHO Archiving work-order report files to network... -IF NOT EXIST T:\%MACHINE%\Reports\*.* MD T:\%MACHINE%\Reports -IF EXIST C:\Reports\*.TXT COPY C:\Reports\*.TXT T:\%MACHINE%\Reports +COPY C:\Reports\*.TXT T:\%MACHINE%\Reports ECHO Archiving log file to network... -IF EXIST C:\ATE\*.LOG COPY C:\ATE\*.LOG T:\%MACHINE% +COPY C:\ATE\*.LOG T:\%MACHINE% ECHO Network archiving of datalog files done! ECHO ........................................ GOTO END -:SKIP_ATE -ECHO No C:\ATE directory - skipping -GOTO END - :NO_MACHINE ECHO ........................................ ECHO ERROR: MACHINE variable not set @@ -65,18 +40,4 @@ ECHO ........................................ PAUSE GOTO END -:NO_DRIVE -ECHO ERROR: T: drive not available -ECHO Run C:\STARTNET.BAT first -PAUSE -GOTO END - -:NO_FOLDER -ECHO ........................................ -ECHO ERROR: Machine folder T:\%MACHINE% not found -ECHO Run ATESYNC to create it first -ECHO ........................................ -PAUSE -GOTO END - :END diff --git a/projects/dataforth-dos/batch-files/NWTOC.BAT b/projects/dataforth-dos/batch-files/NWTOC.BAT index 030da26..4e8ae96 100644 --- a/projects/dataforth-dos/batch-files/NWTOC.BAT +++ b/projects/dataforth-dos/batch-files/NWTOC.BAT @@ -1,80 +1,49 @@ @ECHO OFF -REM Network to Computer - Download software updates from network to local C: drive -REM Version: 3.5 - Use COPY, no NUL redirects -REM Last modified: 2026-01-21 +REM Network to Computer - Download software updates from network +REM Version: 4.0 - No IF EXIST checks, direct COPY +REM Last modified: 2026-03-12 -REM Check T: drive -IF NOT EXIST T:\*.* GOTO NO_DRIVE - -REM Display banner ECHO. ECHO ============================================================== -ECHO Download Updates from Network +ECHO NWTOC v4.0 - Download Updates from Network ECHO ============================================================== ECHO. -REM Create local directories (errors ignored) -IF NOT EXIST C:\BAT\*.* MD C:\BAT -IF NOT EXIST C:\ATE\*.* MD C:\ATE -IF NOT EXIST C:\ATE\5BDATA\*.* MD C:\ATE\5BDATA -IF NOT EXIST C:\ATE\7BDATA\*.* MD C:\ATE\7BDATA -IF NOT EXIST C:\ATE\8BDATA\*.* MD C:\ATE\8BDATA -IF NOT EXIST C:\ATE\DSCDATA\*.* MD C:\ATE\DSCDATA -IF NOT EXIST C:\ATE\HVDATA\*.* MD C:\ATE\HVDATA -IF NOT EXIST C:\ATE\PWRDATA\*.* MD C:\ATE\PWRDATA -IF NOT EXIST C:\ATE\RMSDATA\*.* MD C:\ATE\RMSDATA -IF NOT EXIST C:\ATE\SCTDATA\*.* MD C:\ATE\SCTDATA -IF NOT EXIST C:\NET\*.* MD C:\NET - -REM Check for COMMON updates -IF NOT EXIST T:\COMMON\ProdSW\*.* GOTO NO_COMMON +REM Create local directories (MD is harmless if they exist locally) +MD C:\BAT +MD C:\ATE +MD C:\ATE\5BDATA +MD C:\ATE\7BDATA +MD C:\ATE\8BDATA +MD C:\ATE\DSCDATA +MD C:\ATE\HVDATA +MD C:\ATE\PWRDATA +MD C:\ATE\RMSDATA +MD C:\ATE\SCTDATA +MD C:\NET ECHO (1/3) Copying batch files to C:\BAT... COPY T:\COMMON\ProdSW\*.BAT C:\BAT -ECHO Done ECHO. ECHO (2/3) Copying ATE data folders to C:\ATE... -IF EXIST T:\Ate\ProdSW\5BDATA\*.* COPY T:\Ate\ProdSW\5BDATA\*.* C:\ATE\5BDATA -IF EXIST T:\Ate\ProdSW\7BDATA\*.* COPY T:\Ate\ProdSW\7BDATA\*.* C:\ATE\7BDATA -IF EXIST T:\Ate\ProdSW\8BDATA\*.* COPY T:\Ate\ProdSW\8BDATA\*.* C:\ATE\8BDATA -IF EXIST T:\Ate\ProdSW\DSCDATA\*.* COPY T:\Ate\ProdSW\DSCDATA\*.* C:\ATE\DSCDATA -IF EXIST T:\Ate\ProdSW\HVDATA\*.* COPY T:\Ate\ProdSW\HVDATA\*.* C:\ATE\HVDATA -IF EXIST T:\Ate\ProdSW\PWRDATA\*.* COPY T:\Ate\ProdSW\PWRDATA\*.* C:\ATE\PWRDATA -IF EXIST T:\Ate\ProdSW\RMSDATA\*.* COPY T:\Ate\ProdSW\RMSDATA\*.* C:\ATE\RMSDATA -IF EXIST T:\Ate\ProdSW\SCTDATA\*.* COPY T:\Ate\ProdSW\SCTDATA\*.* C:\ATE\SCTDATA -ECHO Done +COPY T:\Ate\ProdSW\5BDATA\*.* C:\ATE\5BDATA +COPY T:\Ate\ProdSW\7BDATA\*.* C:\ATE\7BDATA +COPY T:\Ate\ProdSW\8BDATA\*.* C:\ATE\8BDATA +COPY T:\Ate\ProdSW\DSCDATA\*.* C:\ATE\DSCDATA +COPY T:\Ate\ProdSW\HVDATA\*.* C:\ATE\HVDATA +COPY T:\Ate\ProdSW\PWRDATA\*.* C:\ATE\PWRDATA +COPY T:\Ate\ProdSW\RMSDATA\*.* C:\ATE\RMSDATA +COPY T:\Ate\ProdSW\SCTDATA\*.* C:\ATE\SCTDATA ECHO. -REM Check for network client updates -IF NOT EXIST T:\COMMON\NET\*.* GOTO SKIP_NET - ECHO (3/3) Copying network files to C:\NET... COPY T:\COMMON\NET\*.* C:\NET -ECHO Done -ECHO. -GOTO DONE - -:SKIP_NET -ECHO (3/3) No network updates ECHO. -:DONE ECHO ============================================================== -ECHO Download Complete +ECHO NWTOC v4.0 Download Complete ECHO ============================================================== ECHO. -GOTO END - -:NO_COMMON -ECHO ERROR: T:\COMMON\ProdSW not found -PAUSE -GOTO END - -:NO_DRIVE -ECHO ERROR: T: drive not available -ECHO Run C:\STARTNET.BAT first -PAUSE -GOTO END :END diff --git a/projects/dataforth-dos/session-logs/2026-03-12-session.md b/projects/dataforth-dos/session-logs/2026-03-12-session.md index af78bae..b2728a9 100644 --- a/projects/dataforth-dos/session-logs/2026-03-12-session.md +++ b/projects/dataforth-dos/session-logs/2026-03-12-session.md @@ -241,3 +241,39 @@ ssh root@192.168.0.117 "crontab -r" - DOS machine testing started - Error 53 resolved - Data transfer ongoing (~24GB+ transferred, snapshots pending restart) - Session saved: ~18:45 + +## Update: ~19:30 - Batch File Fix and DOS Machine Testing + +### DOS Machine Testing Results +- All 4 tested machines (TS-3L, TS-3R, TS-4L, TS-4R) connected to new Linux NAS successfully +- T: drive mapped via NetBIOS name (after killing old NAS nmbd) +- Files successfully copied (3 .LOG files) +- BUT: "Bad command or file name" (5x) and "Too many parameters" (5x) errors from IF EXIST/IF NOT EXIST commands +- Confirmed CTONW.BAT v3.2 on machine, correct line endings (CR+LF verified via DEBUG) +- Root cause: DOS 6.22 IF EXIST command failing on network paths - likely SMB1 compatibility issue with wildcard queries + +### Fix Applied: Batch Files v4.0 +Eliminated all IF EXIST/IF NOT EXIST checks from startup batch files. Directories pre-created on server. + +**CTONW.BAT v4.0** - Direct COPY commands, no IF EXIST guards. Target dirs pre-created on NAS. +**NWTOC.BAT v4.0** - Direct MD and COPY commands, no IF EXIST guards. MD harmless if dir exists locally. +**AUTOEXEC.BAT v4.0** - Removed IF EXIST around CALL commands, direct MD for local dirs. + +All deployed to NAS at `/data/test/COMMON/ProdSW/`. Machines will pick up new versions on next boot via NWTOC download. + +### Pre-created Directories on NAS +Ran script to create LOGS/5BLOG, LOGS/7BLOG, LOGS/8BLOG, LOGS/DSCLOG, LOGS/HVLOG, LOGS/PWRLOG, LOGS/SCTLOG, LOGS/VASLOG, and Reports for ALL TS-* station directories. + +### Old NAS Status +- DHCP at 192.168.0.117 +- nmbd killed, cron removed, NetBIOS ports 137/138 blocked via iptables +- rsync data transfer still running (single stream, ~24GB+ transferred) +- Snapshot transfer stopped (was at ~43GB logical), needs restart after data completes + +### Pending +1. Reboot a DOS machine to test v4.0 batch files +2. Monitor data transfer completion +3. Restart snapshot transfer after data completes +4. Verify test data appears in correct LOGS subdirectories on NAS +5. Set up AD2 scheduled task for rsync sync +6. Run real (non-dry) Sync-FromNAS-rsync.ps1 on AD2