Wednesday, August 30, 2017

Installing s-tui and pre-requisites

s-tui is a nice terminal graphic performance monitor, showing utilization, frequency and system temperature. 

Here is an article about s-tui

and the GIThub link

It is installable with pip, so pip must be installed.

To do that, first install pip

sudo apt-get install -y python-setuptools python-dev build-essential

then pull in pip

sudo easy_install pip

next one can install s-tui

pip install s-tui

It's been tried out on raspberry pi, raspian, and on ubuntu 16.04 on intel.

It needs work on armbian, at least on the orangepi zero system.

Saturday, August 26, 2017

Program attiny 85 with arduino uno

Full details on link, showing lashup here from article on link above.

 After uploading the code, grab your Attiny and other stuff and set up things this way-

Raspberry pi zero headless setup

credit to leo gaggl

If you are using the GUI (Raspian full download) and want to connect your RPi Zero to a keyboard and monitor there are probably easier ways to do this. These notes are for people that want to use a headless (no monitor and GUI) setup ready to connect to your RPi after first boot via SSH from another terminal.

Download Raspbian Lite

wget -O
Download link:

Write Image to SD Card

dd bs=4M if=2017-08-16-raspbian-stretch-lite.img of=/dev/sdb
After this step there should be 2 additional mounts (if not mount the 2 SD card partitions manually).

Set up network interfaces

Create a new config file for the wireless interface.
cd etc/network/interfaces.d/
vim wlan0.conf

Add the following to the new file (if you want to use DHCP – change to static if you want to fix the IP):
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Set up connection details for local wireless network

vim etc/wpa_supplicant/wpa_supplicant.conf
Check the file and ensure the network settings are as per the Wireless Network you are connecting to.
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

You could use the clear-text PSK passphrase but I prefer not to do that in configuration files. Create a PSK hash using ‘wpa_passphrasethis older article
There could be other config values you might need depending on the network you are connecting to. More info:

Ensure there are DNS Servers configured

sudo vim etc/resolv.conf
Add the following to the new file (or your own nameservers):
# Google's public DNS servers

Enable SSH Access

Create an ssh empty file in the mounted boot partition. This is necessary to enable SSH access as SSH is by default disabled on more recent versions of Raspbian.
cd boot/
sudo touch ssh

Boot RPi

Boot the Rpi by powering up and after ~30secs you should be able to connect to the IP assigned. Check your router or ise ‘nmap’ or similar to check the assigned IP:
sudo nmap -p22 -sV
Default login details are
UID: pi
PWD: rasbperry
My normal further setup steps for RPi 3 are here.
EDIT [2017-08-21]: One of the things necessary on later RPi’s is to turn off power saving mode on the WLAN interface.
sudo iw dev wlan0 set power_save off

unix source link,

Page with unix sources.

Monday, August 7, 2017

systemd action 9 suspended

getting systemd action 9 suspended.

Hint here:
"Root cause: rsyslog was trying to use xconsole, a program not installed, to send some logs to."

seems to have vanished after installing xterm, though not clear why.

