freebee
freebee copied to clipboard
UNIX 3.51 hangs on second boot after install due to lack of modem emulation
UNIX 3.51 boots fine after installation. After shutting down and rebooting, however, the UNIX PC hangs on the "waiting" screen.
This is due to the modem port and UART not being emulated.
This lack of emulation also causes several error messages during installation:
-
/dev/ph0 can not be opened. Touch any key to continue.
-
Failed to open modem port. Error return= 19
This commit is probably worth a look: 013bd8e544df42ac1c9cb20f7791cab86e120462
8274 UART and modem/phone control registers aren't emulated yet (#1 and #3 respectively)
Printer status/data aren't really handled either.
This has previously been reported by Robert Masterson on Mon, May 12, 2014 at 10:18 PM -- along with a workaround.
- Leaving .lpstartsched in /etc/rc does not cause UNIX to hang on boot, but with .phinit and .modeminit in /etc/rc, UNIX does hang on boot.
My investigation of the issue is that .phinit (which calls .phclr) is the culprit which hangs installation. I modified 08_Foundation_Set_Ver_3.51.IMD to remove .phinit from the rc file (hexediting to spaces) and was able to install successfully. I have not otherwise been able to get .phclr to run cleanly. .phclr doesn't attempt to read or write any regs so I don't know what the issue is.
hey @philpem -- did you get my email with the modified disk 08? I was hoping maybe you could host it on your website? Or alternatively I could check it into the github. I've attached it here for reference. 08_no_phinit.zip
I did, yes. I've been really busy this past week and it slipped my mind...!
I think a better fix would be to emulate enough of the modem hardware to get these scripts to run. But it's good to have the workaround for now.
Ok, no problem -- I figured you must be busy!
Yes, definitely would like to get it to advance naturally (even if there was still an error). When running .phinit, no regs are written to so it seems like something at the OS level with one of the /dev devices.