Re: [Simh] Tun/Tap in Mint for RSX-11M Plus 4.6 running in SimH PDP11

2019-06-23 Thread Jonathan Welch
For my recent VAX installation on windows I used NAT and initially tested
using an ethernet connection. I cannot telnet in but most outbound
connections work. At least eliminate one area of possible trouble by using
a wired connection for initial testing.

On Sun, Jun 23, 2019, 9:07 PM Will Senn  wrote:

> This question may best be asked elsewhere but I'm struggling to make it
> work with SimH, so here it is :)
>
> tldr; How can I get tun/tap working with Mint 19 and SimH RSX-11M Plus
> 4.6 so that I can access the internet from the instance and telnet to it
> from another machine on the network?
>
> Here's the background... I am trying to get RSX-11M Plus 4.6 working in
> SimH with networking on my Mint 19.1 T430 Thinkpad and it's proving
> difficult (both in execution and understanding). I've tried this tap
> stuff before and remember being uber frustrated then, too. But now, I
> know way more about stuff then I did back then.
>
> System: T430 ThinkPad w/16GB Ram, SSD's, 1600x screen.
>
> OS: Linux Mint 19.1 (debian/ubuntu derivative).
>
> Software: SimH built with: make USE_READER_THREAD=1 USE_TAP_NETWORK=1
> USE_INT64=1 vax vax780 pdp11 pdp8
>
> What I'm trying to do: Get my RSX-11M talking to the internet and be
> able to telnet into it, preferably from another laptop on the network.
>
> What I've tried: followed a gist by Upi Temminen for getting it running
> on a pi:
>
> https://gist.github.com/desaster/c49b0f7afa5e061b8f33f159e521b6ee
>
> After installing parprouted, uml-utilities, tunctl, and simh as
> described, did the following:
>
> /etc/sysctl.conf
> net.ipv4.conf.all.proxy_arp=1
> net.ipv4.ip_forward=1
>
> sudo vi /etc/network/interfaces.d/tap
> auto tap-simh0
> iface tap-simh0 inet manual
>  pre-up tunctl -t tap-simh0 -u simhuser
>  up ip link set tap-simh0 up
>  up /usr/sbin/parprouted wlp3s0 tap-simh0
>  up /sbin/ip link set wlp3s0 promisc on
>  post-down ip link set tap-simh0 down
>  post-down tunctl -d tap-simh0
>
> auto tap-simh1
> iface tap-simh1 inet manual
>  pre-up tunctl -t tap-simh1 -u simhuser
>  up ip link set tap-simh1 up
>  up /usr/sbin/parprouted wlp3s0 tap-simh1
>  up /sbin/ip link set wlp3s0 promisc on
>  post-down ip link set tap-simh1 down
>  post-down tunctl -d tap-simh1
>
> rebooted
>
> used oscar's boot.ini, but with this section for ethernet:
>
> ; Ethernet
> set xu enable
> set xu type=deuna
> set xu mac=aa:00:04:00:0c:34
> attach xu tap:tap-simh0
> sho xu
>
> which resulted in:
>
> PDP-11 simulator V4.0-0 Currentgit commit id: b3fa1f9f
> Disabling XQ
> /opt/pidp11/systems/rsx11mplus/boot.ini-16> attach xu tap:tap-simh0
> libpcap version 1.8.1
> Eth: opened OS device tap-simh0
> XUaddress=17774510-17774517, vector=120, BR5, MAC=AA:00:04:00:0C:34
>  type=DEUNA, throttle=disabled
>  attached to tap:tap-simh0
> CPU11/70, FPP, RH70, autoconfiguration enabled, idle disabled
>  4088KB
> RQ0: 'PiDP11_DU0.dsk' Contains an ODS1 File system
> RQ0: Volume Name:  RSX11MPBL87 Format: DECFILE11A   Sectors In Volume:
> 615000
> /opt/pidp11/systems/rsx11mplus/boot.ini-35> attach rq1 PiDP11_DU1.dsk
> RQ1: creating new file
> /opt/pidp11/systems/rsx11mplus/boot.ini-45> attach dz 10001
> Listening on port 10001
> DZaddress=17760030-17760037*, vector=330-334*, BR5, lines=8
>  attached to 10001, 8b, 0 current connections
>
> RSX-11M-PLUS V4.6  BL87   1920.KW  System:"PIDP11"
>
> ...snip
>  >; INSTALL TCP/IP
>  >;
>  >SET /NAMED
>  >SET /UIC=[1,2]
>  >* Load TCP/IP? [Y/N D:Y T:15S]:
>  >load if:/vec/high
>  >load ip:/vec/high
>  >load ud:/vec/high
>  >load tc:/vec/high
> LOA -- Warning - loadable driver larger than 4K
>  >con onl if0:
>  >con onl if1:
>  >con onl ip:
>  >con onl ud:
>  >con onl tc:
>  >ins lb:[ip]ethacp/fmap=yes
>  >ins lb:[ip]ifconfig
>  >ins lb:[ip]netstat
>  >ins lb:[ip]ping
>  >ins lb:[ip]tracert
>  >ins lb:[ip]resacp
>  >dfl "Frodo"=HOSTNAME/GBL
>  >dfl "LOGICAL,DNS,FILE"=RESOLV$ORDER/GBL
>  >dfl LB:[1,2]HOSTS.TXT=HOSTS/GBL
>  >dfl "LOGICAL,FILE"=RESOLV$ORDER
>  >ifc create 256
>  >ifc start
> Starting IP.
> Starting UD.
> Starting TC.
>  >ifc set if0: dhcp acp ethacp lin UNA-0
>  >dfl ",RTR,DNS,DOM"="DHCP$IF0"/gbl
>  >;.ifins if0 can if0
>  >ins lb:[ip]dhcp
>  >run dhcp
>  >ifc set if1: add localhost
> 09:30:21  TCP/IP - ethernet ACP using DECnet DLX
> 09:30:21  Starting resolver V2.2
>  >ifc set if1: sta ope
>
>   DHCP - Failed to find any DHCP servers. Giving up...
>
> which explains why this don't work:
>  >
>  >PING GOOGLE.COM
> Unknown host: GOOGLE.COM
>
> ...snip
>
> if I:
>
> ip link show
>
> ...
>
> 4: tap-simh0:  mtu 1500 qdisc fq_codel
> state UP mode DEFAULT group default qlen 1000
>  link/ether 22:f2:0d:23:2d:63 brd ff:ff:ff:ff:ff:ff
>
> To my untrained eye, it would appear that tap-simh0 isn't getting an ip
> address :).
>
> Help?!
>
> Thanks,
>
> Will
>
> --
> GPG Fingerprint: 68F4 B3BD 1730 555A 4462  7D45 3EAA 5B6D A982 BAAF
>
> 

