User avatar
mike632t
Posts: 104
Joined: Sat May 19, 2012 7:56 pm
Location: UK

Raspberry Pi SIMH Networking

Sat Jan 19, 2013 4:33 pm

Has any one managed to bridge the virtual network interface in SIMH (VAX) to the physical network interfcae on the Raspberry Pi - access to the VAX from the Pi isn't necessary but would be nice...

I've found http://www.retrocomputinggeek.com/retro ... etworking/ but need to implement it in /etc/network/interfaces (trying to create a bridged network over an SSH connection obviously doesn't work).

Does anyone know if thie will work for DECnet/LAT or just TCP..?

Thanks - Mike T.

User avatar
dudeman
Posts: 22
Joined: Sun Jan 20, 2013 1:20 am
Location: USA

Re: Raspberry Pi SIMH Networking

Fri Jan 25, 2013 2:22 am

I don't think I understand your question. But there is decnet support in debian:

http://packages.debian.org/sid/libdnet

Distribution-specific help for DECnet and LAT:
http://sourceforge.net/apps/mediawiki/l ... title=FAQ6

Code: Select all

sudo apt-get install latd dnet-progs 

supivisor
Posts: 1
Joined: Fri Jan 25, 2013 2:08 pm

Re: Raspberry Pi SIMH Networking

Fri Jan 25, 2013 2:39 pm

Yes. i got it working under Raspbian-Wheezy (and also under Ubuntu 12.04.1 amd64. Btw, bridged networking with simh under OpenIndiana/Solaris is just another story...).

First of all, install "bridge-utils" and "uml-utilities":

Code: Select all

sudo apt-get install bridge-utils
sudo brctl addbr br0
sudo apt-get install uml-utilities
Then edit /etc/network/interfaces:

Code: Select all

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto tap0
iface tap0 inet manual
        pre-up tunctl -t tap0 -u (Your USERNAME. i.e "PI")
        up ifconfig tap0 up
        down ifconfig tap0 down

auto br0
iface br0 inet static
        address 192.168.0.99
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        bridge_ports eth0 tap0
        bridge_stp off
        bridge_maxwait 5
And yes, you can do this modifications even with ssh!

Code: Select all

sudo reboot Reboot now
Next install some requirements for building libpcap and finally simh:

Code: Select all

sudo apt-get install flex bison m4

Code: Select all

mkdir AREA51
cd AREA51
wget http://www.tcpdump.org/release/libpcap-1.1.1.tar.gz
tar vxf libpcap-1.1.1.tar.gz
cd libpcap-1.1.1
./configure
make
sudo make install
cd ..
mkdir simh
cd simh
wget http://simh.trailing-edge.com/sources/simhv39-0.zip
unzip -a simhv39-0.zip
mkdir BIN
make USE_NETWORK=1 BIN/vax
The rest should be obvious - attach tap0 via vax.ini:

Code: Select all

set xq mac=00:11:22:33:44:55
attach xq tap:tap0
It works with TCP/IP, means that i can connect (ping, telnet, ftp) from the PI-Host to the emulated OpenVMS(-Guest) and vice-versa. I did not test DECNet yet, but i guess it should work.

User avatar
mike632t
Posts: 104
Joined: Sat May 19, 2012 7:56 pm
Location: UK

Re: Raspberry Pi SIMH Networking

Sat Jan 26, 2013 12:01 am

Thanks - that is a very nice write up. I've already built simh with network support on my Pi and will try out your solution tomorrow - after some sleep!

Mike T.

DivBy0
Posts: 3
Joined: Sun Jan 27, 2013 2:21 pm

Re: Raspberry Pi SIMH Networking

Sun Jan 27, 2013 3:05 pm

The retrocomputinggeek site is actually mine and it tickles me pink that despite years of neglect people still look at it. Having said that, I added a long-overdue disclaimer to the SIMH networking page to make it clear that it's outdated.

To emphasize what supivisor wrote, I would grab a copy of SIMH from github and follow the instructions contained in 0readme_ethernet.txt. SIMH's networking code has come a long way since 2006...

User avatar
mike632t
Posts: 104
Joined: Sat May 19, 2012 7:56 pm
Location: UK

Re: Raspberry Pi SIMH Networking

Wed Jan 30, 2013 11:24 pm

Fantastic - it works and there are no problems with DecNET or LAT either.

I don't know if it was really necessary but I set the MAC addres in simh to match the DecNET address - code below shows the output on my VAX 4000-105A as the virtual VAX on the Pi booted and DecNET came up.

I then used 'set host' to connect to the virtual VAX and login as 'system'...

Code: Select all

OSPREY > 
%%%%%%%%%%%  OPCOM  30-JAN-2013 23:13:16.16  %%%%%%%%%%%
Message from user DECNET on OSPREY
DECnet event 4.15, adjacency up
From node 16.42 (OSPREY), 30-JAN-2013 23:13:16.16
Circuit ISA-0, Adjacent node = 16.38 (FALCON)


