PORTCONFIG: "Invalid device name" on both RS-232 ports, three Workshop volumes, two machines
I'm trying to open a serial port from a Workshop Pascal program and can't get past device configuration. PORTCONFIG fails on every DEVICE_CONTROL group with "Invalid device name" — parity, output handshake, baud, input waiting, type-ahead, disconnect detection, output timeout, automatic linefeed. All of them, in order, every time.
What I've ruled out:
• Both ports. RS-232 A and RS-232 B fail identically. The port letter is accepted at the prompt — anything other than A or B is rejected — so PORTCONFIG believes it has a valid selection before it starts.
• Both machines. Lisa FPGA and a real 2/10. Identical output on both.
• Three volumes. Alex's LOS Compilation Base (94,170 blocks), a Workshop 3.0 + LOS 3.1 volume (19,418 blocks), and one other.
• The driver table. I extracted system.cdd from two of the failing volumes and diffed them on a PC — byte-identical, 1536 bytes. Both contain the expected bindings including Serial Cable → lisaserial and Modem A → LISASERIAL.
• The hardware. The same FPGA runs Serial B fine under the Office System from a LOS 3 volume, 9600 8N1 through LisaTerminal — but only after assigning a device in Preferences → Connect Devices → Serial B Connector, which read "Nothing" until I set it.
I am assuming the port needs to be in the configuration list Preferences builds, and none of these Workshop volumes has ever had Preferences run on it. (By me anyway)
Preferences isn't installed on the Workshop 3.0 volume — the System-Mgr menu lists it, but launching gives error 131.
So: is there something a Workshop-only volume needs in order to use a serial port that an Office System volume gets from Preferences? And if so, how do you do it without Preferences — a MOUNT call, a file to copy across, or something else?
Writing directly with SysCall, OPEN on -RS232B-XYZ returns ecode 946. I have the OS Reference Manual's Table 2-1 and 2-2 and I'm following the required group order; my next test adds an explicit MOUNT before OPEN, but I'd rather ask than keep guessing.
sigma7 — you posted a PORTCONFIG EXEC script last July that configures port B for 9600 8N1. Does that run on a plain Workshop volume, or does yours have something mine doesn't?
Solved — (I think )
it was both documented causes at once, and Workshop 3.0 behaves differently from 1.0.
I wrote a probe that runs every required DEVICE_CONTROL group with its own ecode printed, then OPEN, then MOUNT, then OPEN again. Before the fix, every DEVICE_CONTROL group returned 1101 (Invalid device name), MOUNT returned 1051 (No device or volume by that name), and OPEN returned 946 both times — three different File System calls all saying the same thing: the OS had no device called RS232B at all.
The fix came in two layers:
1. Configuration list. The manual states a device can be accessed only if it's "specified in the configuration list created by the Preferences tool," physically connected, and mounted. This volume had the Office System on it, so I booted the desktop and set Preferences → Connect Devices → Serial B Connector to Serial Cable. That's per-volume and persists. Back in the Workshop, every DEVICE_CONTROL group now returned 0, and the readback confirmed 9600 baud had taken.
2. MOUNT. OPEN still returned 946 after successful configuration. But MOUNT then returned 0, and OPEN after MOUNT returned 0 — port open, refnum issued, clean close. So on Workshop 3.0 the serial ports are not mounted at boot; the program has to MOUNT them. This explains the LisaBBS discrepancy: it never calls MOUNT and worked on Workshop 1.0, so 1.0 evidently mounted the ports itself. 3.0 doesn't.
Recipe for anyone hitting this on Workshop 3.0: assign the port in Preferences once (needs an Office System install on the same volume), then in your program MOUNT the port each session before configuring and opening it. PORTCONFIG's "Invalid device name" is just ecode 1101 passed through — if you see it on every group, the port isn't in the configuration list.
One open question: whether a Workshop-only volume (no Office System installed, so no way to run Preferences) can be fixed at all without one?