Re: [Simh] Limits on MSCP controllers

2019-06-23 Thread Mark Pizzolato
On Sunday, June 23, 2019 at 4:51 PM, Jonathan Welch wrote:
> The system that I set up for myself and for my friend (who needs one more
> disk than I do) was cloned from a VMS Cluster that has been in continuous
> operation in its present form for about 20 years, so the issue is not with
> mounting disks too early in the startup sequence.
> 
> Not that this helps much but as we were trying to figure out how long of a
> WAIT statement to use we put in a $ SHOW SYSTEM and the CONFIGURE
> process' state was HIB.

The timing of startup behavior will certainly be very different under today's 
simulators vs the original hardware on the systems in question.  Depending on
the speed of original hardware and what host system you're running on 
there may indeed be different timing behaviors, especially for activities 
which occur asynchronously.

- Mark
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Limits on MSCP controllers

2019-06-23 Thread Timothe Litt

On 23-Jun-19 20:01, Johnny Billquist wrote:
>
> Timothe Litt clearly knows this better than I do. His mention of the
> attention message jogged my memory a bit. There are just notifications
> going the other way about available disks. And ports are not really
> relevant. In RSX, they are then obviously matched against what you
> configured in your SYSGEN. Disks which do not match any configured
> device are just going to be ignored. No dynamic adding of disks
> possible. And unit numbers can be totally unrelated between one
> controller and the next, and have nothing to do with the device
> numbering inside RSX. So DU5: can map to unit #42 on the third
> controller. RSX will happily do that mapping.
>
MSCP is basically an evolution of the Massbus protocol, on a different
PHY, and informed by the TOPS-10/20 experiences with high-end  (large,
redundant, on-line serviceable) configurations.  The attention messages
are analogous to the attention summary register bits on a Massbus. 
Although intended to be scalable, the design was driven by the initial
implementations, which were the HSC50 (with the SDI/STI PHY).   Later,
we benchmarked configurations with 100s of disks - which required many
racks and long SDI cables. 