OSPREY > set host falcon 

    Unauthorized use of this system is prohibited... 

Username: SYSTEM
Password: 

    Welcome to node FALCON, a MicroVAX 3900 Series running VMS V5.4-3  

    Last interactive login on Wednesday, 30-JAN-2013 23:06
    Last non-interactive login on Wednesday, 30-JAN-2013 23:14

FALCON >  lo
  SYSTEM       logged out at 30-JAN-2013 23:26:30.22
%REM-S-END, control returned to node _OSPREY::
OSPREY > set host falcon /lat
%LAT-S-CONNECTED, session to FALCON established
%LAT-I-TODISCON, type ^\ to disconnect the session

    Unauthorized use of this system is prohibited... 

Username: SYSTEM 
Password: 

    Welcome to node FALCON, a MicroVAX 3900 Series running VMS V5.4-3  

    Last interactive login on Wednesday, 30-JAN-2013 23:26
    Last non-interactive login on Wednesday, 30-JAN-2013 23:25

FALCON > lo
  SYSTEM       logged out at 30-JAN-2013 23:27:04.75
%LAT-I-DISCONNECTED, session disconnected from FALCON
-LAT-I-END, control returned to node OSPREY
OSPREY >
And I know - that is an OLD version of VMS!

Many Thanks

Mike T.

[email protected]
Posts: 4
Joined: Sat Jan 14, 2012 1:23 am

Re: Raspberry Pi SIMH Networking

Wed Mar 11, 2015 6:04 pm

Greetings,

Thanks for the write up. I successfully installed smh and got my VAX3900 running. My problem is that I toasted my SD card when I tried to restore my backup image from one of my old systems. The backup.sav file is about 1.9GB is size. After 3+ days of BACKUP running and restoring a bazillion small files to sys$login:[deufel.mail]*.*.* I was able to read my mail from 1985-1998. Unfortunately, from this point the Raspberry Pi started to have problems and experienced various hangs and panics. I'm guessing that all of the writing and rewriting of directory structures in the USER$DISK container file that smh uses wore out the flash memory.

I've been running my collection of Raspberry Pis off of iSCSI served partitions on a Lenovo iX2 NAS box using BerryBoot as a boot console and installing on the afore mentioned partitions. My problem is that I have not been able to successfully install the bridge software. I've tried numerous times to follow the cookbook above but in all cases the Pi hangs during boot. The bridge is up and running (I can ping the bridged IP address successfully) but the IP address of eth0 is not there (it doesn't respond to pings).

The tail of the console output is:

[ ok ] Mounting local filesystems…done.
[ ok ] Activating swapfile swap…done.
[ ok ] Cleaning up temporary files….
[ ok ] Setting kernel variables …done.
[….] Configuring network interfaces…Set ‘tap0’ persistent and owned by uid 0

Waiting for br0 to get ready (MAXWAIT is 5 seconds).
done.
[ ok ] Cleaning up temporary files….
[ ok ] Setting up ALSA…done.

<<< No further console output >>>


As I understand it, the Raspberry Pi gets its IP address from BerryBoot (has to be able to touch the iSCSI server) but I'm at a loss as to why I'm hanging. Again, this worked on with a SD card.

Has anyone been able to successfully get the bridge package running while using BerryBoot to boot off of an iSCSI server? If so, could you share your /etc/network/interfaces and any other config files that you have changed to make this work?

Alternately, can anyone point me to an alternate console software package that would allow me to boot off an iSCSI server?

Thanks for the information.

Cheers,
Dan

User avatar
mike632t
Posts: 104
Joined: Sat May 19, 2012 7:56 pm
Location: UK

Re: Raspberry Pi SIMH Networking

Thu Mar 12, 2015 7:59 am

I wouldn't expect eth0 to get an IP address - during the boot process on both my Pi and my PC I get a message about waiting for BR0 to come up, a 5 second wait, and then the boot process continues normally.

The output from ifconfig on my PC which has the same config for running simh and qemu is below (and yes I have configured two bridged interfaces):

Code: Select all

br0       Link encap:Ethernet  HWaddr 00:13:21:64:48:94  
          inet addr:192.168.16.166  Bcast:192.168.16.255  Mask:255.255.255.0
          inet6 addr: fe80::213:21ff:fe64:4894/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1616 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1485 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1227195 (1.1 MiB)  TX bytes:141648 (138.3 KiB)

eth0      Link encap:Ethernet  HWaddr 00:13:21:64:48:94  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1637 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1490 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1258702 (1.2 MiB)  TX bytes:152022 (148.4 KiB)
          Interrupt:17 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

tap0      Link encap:Ethernet  HWaddr 46:38:41:36:52:11  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

tap1      Link encap:Ethernet  HWaddr 2e:ff:32:13:3d:98  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
I'm not an iSCSI expert but I wonder if since you are booting from an iSCSI device the connection is being dropped when the bridge interface is brought up..

I'm not familiar with berryboot - have you dritten up how you configured the Pi to boot from iSCSI anywhere?

Good luck,

Mike T.

[email protected]
Posts: 4
Joined: Sat Jan 14, 2012 1:23 am

Re: Raspberry Pi SIMH Networking

Thu Mar 12, 2015 7:07 pm

A bit more investigation shows that the Raspberry Pi is disconnected from the iSCSI target at the point in the console log above. Curious.

The OS gets its IP address from BerryBoot as BerryBoot has to be able to communicate with the iSCSI target. There is an option in BerryBoot to have it use a static address rather than getting a DHCP served address (default). The BerryBoot IP address is persistent for the operating system instance as the OS depends on the IP connection to the iSCSI target remaining intact.

As an experiment, I've tried adding the specific IP information for eth0 to /etc/network/interfaces. This had no effect. Adding the eth0 parameters alone had no effect on booting and rebooting the system. Adding the eth0 parameters did not prevent the system hang and the apparent disconnecting of the iSCSI target.

I'm missing something...

[email protected]
Posts: 4
Joined: Sat Jan 14, 2012 1:23 am

Re: Raspberry Pi SIMH Networking

Wed Mar 25, 2015 4:42 pm

OK... I confess. I have given up. I can't seem to get the connection to my iSCSI system partition to stay up or reconnect successfully after the bridge/tunnel is activated.

I've gone to Plan-B. I spent $10.00 for a Tenda USB to Ethernet adapter and am using that for the simh VAX/VMS connection to the network. This has eliminated the need for the bridge and tunneling packages.

Here is a brief description of my environment and installation steps:

1) Create a 32GB iSCSI partition on my IX2-DL NAS server.