/etc/init.d/rsyslogd has code to create /dev/xconsole (which is supposedly the problem it's missing) by linking /run/xconsole to /dev/xconsole.

After installing xterm they are both still missing.

Note: this system is a server configured system with xfce4 xrdp and tightvnc installed to give remote access.  Suggestion that xterm was missing is in other online hints.

Sunday, August 6, 2017

XRDP failure log message: connecting to 5910 error - problem connecting

The messages

connecting to sesman ip port 3350
sesman connect ok
sending login info to sesman
login successful for display 10
started connecting
connecting to 5910
error - problem connecting

Printed in the dialog box when attempting to connect to an XRDP enabled system.

The latter problem implies a connectivity problem, which couldn't be further from the cause.

Many sites insist that installing XRDP, vncserver (of some sort) in one order or another is the problem.  Also misleading.

Then you look in xrdp-sesman-log in /var/log, you will see this

[INFO ] starting Xvnc session...
[ERROR] X server for display 10 startup timeout
[INFO ] starting xrdp-sessvc - xpid=3531 - wmpid=3530
[ERROR] X server for display 10 startup timeout
[ERROR] another Xserver is already active on display 10
[DEBUG] aborting connection...[20130627-08:55:49]
[INFO ] ++ terminated session:  username root, display :10.0, session_pid 3529, \
      ip - socket: 7

Indicating that somehow your RDP session has two Xservers active.  What happens when you log in is that a login method is performed to authenticate, and the top dialog indicates the progress of that.

Then it will spawn some VNC server session for the X session (uses 10, 11, etc.) to connect.

If you read the symptoms here, there is already a session or server on 5910.  Completely wrong.

To find the problem, one has to try running the window manager.  I don't know if this would happen for other than xfce4, which I use, but it produces the root problem.  run:

If you try running vncserver, you will see at the end of the startup this:

[dix] Could not init font path element /usr/share/fonts/default/Type1, removing from list!
[dix] Could not init font path element built-ins, removing from list!

Fatal server error:
could not open default font 'fixed'

Turns out that if any failure occurs in the chain of events between the authentication after the RDP login and getting the session going, you get the " Xserver is already active on display" message in the var log sesman log.

Other errors I suspect produce the same nonsense, someone reported when the vnc server and client couldn't agree on a geometry, the same error occurred.

This is probably the solution to all the load order issues and which vnc server (real or tight) package you use.

I have solved it by installing xfonts-base

This also solved my problem.

set static IP from command line gui Armbian / Debian 7 Orange Pi Zero 512

Recently I acquired a couple of OrangePi Zero 512's, with a network phy, and dual usb.  The latter is not terribly useful because w/o modification to physically drive in more +5 there isn't much 5 v to spare on either port of this board.  It is powered by a USB OTG micro port, which at most will draw 2.1A.

The armbian comes up with the root password set to "1234" and a script to force changing the password at first login.  One can log in to either the serial port (presented on the OTG as a USB serial), you may wire in a serial port, or ssh into the unit once you find it.

The latter is a bit of a problem, however.  For whatever reason the current armbian is set up to assign a random crap MAC address to the board.  There is no retention of a MAC in any storage, so that isn't a huge problem.  However, the MAC must be being set early enough that there isn't any of the static storage of the root available, so no static address.

Against my desire and policy here, I decided to set a static IP to the board, which skirts the need for a static MAC.  I usually like to have everything DHCP so I can change any device by the dhcp server, but static IP will work to get round this.

to set the IP, one has to edit the ip with the network manager.  the network manager may be edited with the nmgui command.  Edit the ip from automatic to manual, and set up the IP.

The only caveat that needs to be recalled is that there is no netmask.  The gui uses the format of or such to set the netmask.  Kind of against command line and file standards, but that took some hunting for when the setup failed for me a few times.  And there is no netmask prompt.

One can either reboot the system, or restart the network manager.  Seems like on a systemd type system this does that task

sudo service network-manager restart

********* on the topic of armbian  ****

this method didn't work for the orangepi to change the configuration.  Should work on some form of debian, but somewhere else must be some network code setup on armbian that ignores the settings in the /etc/networking directory configuration files.  Has no effect at all.

Thursday, July 6, 2017

Redhat EL7.3 XRDP install

xrdp is an Open Source Remote desktop Protocol server, which allows you to RDP to your Linux server from Windows machine; it is capable of accepting connections from  rdesktop, freerdp, and remote desktop clients. This how to will help you to setup xrdp server on CentOS 7 / RHEL 7.


1. This was written when xrdp is available neither on CentOS repositories nor on EPEL repository, after a lot of Google search; i found desktop repository ( which was having xrdp for CentOS 7 / RHEL 7. We need to manually setup the repository on CentOS 7.
2. Don’t forget to install Gnome on CentOS 7

Automatic (recommended):

Install EPEL and nux Desktop repository rpms.
# rpm -Uvh
# rpm -Uvh


Create a repository file.
# vi /etc/yum.repos.d/xrdp.repo
Place the following content. Once added, save and close the file.


Issue the  following command to install xrdp
# yum -y install xrdp tigervnc-server
You will get the following output, make sure you are getting package from the newly created repository.
 --> Running transaction check
---> Package xrdp.x86_64 0:0.6.1-2.el7.nux will be installed
--> Finished Dependency Resolution
Dependencies Resolved
Package        Arch             Version                   Repository      Size
xrdp           x86_64           0.6.1-2.el7.nux           xrdp           271 k
Transaction Summary
Install  1 Package
Total download size: 271 k
Installed size: 1.5 M
Is this ok [y/d/N]: y
Downloading packages:
xrdp-0.6.1-2.el7.nux.x86_64.rpm                            | 271 kB   00:05
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : xrdp-0.6.1-2.el7.nux.x86_64                                  1/1
Verifying  : xrdp-0.6.1-2.el7.nux.x86_64                                  1/1
xrdp.x86_64 0:0.6.1-2.el7.nux
Once it is installed, lets start the xrdp service.
# systemctl start xrdp.service
xrdp will listen on 3389, lets confirm this by issuing following command.
# netstat -antup | grep xrdp
tcp        0      0  *               LISTEN      1508/xrdp
tcp        0      0*               LISTEN      1507/xrdp-sesman
By default, services wont auto start after system reboot. Issue the following command to enable the service at system start up.
# systemctl enable xrdp.service
Next is to create iptables rule to allow rdp connection from the external machines, following command will add the exception for rdp port (3389).
# firewall-cmd --permanent --zone=public --add-port=3389/tcp
# firewall-cmd --reload
Configure SELinux
# chcon --type=bin_t /usr/sbin/xrdp
# chcon --type=bin_t /usr/sbin/xrdp-sesman


Now take rdp from any windows machine using Remote Desktop Connection, enter ip address of Linux server in computer field and click on  connect.
CentOS 7 – xrdp MSTSC
You would be asked to enter the user name and password, you can either use root or any user that you have it on system. Make sure you use module “sesman-Xvnc”.
CentOS 7 – xrdp Login page
If you click ok, you will see the processing. In less than a half min, you will get a desktop.
CentOS 7 – xrdp Desktop

Sunday, June 11, 2017

Restoring Ultra 5 NV ram info

This set of notes resets a serial into a Sun ultra 5 after power on, or replacement

Note that the BIOS battery in this unit has expired (the system was manufactured 17 years ago after all).  When you initially power on the system, you will need to program the PROM serial number and manually boot the system.  The procedure to program the PROM serial number follows:

1.) Invalidate the PROM XOR checksum:
57 f mkp <enter>
2.) Program the PROM's Serial number:
8 0 20 2b 59 d2 2b59d2 mkpl <enter> <ctrl-d> <ctrl-r>
3.) Reset the system so that the system detects a proper serial number during POST:
reset <enter>
4.) Boot internal hard drive:
boot disk <enter>