TMSCP design lagged MSCP - with the required allowances for tapes -
again using the Massbus model at the PHY (one port connecting to a
formatter that could have multiple drives.  But a lot of the Massbus
ugliness is abstracted away from the OS.

In VMS (and the TOPS-10/20 CI implementations), attention messages can
materialize units on the fly.  The IO working group that defined (T)MSCP
expected all configuration to work this way.  In retrospect, it would
have been better for the OS if the controller could provide a bitmap of
what units are present on a controller.  But SDI/STI (they're the same
phy) were designed for hotplug and for sequenced power-on.  There is no
"drive present" wire - you have to ask a drive to do something in order
to determine if something is plugged in.  So the controller can't know -
unless it were to poll its ports. 

As Mark pointed out, VMS stand-alone backup does try to enumerate all
the devices - which takes forever and a day.  Besides the time it takes
to spin up a disk to determine its geometry (or time out if a port is
empty), there are a limited number of credits (outstanding command
buffers) available in the controllers.  So  sending ~64K "get unit
status" commands to each controller is a painfully slow process - and
frustrating where there are often only 1-4 units on each controller. 
For scale, consider that a 4-XMI system using just KDM70s could have 23
KDMs to poll; a CI system could have 31 HSCs, and an LAVC - well, lots.

RSX (and IIRC RT) statically configure configure MSCP disks as Johnny
describes.  This is only practical for the relatively small
configurations that they support.  I doubt that the unit attention
messages are completely ignored; though not used for configuration, they
also tell the OS when a disk has spun up (or down) based on an operator
pushing the 'online' button.  This is especially true for removable
media (e.g. RA60), but also applies to RA8x/9x.  And the case of an
operator switching unit plugs on a drive.  (Humans do the strangest
things...)

After the UDA/KDB50s,  U/Q (T)MSCP devices moved away from the SDI/STI
interface - but that's transparent to the OS.  For the low end, there
was no need for the hotplug or distances supported by the SDI/STI
interfaces.

And of course, much later the HSCs supported SCSI disk and tape.  And
the HSD/HSZ controllers.  I wasn't involved in those, so I don't
remember their configuration limits.

> And by the way, if the goal of simh was to try and act just like
> existing hardware, then you should not be allowed to have more than
> one tape drive per tmscp controller, since that was the way of all DEC
> tmscp controllers. 

Be careful about saying "all".   The UQ TMSCP-only controllers bundled
with the TxK[5,7] are one drive/controller.  But that is not the
universe of TMSCP controllers.

The HSC50/60/70 support multiple drives per controller (and per K.STI)
e.g. the TA78/79).  The HSC50 predates the T[UQ]K50.

The KDM70 on the XMI backplane, previously mentioned, supports up to 2
active STI ports, each of which can have a formatter (subcontroller)
with multiple drives.

> But tmscp itself also certainly do not have such a limitation, and in
> this case simh do deviate from what the real hardware did. One TQK50
> (or TUK50) per TK50, and so on...
>
SimH has always started with what real hardware does as its design
principle.  However, it doesn't implement all of the real hardware.
People have software that ran on systems that had more hardware than 
the implemented devices support.  So it does bend configuration rules
from time to time.  This is important in cases where SimH implements
low-end models, but people have disk images from large configurations of
high-end models.  The RAUSER 

Re: [Simh] Tun/Tap in Mint for RSX-11M Plus 4.6 running in SimH PDP11

2019-06-23 Thread Mark Pizzolato
On Sunday, June 23, 2019 at 6:07 PM, Will Senn wrote:
> This question may best be asked elsewhere but I'm struggling to make it work
> with SimH, so here it is :)
> 
> tldr; How can I get tun/tap working with Mint 19 and SimH RSX-11M Plus
> 4.6 so that I can access the internet from the instance and telnet to it from
> another machine on the network?

Use NAT networking to do this.

> Here's the background... I am trying to get RSX-11M Plus 4.6 working in SimH
> with networking on my Mint 19.1 T430 Thinkpad and it's proving difficult (both
> in execution and understanding). I've tried this tap stuff before and remember
> being uber frustrated then, too. But now, I know way more about stuff then I
> did back then.
> 
> System: T430 ThinkPad w/16GB Ram, SSD's, 1600x screen.
> 
> OS: Linux Mint 19.1 (debian/ubuntu derivative).
> 
> Software: SimH built with: make USE_READER_THREAD=1
> USE_TAP_NETWORK=1
> USE_INT64=1 vax vax780 pdp11 pdp8

You should not need to pass any extra make arguments to use any particular form 
of networking.

$ make vax vax780 pdp11 pdp8 

This will do the right thing to build network capable simulators that can use 
either tap or NAT networking.

