Open larsbrinkhoff opened 1 year ago
I don't think this is an ITS issue. It works for me on KLH10 -- maybe it is specific to pdp10-k*?:
ftp 192.168.0.100
Connected to 192.168.0.100.
220- MIT-NX.US.ORACLE.COM ITS 1651, FTP server 336 on 25 FEB 2023 0834 EST
220 Bugs/gripes to BUG-FTP @ MIT-MC
Name (192.168.0.100:eswenson): ejs
230 OK, your user name is EJS
ftp> get "waste 1" waste.1
local: waste.1 remote: waste 1
200 OK, port 41739
150 Look out! Here comes DSK:EJS;WASTE 1
226 That's all, folks!
112 bytes received in 44.45 secs (0.0025 kB/s)
ftp> quit
221 BCNU
It works for me on previous version. And there were no changes to pdp10-ka since.
Previous version of the DB/KA/KL build? Meaning an older version of the git repo? Do you have a commit hash for a version where FTP works under pdp10-ka?
Previous ITS build. I said that pdp10-ka is same version.
Yes, but what build worked? Clearly the changes to fix Zork or to update networking.md have no relationship to FTP. So what commit hash worked?
See the other issue... I posted the id that worked.
Thanks. See it there. https://github.com/PDP-10/its/issues/2153#issuecomment-1444930114
I did a compare between those two commit hashes and don't see any difference that should impact FTP or networking at all. There is a single change to ITS -- but to the DISK support to help with balancing distribution of files across different mounted packs.
I have to agree here. Unless for some reason the Link can't find the program it is trying to link to because it is on another pack than it expects it to be on.
The changes made in DISK are to which pack a NEW file is CREATED. It doesn't change how files are accessed or how files are accessed through links.
I just pulled the head of the master branch, built a DB ITS (for KLH10), and verified that FTP worked fine:
ftp 192.168.1.100
Connected to 192.168.1.100.
220- DB-ITS.EXAMPLE.COM ITS 1651, FTP server 336 on 25 FEB 2023 1100 EST
220 Bugs/gripes to BUG-FTP @ MIT-MC
Name (192.168.1.100:eswenson): ejs
230 OK, your user name is EJS
ftp> dir
502 This command is not implemented, sorry.
200 OK, port 44185
150 Look out! Here comes DSK:EJS;.FILE. (DIR)
DB EJS
FREE BLOCKS #0=8998
0 NGAME 273 11 12/18/2016 17:24:19
0 QSEND 150 3 12/18/2016 17:24:19
0 QSEND COMPRS 2 2/24/2023 18:16:09
0 SCRMBL 73 3 12/18/2016 17:24:19
0 TS UPTINI 1 2/24/2023 18:48:01
0 UPTINI 1 1 12/18/2016 17:24:19
226 That's all, folks!
ftp> quit
221 BCNU
That does not prove anything. We are talking about KA not KS. I'm building KL now will try it.
I'm building a pdp10-ka build now. Of course, I've never had all that much luck with pdp10-ka networking in the past, and am not sure that I verified that FTP worked. I'll let you know once I build and configure.
I did a KL10 build and I can telnet in and FTP in. So I think ITS is having trouble resolving the link to the FTP server.
If you did a pdp10-kl build, and you can TELNET and FTP in, clearly, ITS can resolve the link to the FTP server (there).
Are you saying that this isn't working in pdp10-ka, but is working on pdp10-kl -- with the HEAD of the master branch?
I'm not having luck with my master branch HEAD build of pdp10-ka:
eswenson@eswenson-ThinkPad-W520:/mnt/its/ITS/ws/its/out/pdp10-ka$ ../../tools/sims/BIN/pdp10-ka run
KA-10 simulator V4.0-0 Current git commit id: $Format:
SDL Video subsystem can't initialize
Segmentation fault (core dumped)
eswenson@eswenson-ThinkPad-W520:/mnt/its/ITS/ws/its/out/pdp10-ka$
I went back to a working pdp10-kl build (from a while back when you and I were working on this, @rcornwell), and I'm able to telnet in fine, but FTP is connects, but gets nothing back from ITS.
I tried my (previously) working pdp10-ka build (same timeframe as above), which I thought was working with respect to telnet, and cannot telnet in. I can't FTP in either.
Both of these are with my NAT-based configuration that you and I came up with.
If you can't telnet you can't FTP, what I am seeing on ITS is that it seems to hang at the SYN025 name. It does not appear to go to the FTP program. On pdp10-kl build it worked correctly. Note I can telnet/FTP into previous builds with either current pdp10-ka emulator or one in tools. I can also use one in tools to connect to telnet/FTP with previous builds. Under current build FTP appears to hang at the SYN025 state and does not start FTPS.
If you are seeing the SYN025 in the process table it means that ITS has responded to the SYN packet and tried to start the program to handle it. Also there have been no changes to pdp10-ka in about 1 month.
SDL Video subsystem can't initialize
This means you either have to run pdp10-ka in a window system, or you need to remove set dpy enabled
in the configuration file.
Segmentation fault (core dumped)
This, however, is a plain bug. Probably mine.
Thanks. This must be a “new” thing because it was happening with an old pdp10-ka config / system that used to work perfectly fine.
I was also getting "vid_thread(): Unexpected user event code: 1" when the display is runing
My Raspberry Pi finally finished building the KL build (latest) and I cannot Telnet or FTP into it with the configuration that works on KA. The IMP adapter gets the IP address but there is no response from Telnet or FTP on the KL machine.
If you did not edit the configuration then the HostIP on KL is 192.168.1.100.
That means that the same configuration as for KA will not work. Which configuration file controls this at build time?
I believe that the IP and GW Makefile variables are passed to the expect script and then used when setting up the IP address for ITS.
I believe that the IP and GW Makefile variables are passed to the expect script and then used when setting up the IP address for ITS.
Would that not be the same for KA based builds as well then? But in that case the host is 10.0.3.6 despite the fact that the IP is set to 192.168.1.100 in its/conf/network
I believe only KLH10 has support for the configuration file variables. I do not believe Lars ever added in support for other systems. Also the same configuration file will not work for KA10/KL10/KS10, there are differences.
Ah, ok. We should fix that! @larsbrinkhoff
We should also probably merge the config.202 file down to one and just select which host we are building for with arguments.
Yes, I agree. I have no idea why we have multiple configs -- it makes things tough when you are trying to synchronize configs from pdp10-k* and KLH10 systems.
I am looking a the various config.202 files. If they all support the same type if IMP interface from SIMH, with the exception of KLH, would it at least make sense to re-use the same host IP and gateway everywhere else? right now there are different IP address definitions for every emulator type?
ITS supports three flavors of PDP10, KA, KL and KS. PDP10 and KLH10 are both KS type systems. PDP10-KS and KLH10 are pretty much identical, other then KLH10 does not support DZ serial lines or a printer. KS systems require SIMP support, where KA and KL require KAIMP.
Rebuilding KL with the new IP address set (hope I changed the right file :D) Is there a way to check which IP address is set inside of ITS?
sys$j Impus4/
the value will need to be decoded into 4 octets.
I am looking a the various config.202 files. If they all support the same type if IMP interface from SIMH, with the exception of KLH, would it at least make sense to re-use the same host IP and gateway everywhere else? right now there are different IP address definitions for every emulator type?
Some of us run multiple systems on the same host. It is nice that they have different IP addresses. I wish they all did!
I am looking a the various config.202 files. If they all support the same type if IMP interface from SIMH, with the exception of KLH, would it at least make sense to re-use the same host IP and gateway everywhere else? right now there are different IP address definitions for every emulator type?
Some of us run multiple systems on the same host. It is nice that they have different IP addresses. I wish they all did!
Makes sense. Should we move all SIMH based machines to the IMP scheme then? I would be going with: Host IPs
And keep all the other configuration the same subnet etc. We could also use a different TAP name for each of them and have the start script create the right TAP adapter if needed.
I’d support that. Note: since I use NAT networking with pdp10-ka/kl/ks, it didn’t completely matter that all three machines used the same IP since this IP was hidden within a given emulator-to-ITS binding.
However, having distinct IPs is still the right thing due to having distinct host table addresses and to allow one ITS system to talk to another.
I agree I will create a proposal in the enhancement request to design a network that makes sense based on what I remember of the days old. Let's continue the discussion in #2159.
Nothing to decode it gives me a 0 (zero)
Whoops, I left off a "4" at the end. The symbol is IMPUS4. Sorry 'bout that.
Whoops, I left off a "4" at the end. The symbol is IMPUS4. Sorry 'bout that.
sys$j impus4/?U?
Hmmm works for me.
TTY 12
ES>sys$j! ES>impus4/ HLLOM T,440126(P) =522715440126
TTY 12 2. Lusers, Fair Share = 3% This is ES ITS. ejs$u Password: Incorrect. Password: Incorrect. ejs$u Password: Already logged in, so logged you in as EJS0 [OK] MONDAY, FEBRUARY 27, 2023 05:23:04 PM
ES>sys$j! ES>impus4/ HLLOM T,440126(P) =522715440126
I guess something is different or not configured correctly.
TTY 0
You're all alone, Fair share = 8%
Welcome to ITS!
For brief information, type ?
For a list of colon commands, type :? and press Enter.
For the full info system, type :INFO and Enter.
Happy hacking!
mike$uKL: MIKE; MIKE MAIL - NON-EXISTENT DIRECTORY
LOGIN MIKE 0 17:48:23
sys$j!
*impus4/?U?
I do get 0s for other values ie impus3/ HRL B,C
Look at IMPUS3. Maybe I’m misremembering! Decode your IMPUS3 value.
I was misremembering. This is what I have in my config for ES:
DEFOPT IMPUS3==<IPADDR 192,168,0,100> ; IP address
And it's not the value AT IMPUS3, it is the value OF IMPUS3. So do:
ES>sys◊j!
ES>impus3=30052000144
This is what I get when I try to do something from memory.
Ok I get something back but when straight decoding into octets and then decimal the numbers don't make sense. Are the 4 octets octal, decimal or hex endocded?
sys◊j!
ES>impus3=30052000144
30052000144 octal is:
000 011 000 000 101 010 000 000 000 001 100 100 binary.
When divided into right-justified octets, we get
0000 11000000 10101000 00000000 01100100
Discarding the top-most 4 bits, we have:
11000000 10101000 00000000 01100100
which, when turned back into decimal yields:
192 168 0 100
which is the IP address of ES.
sys◊j! ES>impus3=30052000144
30052000144 octal is:
000 011 000 000 101 010 000 000 000 001 100 100 binary.
When divided into right-justified octets, we get
0000 11000000 10101000 00000000 01100100
Discarding the top-most 4 bits, we have:
11000000 10101000 00000000 01100100
which, when turned back into decimal yields:
192 168 0 100
which is the IP address of ES.
Thanks that is what I was looking for. So I now can see that the change in the config file did not work as intended. The IP address came out as 10.3.0.6 instead of 10.3.0.7 as I wanted it to be.
I have written script that helps with the conversion
#!/bin/bash
if [ $# -eq 0 ]; then
echo "Please provide an IP address as an argument"
exit 1
fi
octal=$1
ip=""
for i in {1..4}; do
octet=$(echo $(( $octal >> 8*(4-$i) & 255 )))
ip="$ip$octet."
done
echo ${ip%?}
When in ITS type sys$j
then type impus3=
and then feed the number you get with one leading 0 into the script i.e.
./ipconvert.sh 01200600006
10.3.0.6
Rumor has it FTPS doesn't respond any more. Some details in #2153