*If you need to stop the system, press <stop-a> to get to the "OK>" prompt.

Friday, June 9, 2017

Downgrading php from 7.0 to 5.0

Php7 is installed by default on Ubuntu 16.04. 

The copy of gregarius, an RSS aggregator / reader uses php revision greater than 4.  Many of the mysql php core functions, and string editing is needlessly mangled in 7.0, and editing and updating the gregarius package is a very large task.

It is easier to downgrade the php for now than editing gregarius.  FWIW gregarius is pretty much dead in support after 2006, very old, which is sad since it is a nice stable tool.

it requires mysql, but luckily the downgraded php 5 works along with the mysql extensions.

Procedure snarfed from another blog to remove php 7 and install 5.6 from another repository, ondrej.

Remove all the stock php packages
List installed php packages with dpkg -l | grep php| awk '{print $2}' |tr "\n" " " then remove unneeded packages with sudo aptitude purge your_packages_here or if you want to directly remove them all use :
sudo apt-get purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
Add the PPA
sudo add-apt-repository ppa:ondrej/php
If you get add-apt-repository: command not found run the following command first :
sudo apt-get install software-properties-common
Install your PHP Version
sudo apt-get update
sudo apt-get install php5.6
You can install php5.6 modules too for example
sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml
Verify your version
If you have installed php5.6-cli
sudo php -v
If you don't have php5.6-cli, put this on a .php file
      //outputs php configuration info

restarting apache

dpkg-reconfigure phpmyadmin


Tuesday, May 30, 2017

foscam dvr and camera web plugins blocked by flash

In Firefox 52 (? I think) the flash execution is blocked by default.  There is no key present to disable the blocker in the Firefox config.  Instructions from Foscam support shows what to do go go round it.

If you are vulnerable to exploits this may allow malware to run flash exploits, so any PC this is installed on should be evaluated for public or even local exposure to malware.  Suggest no email, no browsing, limited lan exposure, or even private router natted if you are really paranoid.

Firefox has just released new version 52.0, in this version it has disabled support for NPAPI plugin which Foscam and other manufactures are using.

With this update, Foscam plugin can no longer run properly.
 But you can still setup Firefox following below steps to get your Foscam devices work again on Firefox 52.

Step1: Input about:config in Firefox address bar, hit enter

You’ll see warning message below, please click ‘I accept the risk’.

Step2: Right click and choose New, then Boolean
Please input name plugin.load_flash_only
Then click OK, choose false and click OK again.
Step3: Please restart Firefox and try again.

Saturday, May 27, 2017

Openmediavault notes

Openmediavault is an opensource nas system that supports intel and arm.

Most notes here will be related to the Friendlyarm Nanopi Neo and Nanopi Neo2

First tests with v1.0 media dock had some problems.  The USB port on the dock board worked, but the original attempt to use a Seagate 2tb drive didn't work.

After much help from Friendlyarm and debugging the kernel, it appeared that there was a probably known bug manifested for the drive in this case.  Will be testing later with other drives and also new builds of the kernel as well to see if that problem works out.

Great support from Friendlyarm in working on this.

V1.0 JM20329 SATA -> USB bridge.  The board has a 12V supply which runs both the SATA drive and the NEO or NEO2 board.

Updates for V1.2 to follow.