> What I'm trying to do: Get my RSX-11M talking to the internet and be able to
> telnet into it, preferably from another laptop on the network.
> 
> What I've tried: followed a gist by Upi Temminen for getting it running on a 
> pi:
> 
> https://gist.github.com/desaster/c49b0f7afa5e061b8f33f159e521b6ee
> 
> After installing parprouted, uml-utilities, tunctl, and simh as described, 
> did the
> following:
> 
> /etc/sysctl.conf
> net.ipv4.conf.all.proxy_arp=1
> net.ipv4.ip_forward=1
> 
> sudo vi /etc/network/interfaces.d/tap
> auto tap-simh0
> iface tap-simh0 inet manual
>      pre-up tunctl -t tap-simh0 -u simhuser
>      up ip link set tap-simh0 up
>      up /usr/sbin/parprouted wlp3s0 tap-simh0
>      up /sbin/ip link set wlp3s0 promisc on
>      post-down ip link set tap-simh0 down
>      post-down tunctl -d tap-simh0
> 
> auto tap-simh1
> iface tap-simh1 inet manual
>      pre-up tunctl -t tap-simh1 -u simhuser
>      up ip link set tap-simh1 up
>      up /usr/sbin/parprouted wlp3s0 tap-simh1
>      up /sbin/ip link set wlp3s0 promisc on
>      post-down ip link set tap-simh1 down
>      post-down tunctl -d tap-simh1

I'm not completely familiar with the Pi network devices, but if wlp3s0 is a 
WiFi interface, you will be extremely challenged and frustrated and likely 
never get this to work.

USE NAT

- Mark

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

[Simh] Tun/Tap in Mint for RSX-11M Plus 4.6 running in SimH PDP11

2019-06-23 Thread Will Senn
This question may best be asked elsewhere but I'm struggling to make it 
work with SimH, so here it is :)


tldr; How can I get tun/tap working with Mint 19 and SimH RSX-11M Plus 
4.6 so that I can access the internet from the instance and telnet to it 
from another machine on the network?


Here's the background... I am trying to get RSX-11M Plus 4.6 working in 
SimH with networking on my Mint 19.1 T430 Thinkpad and it's proving 
difficult (both in execution and understanding). I've tried this tap 
stuff before and remember being uber frustrated then, too. But now, I 
know way more about stuff then I did back then.


System: T430 ThinkPad w/16GB Ram, SSD's, 1600x screen.

OS: Linux Mint 19.1 (debian/ubuntu derivative).

Software: SimH built with: make USE_READER_THREAD=1 USE_TAP_NETWORK=1 
USE_INT64=1 vax vax780 pdp11 pdp8


What I'm trying to do: Get my RSX-11M talking to the internet and be 
able to telnet into it, preferably from another laptop on the network.


What I've tried: followed a gist by Upi Temminen for getting it running 
on a pi:


https://gist.github.com/desaster/c49b0f7afa5e061b8f33f159e521b6ee

After installing parprouted, uml-utilities, tunctl, and simh as 
described, did the following:


/etc/sysctl.conf
net.ipv4.conf.all.proxy_arp=1
net.ipv4.ip_forward=1

sudo vi /etc/network/interfaces.d/tap
auto tap-simh0
iface tap-simh0 inet manual
    pre-up tunctl -t tap-simh0 -u simhuser
    up ip link set tap-simh0 up
    up /usr/sbin/parprouted wlp3s0 tap-simh0
    up /sbin/ip link set wlp3s0 promisc on
    post-down ip link set tap-simh0 down
    post-down tunctl -d tap-simh0

auto tap-simh1
iface tap-simh1 inet manual
    pre-up tunctl -t tap-simh1 -u simhuser
    up ip link set tap-simh1 up
    up /usr/sbin/parprouted wlp3s0 tap-simh1
    up /sbin/ip link set wlp3s0 promisc on
    post-down ip link set tap-simh1 down
    post-down tunctl -d tap-simh1

rebooted

used oscar's boot.ini, but with this section for ethernet:

; Ethernet
set xu enable
set xu type=deuna
set xu mac=aa:00:04:00:0c:34
attach xu tap:tap-simh0
sho xu

which resulted in:

PDP-11 simulator V4.0-0 Current    git commit id: b3fa1f9f
Disabling XQ
/opt/pidp11/systems/rsx11mplus/boot.ini-16> attach xu tap:tap-simh0
libpcap version 1.8.1
Eth: opened OS device tap-simh0
XU    address=17774510-17774517, vector=120, BR5, MAC=AA:00:04:00:0C:34
    type=DEUNA, throttle=disabled
    attached to tap:tap-simh0
CPU    11/70, FPP, RH70, autoconfiguration enabled, idle disabled
    4088KB
RQ0: 'PiDP11_DU0.dsk' Contains an ODS1 File system
RQ0: Volume Name:  RSX11MPBL87 Format: DECFILE11A   Sectors In Volume: 
615000

