open-simh / simh

The Open SIMH simulators package
https://opensimh.org/
Other
485 stars 93 forks source link

How to make network to work under Windows 10? #206

Open afberendsen opened 1 year ago

afberendsen commented 1 year ago

I have been reading and following loads of documentations trying to figure it out how to make the network in SimH to work. More specifically, I am having problems with microvax3900, pdp750, pdp780. The SimH documentation in geral is very prolific in the *NIX space, but very poor on Windows.

My status is as follows:

When installing ULTRIX 3.0, it seems to be working and I don't see any error messages. The ULTRIC network set-up seems to be correct. However, monitoring the mytap interface (WIndows) it shows no traffic. As result, a ping from inside the guest does not works.

So, my questions:

  1. Is there any detailed documentation explaining how to implement SImH simulators with Network?
  2. Based on what I wrote above, what I am doing wrong?
  3. How can I monitor the communication between the simulator device and the SimH device?

My setup

sim> show version
MicroVAX 3900 (KA655) simulator Open SIMH V4.1-0 Current
    Simulator Framework Capabilities:
        64b data
        64b addresses
        Polled Ethernet Packet transports:PCAP:NAT:UDP
        Idle/Throttling support is available
        Virtual Hard Disk (VHD) support
        Asynchronous I/O support (Lock free asynchronous event queue)
        Asynchronous Clock support
        FrontPanel API Version 12
    Host Platform:
        Compiler: GCC 11.3.0
        Simulator Compiled as C arch: x64 (Release Build) on Apr  2 2023 at 17:45:11
        Build Tool: simh-makefile
        Memory Access: Little Endian
        Memory Pointer Size: 64 bits
        Large File (>2GB) support
        SDL Video support: SDL Version 2.0.7
        No RegEx support for EXPECT commands
        OS clock resolution: 1ms
        Time taken by msleep(1): 1ms
        Ethernet packet info: Npcap version 1.73, based on libpcap version 1.10.3
        OS: CYGWIN_NT-10.0-19045 HG000024 3.3.5-341.x86_64 2022-05-13 12:27 UTC x86_64 Cygwin
        tar tool: tar (GNU tar) 1.34
        curl tool: curl 7.84.0 (x86_64-pc-cygwin) libcurl/7.84.0 OpenSSL/1.1.1q zlib/1.2.12 brotli/1.0.9 zstd/1.5.2 libidn2/2.3.3 libpsl/0.21.1 (+libidn2/2.3.1) libssh2/1.10.0 nghttp2/1.48.0 libgsasl/1.10.0 OpenLDAP/2.6.3
        git commit id: 4e159a04
        git commit time: 2023-01-04T13:22:12-0700
sim> show cpu
CPU     idle=ULTRIXOLD, idle enabled, model=MicroVAX 3900 (KA655), NOAUTOBOOT
        Implementing: Base Instruction Group
        Emulating: Packed-Decimal-String-Group Extended-Accuracy-Group Emulated-Only-Group
        64MB, HALT to console
sim> show memory
Memory (@0x00000000):  16 Mbytes (MS650-BA)
Memory (@0x01000000):  16 Mbytes (MS650-BA)
Memory (@0x02000000):  16 Mbytes (MS650-BA)
Memory (@0x03000000):  16 Mbytes (MS650-BA)
sim> show xq
XQ      address=20001920-2000192F, vector=3F4*, BR4, MAC=08:00:2B:B0:7C:CC
        type=DELQA-T, mode=DEQNA, poll=100, sanity=OFF
        throttle=disabled, DEQNALock=OFF, leds=(ON,ON,ON)
        attached to \DEVICE\NPF_{71E8BD25-8CE5-448C-A891-22D5B7F10EB4}
sim>
markpizz commented 1 year ago

I'm sorry you are having such a hard time with simh networking on Windows.

The process involves a really horrendous number of steps: 1) Make sure your are using a wired network connection on the Windows host. 2) Install Npcap which you've already done. 3) at a Windows Command Prompt enter the IPCONFIG command and look for the interface which is connected to your Wired network based on the appropriate IP address you've got. 4) at a simh command prompt, enter a SHOW ETHERNET command looking for the name of the interface you observed above for your host's IP address. That interface which is most simply indentified by ethN in the displayed list is what you need to use in your device attach commands. 5) sim> ATTACH XQ ethN