The Friendlyarm NEO and NEO2 both have debian builds with openmediavault already built.  Most of the instructions for installing the OMV on the Intel or generic build up install can be ignored, because as supplied, the Friendlyarm images have been installed with generic settings, then the SD images saved.

The instructions below have instructions on a "from bare metal" install on Intel and perhaps others, and the info for configuring the Openmediavault post install from the web interface is the reason for including the links or information here.


Howto forge page on installing scratch openmediavault.

Current OMV version for NEO2 in use:

5/25/2017, link below

Thursday, May 25, 2017

c# json. Converting json to c#; convert xml to c#

For those who land here from google searching for the reverse
(generate the C# class from JSON) - I use those fine online tools:
From reverse jsonclassgenerator tool is great. Another simple option is to use Edit->Paste Special-> Paste JSON as Classes in Visual Studio. This creates a class too! Quite handy sometimes. – sandiejat Mar 16 at 5:25
Json <--> csharp

Tuesday, May 16, 2017

Ebay history download tool

Ebay doesn't let you download your buy history.  This tool exports it in various formats.

The most useful being xml.  However the XML is actually exported as a multivalue format,
and generic parsers do not get it right.

schema is:


within each <items> object there are multiple <item> objects each representing a separate transaction with the vendor of <items> object.  So a multi-valued database would have no problem.  However
linear xml parsing results in a mess if translating later to such as an XML or flat file.

however beats nothing as an export tool

There is a chrome plugin called "ebay purchase history report". This is the best I have found so far. Only problem is it does not show the tracking# of the ordered item.

Friday, May 5, 2017

Replies to Zos messages

Issue is how to reply to messages.  

All replies to messages in z/OS (and other versions of MVS) are done with
the reply command. The command is issued as "R <id>,<text>", where <id> is
the reply ID printed next to the message and <text> is the text of the
reply. There's no reply ID shown next to this message because the reply ID
at NIP time (before the full console display is redrawn) is always 00. That
means you need to enter the command as "R 00,'I'" (without the "").

Thursday, April 27, 2017

Ubuntu 16.04 exfat mount with ntfs. 128gb SD cards example

How to Mount EXFAT partition on Ubuntu 16.04 LTS

To mount exfat partition on Ubuntu, simply install the necessary packages:
$ sudo apt-get install exfat-fuse exfat-utils

If you need to mount it from the command line, you could do
$ sudo mkdir /media/exfat
$ sudo mount -t exfat /dev/sdxx /media/exfat
where /dev/sdxx could be /dev/sda1 or /dev/sda2, or so on.

If you are not sure whether the exfat partition you are looking for is /dev/sda1 or /dev/sda2, then you could also run
This should do it! 

The ghome-disks utility can also be used to start and mount this.  Since it is /dev/mmc and not /dev/sd, the system will probably have it assumed to be system owned, and will mount under root ownership only.

You can follow the above, but will then have to do a lot of crap with permissions to the mount.  If it were or is a fixed mount and not the automount /media mechanism one can do that once.  However it will be reset on every mount and be inconvenient.

Solution might be to use gnome-disks.  That has a problem however.  The FUSE exfat driver and the above asset is root owned.  Gnome-disks will not access and mount it due to the system ownership problem

So use a utility to run gnome kit stuff from a command line as su root.

apt-get -y install gksu

installs the gksudo and other stuff.

gksudo gnome-disks will mount the device and make it properly available.

Note that sudo gnome-disks makes the thing root owned again, since you are running as root user in the desktop.  gksudo will run as root, but effectivly as the user desktop user id.

Thursday, April 20, 2017

support for ancient ubuntu releases

I've got a couple of machines that probably won't upgrade nicely, and the "gee why can't you upgrade them" comments are useless.  The ones I had were appliance downloads popular at the time I obtained them, and there was not the usual trail of how they were built accompanying them.

since one is my email archive I will continue to run it till SMTP POP3 and IMAP protocols die without any update.

Here is a link which worked for my oldest version, hardy, which is Ubuntu 8.  The date of the release is to probably 2006 maybe earlier.

Here is the most useful answer (including the useless suggestion to update). 


Your system is End-of-Line (EOL), therefore not officially supported. Unless you have a good reason for sticking with 9.04, upgrade to a newer version. 16.04 is the next long-term supported release for Ubuntu, which will continue to receive updates.
To access old Ubuntu repositories, take a look at
There is also an official Ubuntu documentation for EOL upgrades
They say you should be able to access your packages by putting the following into /etc/apt/sources.list. Important: Change CODENAME to your distribution's code name, e.g. jaunty.

## EOL upgrade sources.list
# Required
deb CODENAME main restricted universe multiverse
deb CODENAME-updates main restricted universe multiverse
deb CODENAME-security main restricted universe multiverse

# Optional
#deb CODENAME-backports main restricted universe multiverse
Just run apt-get update and you can use them.

Thursday, April 6, 2017

Migrating Readynas Radiator to OS 6 Readynas devices

One challenge in migrating from Sparc architecture products, to Intel or other (Arm), is that the Linux file system on sparc was built with a 4k block size, rather than 512.

On Intel linux, if you set up your disks, you can mount them with some incantations and special procedures.  Not sure how the Readynas Linux handles that problem, but there is a link showing it.

I had a bad disk and some problems with the data recovery firmware on a REadynas NV+ some years ago and got the support group to help me get around it.  In the mean time, I had mounted the 4 drives on an Intel linux system I'd built up and had recovered most of the data.

Copy of article for archival:

This articles outlines the necessary steps to access data on disks from ReadyNAS units running RAIDiator on ReadyNAS OS 6 units.
Due to differences in CPU architecture and operating system between RAIDiator and ReadyNAS OS 6, it may be necessary to take additional steps once the disks are moved to an OS 6 chassis.
If your ReadyNAS running RAIDiator is still functional, and you can access the data, we recommended you first backup the data to another location
If you can no longer access the data using your legacy ReadyNAS and you wish to access the data using your ReadyNAS OS 6 device, booting may not be as easy. Depending on which legacy model the disks come from, and which ReadyNAS OS 6 you posses the steps differ to make the data accessible.
After initially moving the disks from the legacy ReadyNAS to the ReadyNAS OS 6 model please be aware of the following items;
  • Do not attempt an OS reinstall
  • Do not attemp a factory reset
  • The RAID must be healthy i.e. if the RAID was broken on the legacy NAS it will not always be possible to access the data on the ReadyNAS OS 6 - an example of this would be 2 failed disks in a 4 disk RAID 5.
  • ReadyNAS OS 6 model must have at least the same amount of drive bays as the legacy ReadyNAS
  • Logging a ticket with Technical Support may be required
  • Purchasing a data recovery contract may be required
  • You may require one additional spare blank disk
  • You may require an external location to where you can recover your data to i.e. external USB HD, network share, other NAS storage.
To find the steps needed to access the data on your ReadyNAS OS 6 device, find your model below:
  • ReadyNAS OS 6
    • ARM
      • ReadyNAS 100 series (RN102, RN104)
      • ReadyNAS 200 series (RN202, RN204)
      • ReadyNAS 210 series (RN212, RN214)
      • ReadyNAS 2120 (RN2120)
    • x86
      • ReadyNAS 300 series (RN312, RN314, RN316)
      • ReadyNAS 500 series (RN516)
      • ReadyNAS 700 series (RN716X)
      • ReadyNAS 3130 (RN3130)
      • ReadyNAS 3138 (RN3138)
      • ReadyNAS 3220 (RN3220)
      • ReadyNAS 4220 (RN4220)
Find the model of your Legacy ReadyNAS running RAIDiator, click on the link and follow the instructions. X represents whether or not your model came with disks.

Tuesday, April 4, 2017

NFS Client and Server setup pages

To set up NFS Client and Server functions on Debian, et. al. here are some notes

NFS Server

apt-get install nfs-kernel-server nfs-common

NFS Client

apt-get install nfs-common


/home/jws ,sync,no_subtree_check)