/opt/pidp11/systems/rsx11mplus/boot.ini-35> attach rq1 PiDP11_DU1.dsk
RQ1: creating new file
/opt/pidp11/systems/rsx11mplus/boot.ini-45> attach dz 10001
Listening on port 10001
DZ    address=17760030-17760037*, vector=330-334*, BR5, lines=8
    attached to 10001, 8b, 0 current connections

RSX-11M-PLUS V4.6  BL87   1920.KW  System:"PIDP11"

...snip
>; INSTALL TCP/IP
>;
>SET /NAMED
>SET /UIC=[1,2]
>* Load TCP/IP? [Y/N D:Y T:15S]:
>load if:/vec/high
>load ip:/vec/high
>load ud:/vec/high
>load tc:/vec/high
LOA -- Warning - loadable driver larger than 4K
>con onl if0:
>con onl if1:
>con onl ip:
>con onl ud:
>con onl tc:
>ins lb:[ip]ethacp/fmap=yes
>ins lb:[ip]ifconfig
>ins lb:[ip]netstat
>ins lb:[ip]ping
>ins lb:[ip]tracert
>ins lb:[ip]resacp
>dfl "Frodo"=HOSTNAME/GBL
>dfl "LOGICAL,DNS,FILE"=RESOLV$ORDER/GBL
>dfl LB:[1,2]HOSTS.TXT=HOSTS/GBL
>dfl "LOGICAL,FILE"=RESOLV$ORDER
>ifc create 256
>ifc start
Starting IP.
Starting UD.
Starting TC.
>ifc set if0: dhcp acp ethacp lin UNA-0
>dfl ",RTR,DNS,DOM"="DHCP$IF0"/gbl
>;.ifins if0 can if0
>ins lb:[ip]dhcp
>run dhcp
>ifc set if1: add localhost
09:30:21  TCP/IP - ethernet ACP using DECnet DLX
09:30:21  Starting resolver V2.2
>ifc set if1: sta ope

 DHCP - Failed to find any DHCP servers. Giving up...

which explains why this don't work:
>
>PING GOOGLE.COM
Unknown host: GOOGLE.COM

...snip

if I:

ip link show

...

4: tap-simh0:  mtu 1500 qdisc fq_codel 
state UP mode DEFAULT group default qlen 1000

    link/ether 22:f2:0d:23:2d:63 brd ff:ff:ff:ff:ff:ff

To my untrained eye, it would appear that tap-simh0 isn't getting an ip 
address :).


Help?!

Thanks,

Will

--
GPG Fingerprint: 68F4 B3BD 1730 555A 4462  7D45 3EAA 5B6D A982 BAAF

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Limits on MSCP controllers

2019-06-23 Thread Robert Armstrong
>  The KFQSA, M7769.
> Bob

P.S.  If anybody has a rack mount DSSI enclosure they'd like to part with, let 
me know.  All I have is the R400x, which wastes valuable floor space and 
doesn't go with the rack mounted uVAX...


___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Limits on MSCP controllers

2019-06-23 Thread Robert Armstrong
> Johnny Billquist wrote:

>What about the DSSI controller which talks MSCP on the Qbus?
> I can't remember the name of it. But I'm not 
> sure if that one was limited to just four disks.

  The KFQSA, M7769.  Supports up to seven DSSI drives.  I have one in a 
MicroVAX-III system.  It's a pain to configure, but it otherwise works fine 
with VMS.

Bob

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Limits on MSCP controllers

2019-06-23 Thread Johnny Billquist

On 2019-06-24 01:37, Johnny Billquist wrote:

On 2019-06-23 19:30, Bob Supnik wrote:
If you want to extend the current RQ simulator to include third party 
boards (either SMD-based emulators or SCSI-based emulators), feel free 
to add an appropriate mode switch. I don't know what controller ID 
these third party boards returned, though, nor do I know how VMS 
determined the number of ports per controller.


Those 3rd party controllers usually identifies themselves as UDA50 or 
KDA50, if I remember right.
I can check in a day or three, when I bring my 11/93 back up running, 
since it has a CMD controller.
Those controllers also usually lie about disk types, commonly saying 
that disks are RA81 or similar, no matter what capacity they have. And 
since software should actually query about size, and not make any 
assumptions based on the id a disk returns, that should also be fine.


As for how to determine the number of ports, I don't know how VMS does 
things in general. In RSX, you tell which disks are expected to be found 
at which controllers when you do a SYSGEN, and you just define as many 
disks you want on a controller. At boot, the OS just tries to locate the 
disk on the controller without trying to do anything specific about 
which port it might be sitting on.

I can go digging into more detail if you want me to.


