Andrew Sharp
Current hardware and software investigation
Havic
Processor is an Intel E5 gen-4 8 logical core CPU. System itself is an off the shelf HP tower/server/desktop. It also has an add-in NVIDIA graphics/audio card with DVI-D and some non-standard HDMI-ish external ports. There is one HP PCIe x4 custom card, hereafter referred to as “the card.” The card does NOT appear on the PCI bus scan. It has what appears to be a roughly 8-pin data cable that exits the chassis via an open card slot. Additionally there is a power cable that connects to a standard PC power supply 4-pin (2 x +12v and 2 x Gnd pins) connector inside the chassis, and this also exits the chassis through the open card slot. Both these cables are used to connect to the PCB boards shipped with the Havic box. There are two external ports on the card, one appears to be a standard HDMI port, the other a standard-ish 6-pin header looking port. I do not know what these are for. The card has two chips on it, one I'm guessing is a clock chip, the other chip is maybe 10mmx3mm (quite small) and appears to be a logic/signal translator-ish chip. It has traces going to the PCIe bus connector, the data cable header, and the two external headers (HDMI and 6-pin).
I can see no other custom modifications to the system, hence I will be able to identify a replacement box pretty easily.
GEN3
This box appears to be custom assembled, possibly in Japan. There is a largish sticker inside that probably should be a diagram of the hardware, but it's all in what I think is Japanese. It utilizes an off-the-shelf desktop motherboard, with an Intel desktop processor with 2-logical cores, built-in VGA and ethernet ports. All of this is at least 10 years old. When I tipped the box slightly to work on it, the CPU HSA fan, with its shaft, fell out of the fan motor and onto the floor of the case. That's a first for me. I inserted it back into the motor, and it appears to be functioning, but possibly only as long as the box sits on it's side. Could be a consequence of shipping, or could be a consequence of its age, or both.
It also has what appears to be a non-standard PCB of some kind mounted in the chassis. About 2/3 of this card is obstructed by sheet metal in the chassis. The main power cable from the PS is connected directly to this PCB, and there is a second, smaller power cable that then goes from the PCB to the computer motherboard. That is not a standard cable that you would find inside a computer. There are two non-standard PCIe cards in this box, one appears to be the same as the one in the Havic box. Like the Havic box, neither of these cards appear on the PCI bus scan. The second card has no internal data cable, but is connected to a strange looking 8-pin cable that closely resembles an 8-pin PC internal power cable, however by the looks of it I suspect some of the wires are signal wires. Four of the eight wires are likely GND wires. I cannot see where this cable comes from, but my guess is it connects to the PCB out of sight. The two non-standard PCIe cards are connected to each other with a small 2-pin cable that connects to a small header on the top of each card. The second card also has two external headers, one is a straight 6-pin cable with largish pins, possibly for power or possibly carrying the power/signals from the strange cable to some external device. The other external header is similar to the external 6-pin header on the other card, but is 8-pins.
To recreate this hardware today, someone will have to do some custom assembly work that will require the two non-standard internal power cables and the data ribbon cable. The the two non-standard power cables in the box are likely available off the shelf. The ribbon cable may be available off the shelf, but should also be easily made by almost any custom assembly house. There are several such companies here in Silicon Valley that can easily handle the job, and likely there are a few in the Portland/Vancouver WA area as well. They can likely source the two power cables as well.
Software
The basic OS software on the GEN3 system appears to be very similar if not the same as Havic.
I found three kernel modules in the root home directory on gen3: asicifdrvr; mipio; and mipiobd. I've not seen references to any other non-standard kernel modules in my travels on the two boxes, so I'm guessing that those three are it. Neither kernel as the two systems are running now have those driver modules loaded.
I've also encountered binary programs scattered around on the two boxes. I won't bother to list them.
Where have we landed on getting access to those software source repositories?
It appears that a decent amount of work on the OS (distribution) has all been relatively ad-hoc and likely not documented anywhere. For instance, the kernel source for the kernel running on both machines appears to have just been downloaded to the havic machine, custom configured and built there. But no sign of the custom kernel drivers, or how they were built.
Road ahead
Information wrangling
What has several times been unclear to me, I've discovered after the fact, is that some information I'm being given does not apply to the box I thought was being discussed. So I want to make a point of emphasis that most of this I'm hearing for the first time, so while one piece of information is settling in my mind, a quick topic change to a different box might be missed. I think this can be helped by getting some additional information.
I feel I need some information on how these systems are utilized by their users. A 10k ft. description is all I need. What are the HDMI ports and other ports are used for on the custom cards? How much data is going through what cables and in what directions? I also need to know if that data is stored on the boxes and how reliable that storage needs to be, or not, if say the data is easily reproducible. I also need to know if either of the boxes use the CPU to munge the data at all, and how much of that happens, if any. It appears that the GEN3 box does not do any of that, because it has a very weak low-level desktop processor. But I wouldn't want to assume. I also need to know if these boxes are clients or servers in network file services like NFS or CIFS.
Why is the GEN3 box used directly connected to a laptop, but the Havic box is not?
Since these custom cards do not appear on PCI bus scans, I definitely need to see the source code for the kernel drivers and likely for the applications as well to understand how they are used.
On week starting 3/28/2022 I will research the base hardware options for the Havic box. Additionally I will start to formulate the kernel migration strategy with feedback from the team.