Other setup details related to mount @ boot time, etc., refer to link below.

Examples above from:

Tuesday, March 28, 2017

Readynas Radiator 4.1 firmware problem with SMB CIFS shares

The changes made to SMB protocol from version 1 to version 3, seems to have killed the share mode of access on readynas older systems.

Switching to user share mode and creating a user is a pain as well.

But the share name is entered as a user id in passwd, but not put up as a user in the gui, which is a huge hole when you switch from share to user.

the only method of fixing it is to install EnableSSHAccess and log in as root.  One can then set an SMB passwd on the shares that exist, and each will be accessible with that passwd on system thru so far and including windows 10.

Also other secured user access is then possible once the sharing is turned on if desired.  The users cannot access others storage w/o using group access features.

Of course this has a possibility of voiding any service you have with Netgear (warranty for 4.x devices is long gone).  But if you have any service agreements, don't do this w/o checking since it may impact your agreements for unauthorized user mods to devices.

To install ssh access for 4.x radiator do the following

Download EnableRootSSHAccess for your architecture from here


Original NV+ and 1100 systems are Sparc.  Pro and Ultra systems on 4.x will be Intel.  I'm not sure if Arm has a 4.x version.  All the ones I've seen with Arm are 6.0


  1. Get the SSH bin file from the ReadyNAS web site. Click the Add-ons for RAIDiator 4.1.3+ link and scroll to the EnableRootSSH link. Download the bin file and store it on your local computer.

  2. Log in as admin on your ReadyNAS using a browser

  3. Update your ReadyNAS firmware (optional). This is under System > Update. Just click the Check for Updates button.

  4. Click the Local tab and click Choose File to find the EnableRootSSH.bin file that you previously downloaded. Upload this and follow the prompts.
 A restart of the Readynas system is required, if you have other users on the device.  (since some windows systems may work).  I doubt if any samba stacks such as one would have with shares on MacOS would work, but they may be impacted.

Install instructions from here;

CIFS mount problem on Linux, Error 12, can't allocate memory error

There is a workaround for this which is in the link below.

What worked however is this:

reg add HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters /v Size /t REG_DWORD /d 3 /f
sc stop  LanmanServer
sc start LanmanServer

Will have to research and update link with whatever is being done, but this worked for mounting my Google driver server windows 7 system.

Windows Xp so far has not shown the problem.  Other options have been necessary too, this is just the latest.

Occured on a Cubox debian Wheezy system on 3/27/2017 for me.


Monday, March 27, 2017

Microdata, Decision Data, and Western Dynex boards

These boards showed up in an auction and Al Kossow kindly directed my attention to the boards, sold after the system was scrapped.

There is a clean set of spares from a 2400 RPM Dynex, probably a 6000 drive, including backplane and terminator.

There is a Decision Data + Intel manufactured processor and memory set, as well as an 8 slot backplane in the lot.

And there is a Microdata manufactured 1600 board set in the lot, but with Decision Data markings in the etch and some of the silkscreens.  This includes a larger 14 slot backplane.

Included in the Microdata set, is a CPU set, DMA board set, 2950 (Decision Data badged), and one (or two) A20002613 8ways.  The 2613 had full modem control.

There is also an 8 port DB 25 board, which should work with any of the 8ways available, hopefully via ribbon cables.

There is an interesting cabling setup with an additional 50 pin connector on the 8 port connector that will have to be investigated.

Both of the backplanes are powered via molex connectors, rather than the Microdata Paddle board approach in the last slot.

Boards from Western Dynex 2400 RPM drive, probably 10mb capacity.

A2 Control

Tag says 2400RPM.  I am going to infer this was for a 10mb (5 over 5) drive, since I doubt many 5mb drives were made at 2400RPM

Closeup of service tag.  shows 2400RPM

Sector Counter A1

Servo A3

Data A4

Backplane, Pin side, showing Terminator and input cable slot

A1 Sector Counter / Control
A2 Control
A3 Servo
A4 Data
Backplane Component side.  Both sides have 3 level WW pins available on all pins

Set of boards in backplane, best guess as to location

Closeup of the shot with the boards in backplane
Only one board identified as Servo is pretty certain.  I guessed from memory on the others.
Closer shot of the boards in backplane

Decision Data processor set

8 Way connector Top 2 cables are probably from 2613.  not sure what the other one did

8 slot backplane.
Since there are no keyways in the backplane, and none on the 2901 cpu set boards, I'm guessing this is the backplane for the newer system.

Also it only hs the single 12 pin Molex power connection.  There is an 8 slot rear of board connector on the memory board below, probably to supply +5 and maybe a minus voltage to the memory array, so the backplane supply is probably enough +and- 12 to run the 2613's and a lot of +5 and ground

2901 cpu and firmware
Sadly one rom is missing, so no firmware disassembly is probably going to happen.
2910 and other logic in second CPU set board
A 40 pin chip / socket has been totally scraped off this, as well as maybe some other damage.  Worst damage of the lot.
Intel Memory board
The Etch shows Intel (in Intel font) made this board.  All the chips are NEC though.  Guess all the work making the board didn't pay off for the Intel memory division, unless they distributed or resold NEC parts.
Memory array on the Intel board
The array is of 16K x 1 parts, and there are 11 parts in each column.  Suggesting single bit correction 2 bit detection ECC capability with the memory.

Total of 64K, which would align with what a Microdata 1621 firmware board would do.
Memory chips with legible part#s
NEC UPD416C-2 parts  Date code 85 maybe on one chip?
NEC UPD416C-2  Link copied 3/2017
NEC UPD416C-2  PDF data sheet link copied 3/2017

200ns 16k x 1 memory Page Mode Dram

Microdata Compatable / manufactured (In*sight) boards

A20002613 8 way with modem control

Microdata A20002515 DMA board

Microdata A20001242 Control CPU board

Microdata A20001043 Data CPU Board

Second A20002613 8 way with modem control

A20001044-1 Front panel interface

14 slot backplane for Microdata CPU. 
From the spacing and practicality of the design, the 1040 front panel board goes in the slot on the left in the backplane.  Microdata had a 12 slot  with 20 amps, and an 18 slot with 40 amps (or 20) of their own.

Some outfit named Elko Pacific made these backplanes.  The connectors do not match the most common Microdata part for their original backplanes.  CDC originated the backplane connector that Microdata used.

This connector may be from a 130 pin connector vendor who made parts for the later Reality 6000's 8000s, and Royale systems.  The 1040 backplane had a heavier bakelite / plastic component.
Closeup of Elko Pacific badge and power input
Serial numbering didn't match the style of Decision data which used such as 111DDxxxx numbering

Also the backplane termination is shown.
This is serialed 6-05607

Closeup showing more etch info
Type A 18801434-2
also various other inspection stickers
111MD01001 is the Decision data style part number and appears to be possibly silkscreened on

Serial I/O DB-25 panel
Will to figure out if there is anything more than a multipurposing of the design to have the extra 50 pin connector.  The Microdata A20002613's would have used two 50 ribbon cables to the board.

Possibly another design board made by Decision Data used just a single 50 and omitted some signals.

When Microdata originally licensed the CPU to people, they had a single port RS232 with modem control board, a 4 way which had no scanner.

There were two 8 port boards with scanners, the 2612 and 2613.  The 2613 was designed by Bill Homans as one of his first projects.  Both of those boards had a scanner feature which was clocked around to present the status lines of each 8way to the software.  There was logic to "lock" the scanner when a line had a status change.  Ports could be disabled, in input listen and lock mode, or in interrupt driven output lock mode.

A single address starting @ 0x18 in the 1600 address space would control the board.  The board had one interrupt for the board, and usually used firmware assist to run the boards.

The original 1600 could run well with the later A20002614 and A20002615 designs, but did not do that well with the 2612 or 2613.

Microdata Reality used the 2614, 2615, and Irvine Computer Corp 80010001 8ways for I/O.

The 2614 and 2615 had only to have ground, transmit and receive to work.

The ICC 8way added flow control in and out in hardware with some additions of hardware to monitor the Reality I/O state.

Friday, March 10, 2017