Timothe Litt clearly knows this better than I do. His mention of the 
attention message jogged my memory a bit. There are just notifications 
going the other way about available disks. And ports are not really 
relevant. In RSX, they are then obviously matched against what you 
configured in your SYSGEN. Disks which do not match any configured 
device are just going to be ignored. No dynamic adding of disks 
possible. And unit numbers can be totally unrelated between one 
controller and the next, and have nothing to do with the device 
numbering inside RSX. So DU5: can map to unit #42 on the third 
controller. RSX will happily do that mapping.


And by the way, if the goal of simh was to try and act just like 
existing hardware, then you should not be allowed to have more than one 
tape drive per tmscp controller, since that was the way of all DEC tmscp 
controllers. But tmscp itself also certainly do not have such a 
limitation, and in this case simh do deviate from what the real hardware 
did. One TQK50 (or TUK50) per TK50, and so on...


  Johnny

--
Johnny Billquist  || "I'm on a bus
  ||  on a psychedelic trip
email: b...@softjar.se ||  Reading murder books
pdp is alive! ||  tryin' to stay hip" - B. Idol
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Limits on MSCP controllers

2019-06-23 Thread Jonathan Welch
The system that I set up for myself and for my friend (who needs one
more disk than I do) was cloned from a VMS Cluster that has been in
continuous operation in its present form for about 20 years, so the
issue is not with mounting disks too early in the startup sequence.

Not that this helps much but as we were trying to figure out how long
of a WAIT statement to use we put in a $ SHOW SYSTEM and the CONFIGURE
process' state was HIB.

As a fun aside, this VMS installation will have its 40th birthday on
July 1st and then be shut down. I wonder if there are there other
sites that have been running for longer in the same location and
without any major hiatus.

> Agreed that it would be interesting to understand what the problem is
> with VAX or VMS here, since I certainly do not observe anything similar
> with a PDP-11 and RSX.
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Limits on MSCP controllers

2019-06-23 Thread Johnny Billquist

On 2019-06-23 19:30, Bob Supnik wrote:
The four ports is not arbitrary. SimH simulates actual hardware. DEC 
never built a backplane MSCP controller with more than four ports.


I'm not entirely sure about that. What about the DSSI controller which 
talks MSCP on the Qbus? I can't remember the name of it. But I'm not 
sure if that one was limited to just four disks.


Anyway, the only reason for the 4 disk limit was really just because the 
physical hardware only have 4 ports.


If you want to extend the current RQ simulator to include third party 
boards (either SMD-based emulators or SCSI-based emulators), feel free 
to add an appropriate mode switch. I don't know what controller ID these 
third party boards returned, though, nor do I know how VMS determined 
the number of ports per controller.


Those 3rd party controllers usually identifies themselves as UDA50 or 
KDA50, if I remember right.
I can check in a day or three, when I bring my 11/93 back up running, 
since it has a CMD controller.
Those controllers also usually lie about disk types, commonly saying 
that disks are RA81 or similar, no matter what capacity they have. And 
since software should actually query about size, and not make any 
assumptions based on the id a disk returns, that should also be fine.


As for how to determine the number of ports, I don't know how VMS does 
things in general. In RSX, you tell which disks are expected to be found 
at which controllers when you do a SYSGEN, and you just define as many 
disks you want on a controller. At boot, the OS just tries to locate the 
disk on the controller without trying to do anything specific about 
which port it might be sitting on.

I can go digging into more detail if you want me to.

I think it would be better to understand why VMS is waiting to mount 
additional discs. Alternately, just create bigger discs and have fewer 
of them.


Agreed that it would be interesting to understand what the problem is 
with VAX or VMS here, since I certainly do not observe anything similar 
with a PDP-11 and RSX.


Larger disks is also always a good option.

  Johnny

--
Johnny Billquist  || "I'm on a bus
  ||  on a psychedelic trip
email: b...@softjar.se ||  Reading murder books
pdp is alive! ||  tryin' to stay hip" - B. Idol
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] VAX emulator slow to configure extra disks

2019-06-23 Thread Mark Pizzolato
On Sunday, June 23, 2019 at 6:53 AM, Johnny Billquist wrote:
> I can't remember having any such issues, but then again I also can't
> remember if I ever tried it with VAX. With PDP-11 it works without any
> issues.
> 
> This is, though, another slight silliness in simh. The limit to 4 disks
> per controller is very artificial. The UDA50, KDA50, and maybe some
> other controllers only have four actual, physical ports, which limited
> them to only have four disks per controller. However, MSCP itself do not
> have such a limitation, and common SCSI controllers for these machines
> which use MSCP allows more than four disks on a controller, and most
> software (at least RSX and VMS) also do not limit themselves to only
> configure max four disks on a controller. I wish simh didn't put such
> arbitrary limitations in. simh also decides on unit numbers by itself,
> which could also have been nice to be able to choose.