2) Load a 1GB microSD card with the latest version of BerryBoot and start up my RPi.

3) Select a NAS iSCSI target for BerryBoot to install the OS on.

3a) I assign a static IP address for the RPi to use.

4) Select Raspian as the OS to install and go make a cup of tea while it installs.

5) After the RPi boots off of the iSCSI partition and you finish configuring it, install the latest updates using apt-get update and apt-get upgrade.

6) Download the simh software and follow the build instructions to build a network enabled version of the simulator.

7) Edit /etc/network/interfaces to look like this:

Code: Select all

root@rpi5:/etc/network# cat interfaces
# Static network configuration handled by Berryboot
iface eth0 inet manual

auto lo
iface lo inet loopback

# External Tenda USB to Ethernet Adapter
auto eth1
8) Copy the .ISO image of the VAX/VMS OS Installation CD to your RPi.

9) Create a vax.ini file in your chosen directory. My vax.ini looks like this:

Code: Select all

root@rpi5:~/vax/VAX01# cat vax.ini
LOAD -r /root/vax/simh/VAX/ka655x.bin
ATTACH nvr /root/vax/VAX01/nvram.bin

SET RQ0 RA90
SET RQ1 RAUSER=2048
SET RQ2 RAUSER=2048
ATTACH RQ0 /root/vax/VAX01/VMS-RQ0.dsk
ATTACH RQ1 /root/vax/VAX01/VMS-RQ1.dsk
ATTACH RQ2 /root/vax/VAX01/VMS-RQ2.dsk
SET RQ3 RRD40
ATTACH RQ3 /root/vax/cds/VAXVMS061.ISO
SET RL DISABLE
SET TS DISABLE

SET CPU 64M
SET CPU IDLE

SET XQ MAC=00:11:22:33:44:55
ATTACH XQ ETH1
10) Run the simulator, invoke the vax.ini file (do vax.ini), and boot the VAX off of DUA3, the distribution in this case.

11) Install VMS, install and configure TCP/IP.

In the end, the last two lines of vax.ini point the VMS device XQA0 to the Tenda USB-Ethernet adapter. The simulator owns eth1 and all traffic through eth1 goes to VMS.

Don't expect lightning speed I/O. The 100BaseT connection to the NAS iSCSI partition are slow to start but compete with any other network traffic through eth0. It took my emulator over 40 hours to restore a 1.87GB save set from a scratch disk (DUA2 in my case) to the VMS user disk (DUA1 in my case). This created 60,000 files on my user disk (mostly small 1-2 block mail files).

All in all, the Tenda USB-Ethernet adapter was $10 well spent.

For the simh users out there who want to run a VMS system on their Raspberry Pi, here are some useful references:

Code: Select all

http://www.wherry.com/gadgets/retrocomputing/vax-simh.html
https://vanalboom.org/node/18
http://www.montagar.com/~patj/vbegin.htm
http://simh.trailing-edge.com/pdf/vax_doc.pdf
http://simh.trailing-edge.com/pdf/simh_faq.pdf
http://simh.trailing-edge.com/pdf/simh_doc.pdf
http://simh.trailing-edge.com/pdf/all_docs.html

Return to “Advanced users”