One year of uptime

A week or so ago I noticed that the 2.11BSD system that controls the lighting in my home had an uptime of almost a full year.

Ever since I added the DEUNA to PDP2011 end of 2012, I’ve had at least one 2.11BSD system running, and a couple of times I almost reached an uptime of a year – but every time just before the magical date something happened. Most often the power failed – from accidentally flipping the switch while cleaning, to an explosion in the transformer down the street that left 10.000 homes without power (no, that one wasn’t my fault). And the latest, just over a year ago when I was going to charge some batteries in my garage and the extension cord caused the RCD to trip. No wonder – it is the cord I use for gardening, and there are lots of suspicious looking patches of gaffer tape on it… hey, why fix something that works most of the time. Anyway this time around I was a bit more careful, and no last minute surprises from the power company either.

Here it is.

[sytse@i5 ~]$ telnet de0
Trying 10.1.0.4...
Connected to de0.
Escape character is '^]'.


2.11 BSD UNIX (de0.sytse.net)

login: root
erase, kill ^U, intr ^C
# uptime
  8:04pm  up 367 days,  7:18,  2 users,  load averages: 0.40, 0.24, 0.02

# sysctl kern.boottime
kern.boottime = Fri Apr  5 12:46:44 2024

# head -1 VERSION
Current Patch Level: 447

# uname -a
BSD de0.sytse.net 2.11 2.11 BSD UNIX #6: Mon Mar 11 00:14:01 CET 2019     root@de0.sytse.net:/usr/src/sys/PDP2011  pdp11

# ps ax
   PID TTY TIME COMMAND
     0 ?   3:02 swapper
     1 ?   0:06  (init)
    44 ?  15:35 syslogd 
    54 ? 162:33 update 
    58 ?   2:47 acctd 
    66 ?   0:03 /usr/sbin/inetd 
    70 ?   0:18 rwhod 
    74 ?   0:00 /usr/sbin/lpd 
    91 ?   3:16 /usr/sbin/sendmail -bd -q1h 
    98 ?   9:31 ntpd 
  8390 ?   6:31 cron 
   102 co  0:01 -sh 
   103 l1  0:00 - std.9600 ttyl1 (getty)
 17367 p0  0:00 telnetd 
 17368 p0  0:01 -sh 
 17374 p0  0:00 ps ax 

# df
Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
/dev/xp0a        7816     3426     4390    44%    /
/dev/xp0g      151625    88639    62986    58%    /usr

# netstat -in
Name  Mtu   Network     Address            Ipkts Ierrs    Opkts Oerrs  Coll
de0   1500  10.1        10.1.0.4         8691809     0  1603254     0     0
lo0   1536  127         127.0.0.1             14     0       14     0     0

# netstat -s
ip:
        6858158 total packets received
        0 bad header checksums
        0 with size smaller than minimum
        0 with data size < data length
        0 with header length < data size
        0 with data length < header length
        0 fragments received
        0 fragments dropped (dup or out of space)
        0 fragments dropped after timeout
        4665 packets forwarded
        0 packets not forwardable
        0 redirects sent
icmp:
        0 calls to icmp_error
        0 errors not generated 'cuz old message was icmp
        Output histogram:
                echo reply: 6
        0 messages with bad code fields
        0 messages < minimum length
        0 bad checksums
        0 messages with bad length
        Input histogram:
                echo reply: 6
                destination unreachable: 1
                echo: 6
        6 message responses generated
tcp:
        399904 packets sent
                339516 data packets (309499436 bytes)
                6 data packets (4104 bytes) retransmitted
                31279 ack-only packets (3878 delayed)
                0 URG only packets
                1 window probe packets
                1563 window update packets
                27539 control packets
        248423 packets received
                203445 acks (for 309512554 bytes)
                2026 duplicate acks
                0 acks for unsent data
                50790 packets (9462678 bytes) received in-sequence
                68 completely duplicate packets (534 bytes)
                1 packets with some dup. data (1 bytes duped)
                109 out-of-order packets (0 bytes)
                0 packets (0 bytes) of data after window
                0 window probes
                0 window update packets
                0 packets received after close
                0 discarded for bad checksums
                0 discarded for bad header offset fields
                0 discarded because packet too short
        13552 connection requests
        115 connection accepts
        13667 connections established (including accepts)
        13676 connections closed (including 0 drops)
        10 embryonic connections dropped
        127813 segment updated rtt (of 141693 attempts)
        325 retransmit timeouts
                0 connections dropped by rexmit timeout
        0 persist timeouts
        2 keepalive timeouts
                2 keepalive probes sent
                0 connections dropped by keepalive
udp:
        0 incomplete headers
        0 bad data length fields
        0 bad checksums
        6077017 no ports
        6077017 (arrived as bcast) no ports

7 Comments

Kurt Vangsness April 13, 2025 Reply

Thanks for an amazing project! I’ve successfully run 2.11BSD on a de0n but am trying to boot a v7 rp06 disk and it isn’t working. I’m assuming that the standard cons-de0n-basic top.vhd is 4M and I need to configure for 2M. I’ve looked for a while but can’t find what I need to change – can you point me to the necessary change?

sytse April 13, 2025 Reply

Hi Kurt

Near the bottom of the cons-de0n-basic/top.vhd there is a line:

dram_match <= '1' when addr(21 downto 18) /= "1111" else '0';

if you change that to

dram_match <= '1' when addr(21) /= '1' else '0';

(note the single quotes) you'll get 2M.

Or else you could set the modelcode to 45. Both should work with V7.

Kurt Vangsness April 14, 2025 Reply

Thank you! I was a system administrator at Bell Labs in the early 80s on PDP 11/70s (and VAX 11/780s) running research Unix so getting v7 running is really going to be a blast. I have a PiDP 11 that my de0n will be driving!

Kurt Vangsness April 14, 2025 Reply

Well – with that change the boot of v7 gets farther. It reports the memory and then hangs:

: hp(0,0)unix
mem = 2020544

I’ve tried an rp06 v7 image I built with simh from tape as well as another image but both behave this same way…

sytse April 14, 2025 Reply

Dunno – I tested and it works here.

Could you try with my rp06 image? https://pdp2011.sytse.net/wordpress/v7rp-dsk/

Or else try if it works if you set the modelcode to 45. And you could also try setting the paneltype to 0.

Kurt Vangsness April 15, 2025 Reply

Looks like my problem was a bad sd card. I had one with the 2.11 BSD image that was working and was using another for my v7 attempts. Tried copying the v7 rp06 to the card that was working with 2.11 BSD and v7 now boots just fine. Thanks for all the help and again for a really nice implementation!

Mark Williams April 16, 2025 Reply

Hi Syste?
I am a newbie to this (incredible) project and recent acquirer of PiDP11 box. Is their a group or blog to join so I can follow please?
cheers,
Mark (Australia)
Retired Embedded Engineer (no FPLGA experience)

Leave a Reply to Kurt Vangsness Cancel reply