As Bob said, simh is modeling hardware that existed.  It does model the 
bus and controller interface.

As Tim mentioned, some of the hardware that is modeled did indeed 
allow arbitrary unit numbers (via plugs on the drive).  

Some 14 months ago support was added to provide per drive Unit plug 
values to be set.   This is set via:

sim> SET RQn UNIT=plug

plug can be any value from 0 thru 65534.  Default unit plug for each 
RQn is n.

A few subtle changes were needed to pdp11_rq and pdp11_tq to 
properly allow VMS and the KA655 boot ROM to stop their scan
for units when all units have been found.


> On 2019-06-23 15:37, Jonathan Welch wrote:
> > A vax emulator I was configuring for a friend (MicroVAX 3900 simulator
> > V4.0-0 Current git commit id: ab3e07a4) needs to mount more than four
> > disks.
> >
> > The .INI file has
> > set rqb enabled
> >
> > and an associated attach command.
> >
> > In my VMS startup disks are mounted very close to the beginning of the
> > boot sequence.
> >
> > I discovered that when the emulator starts it is necessary to put a
> > $ WAIT 00:00:06
> > before mounting DUB0; the wait is necessary for the disk to appear.
> >
> > Is this something that is expected behavior and should be documented
> > or a bug that can be fixed?

As Tim mentioned, the VMS drivers are loaded in a DEC provided procedure
with a "sysgen autoconfigure all" command.  Once the drivers are loaded they
asynchronously interact with each controller probing for available units.  
This is how things always have worked.  If you attempt to reference a unit 
before it has been found, the failure you are seeing will happen.  
If you attempt to boot VMS standalone backup, you will see that there is 
a very long  pause before a device list is presented and you are ultimately 
prompted with:

Enter "YES" when all needed devices are available:

This is to make sure that all devices have had time to be identified before 
you proceed with the backup.

- Mark
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Limits on MSCP controllers

2019-06-23 Thread Timothe Litt

On 23-Jun-19 13:30, Bob Supnik wrote:
> The four ports is not arbitrary. SimH simulates actual hardware. 

> DEC never built a backplane MSCP controller with more than four ports.
>
I think that's true for the U/Qbuses.  However, the KDM70 (XMI, last I
knew not emulated by SimH) has eight universal ports - any mix of
SDI/STI (disk/tape) that you can plug in.  Officially, max of 2 STI, 8
SDI.  Note that what plugs into STI is a formatter - each of which might
have 4 drives behind it.   Unit numbers are assigned by the drive - IIRC
12 bits for disk, 4 decimal digits for tape (due to bcd encoding of the
unit select switches).  This is slightly simplified - SSDs have
different rules, and some tapes formatters support less than 4 drives.

Those are KDM70 architectural limits - MSCP might be up to 16 bits, but
I don't have a spec handy.  There might be some flag bits in the field.

(I was somewhat involved in the KDM70 development.)

> If you want to extend the current RQ simulator to include third party
> boards (either SMD-based emulators or SCSI-based emulators), feel free
> to add an appropriate mode switch. I don't know what controller ID
> these third party boards returned, though, nor do I know how VMS
> determined the number of ports per controller.
>
(T)MSCP doesn't deal with ports; it deals with (logical) units.[1]  I
don't remember an efficient mechanism to enumerate the units; IIRC, you
simply wait for an attention message with "Unit Available".   You could
also try a "get unit status" for each possible LUN - but that's a very
large number, especially in a large configuration -- e.g. a CI with lots
of HSC controllers, or even lots of NI workstations with MSCP-served
disks.  STAR had over 200 NI satellites at one point.

As noted, the LUNs are arbitrary - for the larger disks, set by a plug
on the drive.  No requirement for starting at zero, or sequential
numbers.  (Of course, you can't use the same LUN on the same controller
more than once.)

VMS enumerates controllers to assign a letter, and uses the LUN from the
attention message to build the UDB[2] and record the unit number. 
(Allocation classes, used to link dual-ported drives) would be a
prefix).  So, if the 4th controller has a single RA81 with a unit plug
of 251, the device name would be _DUD251:.    If in allocation class 18,
_$18$DUD251:.  Units can come/go/morph if, for example, the unit plug is
removed or swapped, which is why "mount verification" exists.