After doing this, your simulators can use the LAN that the host wired network adapter and potentially get IP addresses via DHCP (if the simulated OS supports DHCP), or use static addresses on that LAN. These simulators will be able to communicate directly with the host system's IP address just fine. Notice, that OpenVPN and bridging and TAP have absolutely nothing to do with this setup. You should start with the suggested setup WITHOUT OpenVPN and bridging. OpenVPN and bridging was possibly needed with simh versions more than 15 years ago, but not for many years.

Note: There are current problems with Npcap v1.73 properly operating with some LAN adapters on some Windows versions. If you have these specific problems then reverting to Npcap v1.60 (https://npcap.com/dist/npcap-1.60.exe) is known to not have these problems.

Additionally, simulators built with Cygwin may or may not have properly working network functionality. Use a pre-built windows binary or build using Microsoft Visual Studio VC++.

afberendsen commented 1 year ago

Hi Mark. Thank you for the detailed explanation.

  1. Yes, I am using a wired connection. I renamed "Local Connection" to "mynet01" to make easier to identify the devices. Because of quem, I am using the "Network Bridge" as my main network device
  2. Npcap is already installed. SimH compiled and working. The output from show device eth return the list of devices. I checked the code in sim_ether.c to be sure that the output matched the expectations :)
  3. The 'Network Bridge' device is the one assigned the IP class for the wired network. I have two different IP subnets to ensure that I can easily identify wired from Wife.

    Ethernet adapter Network Bridge:
    
    Connection-specific DNS Suffix  . :
    Description . . . . . . . . . . . : Microsoft Network Adapter Multiplexor Driver
    Physical Address. . . . . . . . . : 00-FF-53-D8-FF-E2
    DHCP Enabled. . . . . . . . . . . : Yes
    Autoconfiguration Enabled . . . . : Yes
    Link-local IPv6 Address . . . . . : fe80::bb28:381f:4647:9294%3(Preferred)
    IPv4 Address. . . . . . . . . . . : 192.168.0.37(Preferred)
    Subnet Mask . . . . . . . . . . . : 255.255.255.0
    Lease Obtained. . . . . . . . . . : Friday, 31 March, 2023 23:33:13
    Lease Expires . . . . . . . . . . : Friday, 7 April, 2023 23:33:05
    Default Gateway . . . . . . . . . : fe80::4e12:65ff:fe0b:ad86%3
                                       192.168.0.1
    DHCP Server . . . . . . . . . . . : 192.168.0.1
    DHCPv6 IAID . . . . . . . . . . . : 498347673
    DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-26-87-51-B9-58-96-1D-56-7D-72
    DNS Servers . . . . . . . . . . . : 192.168.0.1
                                       2a02:8109:aa3f:aa58:4e12:65ff:fe0b:ad86
    NetBIOS over Tcpip. . . . . . . . : Enabled
  4. I have too many network devices (physical and logical). 'show eth' is limited to the first 20 devices. The Network Bridge is not listed. The only option I have is to use wmic to identify the correct GUID for the device
    {0395DC1D-93A4-4029-A44D-C8C6C8A582AA}  Network Bridge

    With the GUID, I can then use 'attach xq \Device\NPF_{0395DC1D-93A4-4029-A44D-C8C6C8A582AA}`, which seems to work.

    sim> attach xq \Device\NPF_{0395DC1D-93A4-4029-A44D-C8C6C8A582AA}
    %SIM-INFO: Eth: opened OS device \Device\NPF_{0395DC1D-93A4-4029-A44D-C8C6C8A582AA} - Microsoft Network Adapter Multiplexor Driver
    sim>

    Unfortunately, I have to use TAP for my quem guests. I hope that SimH and quem can co-exist on the same host...

Meanwhile, is it possible to trace the communication from the guest OS in the SImH network device? Or even execute some sort of SimH IP set-up for the device and check what happens?

I will do more tests and keep you posted about my progress...

afberendsen commented 1 year ago

Update...I managed to re-order the network devices and now I can access the Network Bridge from SImH

sim> attach xq eth12
%SIM-INFO: Eth: closed \Device\NPF_{0395DC1D-93A4-4029-A44D-C8C6C8A582AA}
%SIM-INFO: Eth: opened OS device \Device\NPF_{0395DC1D-93A4-4029-A44D-C8C6C8A582AA} - Microsoft Network Adapter Multiplexor Driver
sim> show xq eth
ETH devices:
 eth0   \Device\NPF_{30E1334A-F0CA-4CE3-9C66-81A39F835558} (TAP-Windows Adapter V9)
 eth1   \Device\NPF_{71E8BD25-8CE5-448C-A891-22D5B7F10EB4} (Intel(R) Ethernet Connection (11) I219-V)
 eth2   \Device\NPF_{08A4F390-3015-439A-98DD-25CFC4D8F6B5} (WAN Miniport (Network Monitor))
 eth3   \Device\NPF_{BBC54154-9F83-42B6-A753-20BFFA0E996C} (WAN Miniport (IPv6))
 eth4   \Device\NPF_{377A463A-88E0-44CF-BC01-551AEAF735FF} (WAN Miniport (IP))
 eth5   \Device\NPF_{AEAFB797-A013-49E9-9B18-CB48EE1FA0E3} (Bluetooth Device (Personal Area Network))
 eth6   \Device\NPF_{BB0C25FF-B149-49B0-BD0B-2B429047DA88} (Intel(R) Wi-Fi 6 AX201 160MHz)
 eth7   \Device\NPF_{0997AA7B-A015-41E5-BB1B-8BE216E9406A} (VMware Virtual Ethernet Adapter for VMnet8)
 eth8   \Device\NPF_{42189E1A-1DA7-4890-9AE9-4DB7B8C273B2} (VMware Virtual Ethernet Adapter for VMnet1)
 eth9   \Device\NPF_{2DA78E61-BC65-411A-8C15-02F285C4F71A} (Microsoft Wi-Fi Direct Virtual Adapter #2)
 eth10  \Device\NPF_{9106E602-5048-4A11-8FD8-2C4C9B381311} (Microsoft Wi-Fi Direct Virtual Adapter)
 eth11  \Device\NPF_{CBAB5258-9961-4A9D-8E7D-5DF723BE1DEE} (VirtualBox Host-Only Ethernet Adapter)
 eth12  \Device\NPF_{0395DC1D-93A4-4029-A44D-C8C6C8A582AA} (Microsoft Network Adapter Multiplexor Driver)
 eth13  \Device\NPF_{AF44DF97-AFE7-400C-9BDA-7086E33DEB93} (TAP-Windows Adapter V9 #57)
 eth14  \Device\NPF_{CB01BC4A-1E59-4C47-8CD9-3EB0B31558BE} (TAP-Windows Adapter V9 #56)
 eth15  \Device\NPF_{39441378-A31A-4652-BC3E-E672F5B00C2A} (TAP-Windows Adapter V9 #55)
 eth16  \Device\NPF_{5E98CAB4-2B13-4541-9F2C-9D26EDB30D19} (TAP-Windows Adapter V9 #54)
 eth17  \Device\NPF_{A9679D53-3A80-4D1F-8ECD-2B5666DAAF8F} (TAP-Windows Adapter V9 #53)
 eth18  \Device\NPF_{8E74B213-B309-4DB3-AE8D-E9566DCFD9F8} (TAP-Windows Adapter V9 #52)
 eth19  \Device\NPF_{DF534FAD-EBA9-4422-88CB-47C395F29ABF} (TAP-Windows Adapter V9 #51)
Open ETH Devices:
 XQ     eth12 (Microsoft Network Adapter Multiplexor Driver)
Ethernet Device:
  Name:                    \Device\NPF_{0395DC1D-93A4-4029-A44D-C8C6C8A582AA}
  Reflections:             0
  Self Loopbacks Sent:     2
  Self Loopbacks Rcvd:     2
  Host NIC Address:        00:FF:53:D8:FF:E2
  Jumbo Truncated:         2
  Packets Sent:            2
  MAC Filter[ 0]: 08:00:2B:B0:7C:CC
  BPF Filter: (((ether dst 08:00:2B:B0:7C:CC)))
sim>
afberendsen commented 1 year ago

I am going to set-up debug for the unit and analyze the output

set debug xq_debug.txt
SET XQ DEBUG=TRACE;CSR;VAR;WARN;SETUP;SANITY;REG;PACKET;DATA;ETH
markpizz commented 1 year ago

How can I monitor the communication between the simulator device and the SimH device?

I missed answering this question, so: There are 2 ways: 1) Once you have a Npcap version that works correctly with your OS and network adapter, Wireshark will let you see details. 2) The ethernet library and the XQ device has various debug options that will display details about what is going on.

markpizz commented 1 year ago
  1. Npcap is already installed. SimH compiled and working. The output from show device eth return the list of devices. I checked the code in sim_ether.c to be sure that the output matched the expectations :)

I didn't say that building under Cygwin wouldn't work. I precisely meant that simulators built under Cygwin may or may not work. Since your current setup isn't working as you expect, the build is a variable in your problem space. Known working simulators can be found in the pre-built binaries located at: https://github.com/simh/simh/suites/11903443893/artifacts/623085420 you should try with the vax.exe simulator from there.

Likewise, since your using Npcap 1.73 and things aren't working, trying with 1.60 is another useful variable.

It isn't clear that having OpenVPN and your bridge setup is an advantage or maybe part of the problem. What I described definitely works correctly, so each of the things you are doing differently needs to be considered as contributing to what isn't working.

markpizz commented 1 year ago

You could try with the vax.exe from here: https://github.com/simh/simh/suites/11977682803/artifacts/628547788 which can now support up to 40 network interfaces, but otherwise is unchanged.

afberendsen commented 1 year ago

I will be more than happy to help identify what is wrong and how it can be fixed.

Thank you. I can see a thorough list of interfaces now.

I noticed a small difference between my compiled code and your compiled code. I have a different version step that yours. Mine MicroVAX 3900 simulator Open SIMH V4.1-0 Current git commit id: 4e159a04 Yours MicroVAX 3900 simulator V4.0-0 Current git commit id: ede38413

Anyway....


I) Your new code with wired NIC [Work]

I also enabled a second wired NIC on my host, which is not in a Network Bridge. (eth12).

...
 eth39  \Device\NPF_{C3259C17-86AA-4852-96F6-9D42CF5A6438} (mytap3440)
Open ETH Devices:
 XQ     eth12 (Intel-2.5Gb)
Ethernet Device:
  Name:                    \Device\NPF_{EDF7020B-3C8F-4980-866D-2CF83E8CF66F}
  Reflections:             1
  Self Loopbacks Sent:     2
  Self Loopbacks Rcvd:     2
  Host NIC Address:        B4:2E:99:FC:92:FE
  Packets Sent:            3
  Packets Received:        3
  Asynch Interrupts:       Disabled
  Read Queue: Count:       0
  Read Queue: High:        2
  Read Queue: Loss:        0
  Peak Write Queue Size:   1
  MAC Filter[ 0]: 08:00:2B:AA:BB:CC
  BPF Filter: (((ether dst 08:00:2B:AA:BB:CC)) and not ((ether src 08:00:2B:AA:BB:CC))) or ((ether dst 08:00:2B:AA:BB:CC) and (ether src
08:00:2B:AA:BB:CC)) or ((ether dst B4:2E:99:FC:92:FE) and (ether proto 0x9000))
sim>

simulator set-up

CPU     idle=ULTRIX, idle enabled, model=MicroVAX 3900 (KA655), NOAUTOBOOT
        Implementing: Base Instruction Group
        Emulating: Packed-Decimal-String-Group Extended-Accuracy-Group Emulated-Only-Group
        64MB, HALT to console

Memory (@0x00000000):  16 Mbytes (MS650-BA)
Memory (@0x01000000):  16 Mbytes (MS650-BA)
Memory (@0x02000000):  16 Mbytes (MS650-BA)
Memory (@0x03000000):  16 Mbytes (MS650-BA)
XQ      address=20001920-2000192F, no vector, BR4, MAC=08:00:2B:AA:BB:CC
        type=DELQA, polling=disabled, sanity=OFF
        throttle=disabled, DEQNALock=OFF, leds=(ON,ON,ON)
        attached to eth12

When firing up the boot, it takes a long time to pass 13.. and then again in 03

%SIM-INFO: Loading boot code from internal ka655x.bin

KA655-A V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.
>>>

When booting the simulator with ULTRIX 4.5, it correctly identify the NIC MAC address

qe0 at uba0 csr 174440 vec 764, ipl 17
qe0: DEC DELQA Ethernet Interface DEQNA-lock Mode, hardware address 08:00:2b:aa:bb:cc

TCP/IP is set-up on the guest side

# ifconfig qe0
qe0: 192.168.0.75 netmask ffffff00 flags=0x443<DYNPROTO,RUNNING,BROADCAST,UP>
broadcast: 192.168.0.255
# ping 192.168.0.1
192.168.0.1 is alive

AND IT WORKS!!!!!!

$ telnet  192.168.0.75
Trying 192.168.0.75...
Connected to 192.168.0.75.
Escape character is '^]'.

ULTRIX V4.5 (Rev. 47) (sys00a0)

login: root
Password:
Requires secure terminal
Connection closed by foreign host.

II) My code with wired NIC [fail]

Now I decided to run the same using my version of the simulator. First thing is the very quick time that the initial test takes.

sim> boot
%SIM-INFO: Loading boot code from internal ka655x.bin

KA655-A V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.

NIC correctly identified

qe0 at uba0 csr 174440 vec 764, ipl 17
qe0: DEC DELQA Ethernet Interface DEQNA-lock Mode, hardware address 08:00:2b:aa:bb:cc

TCP/IP set-up

# ifconfig qe0
qe0: 192.168.0.75 netmask ffffff00 flags=0x443<DYNPROTO,RUNNING,BROADCAST,UP>
broadcast: 192.168.0.255

and it not works....Indeed there is something wrong with the code when compiled by me.


III) Your code with Network Bridge [work]

...and now a third test using your new code and attaching my Network Bridge

The initial CPU test now takes a long time at 31, 13, and 03

....
sim> b
%SIM-INFO: Loading boot code from internal ka655x.bin

KA655-A V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.
Loading system software.
(BOOT/R5:0 DUA0
.....
qe0 at uba0 csr 174440 vec 764, ipl 17
qe0: DEC DELQA Ethernet Interface DEQNA-lock Mode, hardware address 08:00:2b:aa:bb:cc
....
# ifconfig qe0
qe0: 192.168.0.75 netmask ffffff00 flags=0x443<DYNPROTO,RUNNING,BROADCAST,UP>
broadcast: 192.168.0.255
# ping 192.168.0.1
192.168.0.1 is alive

I have two way network access From my simulator to a Linux box

# telnet 192.168.0.15 22
Trying 192.168.0.15...
Connected to 192.168.0.15.
Escape character is '^]'.
SSH-2.0-OpenSSH_8.8

From my Linux box to the simulator

$ telnet 192.168.0.75
Trying 192.168.0.75...
Connected to 192.168.0.75.
Escape character is '^]'.

ULTRIX V4.5 (Rev. 47) (sys00a0)

login: root
Password:
Requires secure terminal
Connection closed by foreign host.
markpizz commented 1 year ago

As for everything working optimally when compiled with Cygwin, that's aways going to be a problem. The directly windows compiled simulators leverage the Windows OS APIs optimally. Under Cygwin, you've got a Posix emulation layer which attempts to match Posix details and, for the most part, does an OK job, but as you've noticed not completely. That's why I said it may or may not work. If it works well enough for you then, fine, otherwise compile with a native Microsoft compiler or use a pre-build binary.

When the simh code is built natively on various Linux, macOS and other *nix systems, it works well since it leverages the native OS system calls without something trying to provide an emulation layer.

As for OpenVPN and your bridge setup. I suspect that QEMU may work just like simh does without OpenVPN and a bridge. You should try that combo. From what I can tell, QEMU uses libpcap to talk to ethernet devices which is precisely what simh does (via Npcap). Very early simh (most of 20 years ago), needed some sort of bridge or a second (dedicated) network interface ONLY because we didn't realize that pcap always returned legitimate packets on read. Some of these might be smaller than 64 bytes if they were sent by something on the local machine (like an ARP packet). We originally discarded short packets as runts, but what we really needed to do was to pad any such short packet to 64 bytes and pass it into the simulator. Once we started doing that no bridging was needed.

OpenVPN may provide other functionality which, in theory could be useful, but certainly not for basic functionality.

afberendsen commented 1 year ago

Hello again....two follow-up questions :)

  1. Googling around, when using the vax simulator I should be able to issue the command fload copy 0. However, when I try, I am getting Unit not attached error message. Reading some articles, I have the impression that on this case the copy program will be loaded from an internal floppy, which i understood to be internal (coded) in the vax780 program. Am I missing something here?
  2. Now I have more than one simulator running at same time with network connection. However, the network connection is extremely slow in or out. As explained by you previously, I am using a wired NIC. Both guests are using different MAC address and IP addresses. I tried to connect from the host machine, and the network connection was also very slow. Any idea what could be the problem?
markpizz commented 1 year ago
  1. Googling around, when using the vax simulator I should be able to issue the command fload copy 0. However, when I try, I am getting Unit not attached error message. Reading some articles, I have the impression that on this case the copy program will be loaded from an internal floppy, which i understood to be internal (coded) in the vax780 program. Am I missing something here?

The FLOAD command is specific to the VAX780 simulator and it is intended to play a similar role to the original VAX780's front end PDP11 which had the console floppy drive. I've never had an occasion to use this command, but looking at the code, it requires a VAX780 console floppy with an RT11 file system image to be attached to the console device which has the name CS.

  1. Now I have more than one simulator running at same time with network connection. However, the network connection is extremely slow in or out. As explained by you previously, I am using a wired NIC. Both guests are using different MAC address and IP addresses. I tried to connect from the host machine, and the network connection was also very slow. Any idea what could be the problem?

Define extremely slow.

The last time I measured simulator network performance (more than 10 years ago), continuous throughput was at least 20Mbits/sec which exceeds the original Ethernet speeds that these systems were connected to.

You may want to try your observations when running the relevant simulators without any IDLE settings to see if there is a difference in behavior.

afberendsen commented 1 year ago
  1. Thank you . Solved. After your explanation I decided to read the documentation more carefully and do a more thorough search on the Internet and I managed to find the necessary floppy image.
  2. The problem was caused by some sort of resource run at the IP stack on the host. On the next day (today), I ran three simultaneous SimH guests and the response time was far superior. The funny thing is, leaving a vmstat 1 running in each telnet client made the performance much faster (slow was on the sorts of a 4800baud modem). When you mentioned 'idle', I assume you refer to cpu idle. After changing all guests to set cpu noidle, indeed the throughput from the guests is even faster then on the tests I made this morning.
markpizz commented 1 year ago
  1. Thank you . Solved. After your explanation I decided to read the documentation more carefully and do a more thorough search on the Internet and I managed to find the necessary floppy image.

It might be useful to describe the context you were working on when doing this here, and to provide a link to the relevant image so someone else would have another meaningful set of information to find when searching...

  1. ...

Your tests are using telnet to connect over the LAN and not to simulated serial ports (DZ, VH or other), right? You might want to compare those different behaviors. If you go down that path, you should set the mux port line speed to the highest value simulated OS is capable of (19200, 38400...).

afberendsen commented 1 year ago
  1. I was following the instructions for ULTRIX-32 1.1 on VAX-11/780 at here. This page points to a Google Drive which I could download the floppy image. This is the only public image i could find in the internet :) I found more sites which seemed to rely on this original web-site.
  2. I am connecting to the telnet service on the guest side, not in the DZ serial service. Now that you mentioned it, connecting to the DZ service (telnet 192.168.0.85 30033), I have a communication speed of a 9600baud line. I wonder if there is a way to "increase" the speed to a faster baud rate.
  3. Is there anyway that I can implement a serial-to-serial connection between guest, to simulate a UUCP environment?
markpizz commented 1 year ago
  1. I am connecting to the telnet service on the guest side, not in the DZ serial service. Now that you mentioned it, connecting to the DZ service (telnet 192.168.0.85 30033), I have a communication speed of a 9600baud line. I wonder if there is a way to "increase" the speed to a faster baud rate.

The base port speeds on the DZ and VH lines are controlled by the port speed setting in the guest OS. You can 'magnify' the base speed set by the OS on your attach command for the DZ device:

sim> attach dz 30033,speed=*n

where n is a number between 2 and 32 which will produce a telnet session with a speed that is n times the OS programmed speed.

afberendsen commented 1 year ago

Mark, what is the process for project contribution? I am going through the source code and I am finding some small corrections for better execution standard, output, and communication.

markpizz commented 1 year ago

Maybe you should describe the details here, and/or if you're familiar with working with git and submitting pull requests (also known as PRs), then you can submit a PR which includes the potential changes. These will be reviewed and feedback provided and probably ultimately be merged into the master branch here and also back into github.com/simh/simh.

If you're not familiar with git and managing PRs, you can send changed files directly to me and I'll review the details, and submit a PR with you as the author. I can be reached directly at: mark@infocomm.com

markpizz commented 1 year ago

Somehow I never answered this question:

  1. Is there anyway that I can implement a serial-to-serial connection between guest, to simulate a UUCP environment?

Yes there is. Look at sim> HELP DZ ATTACH for info about null modem connections between simulators.