Notes for running Windows 98 (or older OS's) on Rpi

Snip from a posting about making up a Raspberry Pi running QEMU running Windows 98.  Mainly a QEMU note.

This part needs to be done on a Windows based computer, not the Pi:
I broke out my copy of Windows 98 and followed this chaps guide to get the .img file needed for the emulator, copied it over to my Pi (into ‘/home/pi’ for ease of access).
Now back to the Pi:
Don’t worry about the Youtube video in the post above, that is for an older version of Raspbian, now Jessie has QEMU available and easily obtainable by typing:
sudo apt-get update && sudo apt-get install qemu -y
Time to test it. Navigate to ‘/home/pi’ and run:
qemu-system-i386 -localtime -cpu 486 -m 96 -hda win98.img
QEMU should pop up and begin launching Windows 98, when its loaded have a click around and then shut it down as you would a normal 98 machine.
When QEMU has shut off it’s time to apply…


I just installed debian jessie on a desktop PC. Ran the update and upgrade. And then I simply ran the apt-get install for qemu. That allowed me to do the entire win98 install on the desktop PC.

After installing qemu, I used the following command to create the img file:

qemu-img create win98.img 1G

Then I used the following command to install windows from a win98 ISO created from an original install disk.

qemu-system-i386 -localtime -cpu 486 -m 256 -cdrom d win98se.iso -boot d -hda win98.img

Doing that resulted in a quick, clean, problem-free windows 98 install. It bypassed all the Win98 installation problems I was having on the RPI. And this works much better anyway since the desktop is a much faster PC to work with.

After the win98 install, I took the resulting img file and copied it over to the PI. And then I used these instructions to get qemu running on the PI.

After qemu installed, I used the following command to run 98 on the RPI.

qemu -cpu 486 -m 256 -hda win98.img

It's slow, but seems to work great. The only problem I have found is it does not close cleanly. It always hangs on shutdown which means it always does a scandisk when it restarts. If anyone has any ideas how to fix that, I'd love to hear them.

Tuesday, March 7, 2017

vmx network setting notes

Vmware notes on selecting network adapters

Advanced network settings
VMX-file parameters

Basic setup
MAC address handling
ESX - specific
VMware-tools related Wake on LAN
Advanced setup - experts only Advanced MAC address handling - experts only

other parameters related to network

Basic setup - see basic table for reasonable blocks

ethernet0.present = "false" Main-switch: set to "true" to enable the device.
This parameter works like a mainswitch - if it is set to "true" all other parameters related to the same device are parsed. If it is set to "false" the other parameters are ignored.

ethernet0.startConnected = "true" Silently defaults to "true"
set ito "false" f you don't want the nic to be connected at boot

ethernet0.virtualDev = "vlance"
ethernet0.virtualDev = "vmxnet"
ethernet0.virtualDev = "e1000"
On current VMware-versions you can use any of these 3
e1000 performs best but your OS may not come with the drivers
vmxnet needs drivers that come with the VMware-tools
vlance should work on all older OS without additional drivers

ethernet0.connectionType = "bridged"
ethernet0.connectionType = "hostonly"
ethernet0.connectionType = "nat"
ethernet0.connectionType = "custom"

ethernet0.connectionType = "monitor_dev"
Sets the connection type.
Silently defaults to "bridged"

also see additional notes

ethernet0.vnet = "vmnet0"
ethernet0.vnet = "vmnet9"
Sets the number of the used vmnet.
Only use with connection type "custom"
also see additional notes


MAC-address handling

ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:0c:29:40:7e:22"
ethernet0.generatedAddressOffset = "0"
This lines are added automatically on first start of a VM.
If you need a different MAC delete this lines and use those from the next block

ethernet0.addressType = "static"
ethernet0.address = "00:50:56:3e:86:29"
This settings have to be used to configure a
MAC-address manually.

Valid range:

ethernet0.addressType = "static"
ethernet0.addressType = "generated"
ethernet0.addressType = "vpx"


advanced MAC-address handling

ethernet0.ignoreMACAddressConflict = "false"
I think this is another silent default - usually a Nic will not come up if the same Mac exists on the network.

ethernet0.noPromisc = "true"
This disables - well have a guess - yes , this disables promiscous-mode.
On Linux hosts you must be root to set nics into promiscous mode - read more

ethernet0.noForgedSrcAddr = "true"
This disables spoofing of Mac-address

ethernet0.reassignMAConResume = "true"
I guess this is another silent default - usually VMware tries to assign the same MAC after resume as it was used before resume.

ethernet0.checkMACAddress = "FALSE"
ESX and WS 6.5 - allows to set a MAC outside the usual range (experimental)
ethernet0.downWhenAddrMismatch = "false"
see knowledgebase


Tools related settings

ethernet0.allowGuestConnectionControl = "false" Disallow control of connection from inside the guest.
(Only works with guests that have VMware tols installed)
Silent default is "true"

ethernet0.disableMorphToVmxnet = "false"
Vlance-nics magically morph to VMXnet nics after tools-install.
Don't use ...


Wake on Lan

ethernet0.wakeOnPcktRcv = "false"
Workstation 6 and higher only
Set to "true" to enable WakeOnLan functions
Don't specify unless you really need it.


ESX specific ?


Ethernet0.connectionType = "monitor_dev"
Ethernet0.devName = "vmnic0"
Ethernet0.networkName = "sciquestprod"
ESX - specific ?


Advanced setup
WARNING: don't use this unless you kow what you are doing





Fine-tuning: don't ask me

ethernet0.features ="0"
Do you get poor UDP-performance with vmxnet-device ?
Try this - see forumpost
May speed up performance when running ghost ...

ethernet0.allow64bitVmxnet = "true"
ethernet0.allow64bitVlance = "true"
ON 64-bit hosts VMware likes to assign E1000 - but you can force it to use different adapters by useing this lines
along with the appropriate virtualDev-entries.

ethernet0.opromsize = ?
Boot ROM size - don't know details

ethernet0.features = "0x2"
Enable TCP Segmentation Offloading (TSO) for a Windows virtual machine on ESX 2.x
Reference: knowledgebase 1465


related parameters

These parameters are somehow related but not dependant on the main-switch that

vlance.noOprom = "true"
vmxnet.noOprom = "true"
Recent VMware-versions allow Network-boot.
If you know that you don't need this, you can free some memory by using this

ethernet.e1000.available = "true"
ethernet.vlance.available = "true"
ethernet.morphNICs = "true"
ethernet.perfMonInterval = ?
Don't use

vnet.dontProbe = "false"
Sometimes Windows-guests have problems to probe the
virtual Nics at boot-time: try this

Don't use it if you don't need it - it affects performance


There are two different ways to assign Virtual Nets:
The easy way uses one out of three options:
ethernet0.connectionType = "bridged"

ethernet0.connectionType = "hostonly"
ethernet0.connectionType = "nat"

The expert way uses a combination of 'connectionType' and "vnet"
ethernet0.connectionType = "custom"
and the exact number of the VNET you want - like
ethernet0.vnet = "vmnet0"
Lets have an example: you have two bridged networks on Player: vmnet0 and vmnet2
If you use
ethernet0.connectionType = "bridged"
ethernet1.connectionType = "bridged"
the second ethernet device will not come up.

If you use
ethernet0.connectionType = "custom" ethernet0.vnet = "vmnet0"
ethernet1.connectionType = "custom"
ethernet1.vnet = "vmnet2"
instead - both devices will come up.