I don't remember whether VMS will try to set a unit on-line if it hasn't
received a unit available first.  But I believe that it won't try
anything if it hasn't found the controller.  The controllers (except for
the boot device) are found by running sysgen autoconfig all in one of
the DEC-supplied startup scripts.   This is towards the middle of the
process - it takes quite a while in large configs, so the startup
initiates a bunch of other stuff that can overlap it first.  There are
several callouts in the startup scripts - it's important that disk
mounts be after sysgen is run.  sylogicals(-v5).com would be too soon.

> I think it would be better to understand why VMS is waiting to mount
> additional discs. Alternately, just create bigger discs and have fewer
> of them.
>
One thing to check is that the unit available (attention) messages are
sent at the right times. 

The other is where in the startup the mounts are placed.  The
site-specific startup - systartup(_v5).com, or something called by it
should be OK.  [the _v5 suffix was introduced with VMS V5 because things
like device naming changed, it was removed many releases later].

[1] This caused some pain with devices that shared a resource across
units - e.g. the RC25 that shared one motor/spindle between a fixed
platter and a removable cartridge... "Clever" hardware design that
ignored the software architecture...

[2] Unit Data Block - VMS's drive context.  They materialize when a unit
is discovered.

> /Bob
>
>
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Limits on MSCP controllers

2019-06-23 Thread Bob Supnik
The four ports is not arbitrary. SimH simulates actual hardware. DEC 
never built a backplane MSCP controller with more than four ports.


If you want to extend the current RQ simulator to include third party 
boards (either SMD-based emulators or SCSI-based emulators), feel free 
to add an appropriate mode switch. I don't know what controller ID these 
third party boards returned, though, nor do I know how VMS determined 
the number of ports per controller.


I think it would be better to understand why VMS is waiting to mount 
additional discs. Alternately, just create bigger discs and have fewer 
of them.


/Bob

On 6/23/2019 12:00 PM, simh-requ...@trailing-edge.com wrote:

This is, though, another slight silliness in simh. The limit to 4 disks
per controller is very artificial. The UDA50, KDA50, and maybe some
other controllers only have four actual, physical ports, which limited
them to only have four disks per controller. However, MSCP itself do not
have such a limitation, and common SCSI controllers for these machines
which use MSCP allows more than four disks on a controller, and most
software (at least RSX and VMS) also do not limit themselves to only
configure max four disks on a controller. I wish simh didn't put such
arbitrary limitations in. simh also decides on unit numbers by itself,
which could also have been nice to be able to choose.


___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] VAX emulator slow to configure extra disks

2019-06-23 Thread Johnny Billquist
I can't remember having any such issues, but then again I also can't 
remember if I ever tried it with VAX. With PDP-11 it works without any 
issues.


This is, though, another slight silliness in simh. The limit to 4 disks 
per controller is very artificial. The UDA50, KDA50, and maybe some 
other controllers only have four actual, physical ports, which limited 
them to only have four disks per controller. However, MSCP itself do not 
have such a limitation, and common SCSI controllers for these machines 
which use MSCP allows more than four disks on a controller, and most 
software (at least RSX and VMS) also do not limit themselves to only 
configure max four disks on a controller. I wish simh didn't put such 
arbitrary limitations in. simh also decides on unit numbers by itself, 
which could also have been nice to be able to choose.


  Johnny

On 2019-06-23 15:37, Jonathan Welch wrote:

A vax emulator I was configuring for a friend (MicroVAX 3900 simulator
V4.0-0 Current git commit id: ab3e07a4) needs to mount more than four
disks.

The .INI file has
set rqb enabled

and an associated attach command.

In my VMS startup disks are mounted very close to the beginning of the
boot sequence.

I discovered that when the emulator starts it is necessary to put a
$ WAIT 00:00:06
before mounting DUB0; the wait is necessary for the disk to appear.

Is this something that is expected behavior and should be documented
or a bug that can be fixed?
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh



--
Johnny Billquist  || "I'm on a bus
  ||  on a psychedelic trip
email: b...@softjar.se ||  Reading murder books
pdp is alive! ||  tryin' to stay hip" - B. Idol
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

[Simh] VAX emulator slow to configure extra disks

2019-06-23 Thread Jonathan Welch
A vax emulator I was configuring for a friend (MicroVAX 3900 simulator
V4.0-0 Current git commit id: ab3e07a4) needs to mount more than four
disks.

The .INI file has
set rqb enabled

and an associated attach command.

In my VMS startup disks are mounted very close to the beginning of the
boot sequence.

I discovered that when the emulator starts it is necessary to put a
$ WAIT 00:00:06
before mounting DUB0; the wait is necessary for the disk to appear.

Is this something that is expected behavior and should be documented
or a bug that can be fixed?
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh