Prototypes ready, let’s proceed to test them.

Finally, the three prototypes are ready as you can clearly see from the pictures below.

The resulting cost of each prototype resulted in 1200 euros (without VAT) higher than what was initially planned due to the global shortages of electronic components that have skyrocketed prices of some important chips. So, more donations are needed to fund these 4392 euros more (1200 x 3 + 22% VAT).

Powerboard Tyche, bottom side.
Powerboard Tyche, top side. The visible biggest gray chip is the CPU NXP T2080 Power Architecture CPU.

Now the Hardware Tests stage has started, but prior to that we still need to solder the HDMI connector that has arrived too late to be included during the production phase.

Soon, our Open Hardware motherboard called “Powerboard Tyche” will be inserted in its notebook body chassis for starting the multiple hardware tests.
Below, you can see a picture of the old dummy PCB used for testing how to fit in the notebook.

Slimbook Eclipse Notebook
The external view of the Notebook body

The notebook specifications are the following:

  • CHASSIS: Slimbook Eclipse notebook case 15,6”
  • CPU: NXP T2080, e6500 64-bit Power Architecture with Altivec technology
    • 4 x e6500 dual-threaded cores, low-latency backside 2MB L2 cache, 16GFLOPS x core
  • RAM: 2 x DDR3L SO-DIMM slots
  • VIDEO: MXM3 Radeon HD Video Card (removable)
  • AUDIO: C-Media 8828 sound chip, audio IN and audio OUT jacks
  • USB: 3.0 and 2.0 ports
  • STORAGE:
  • NETWORK:
    • 1 x Gigabit ethernet RJ-45 connector
    • WiFi connectivity
    • Bluetooth connectivity
  • POWER: on-board battery charger and power-management

Powerboard Tyche PCB source

This work was made using Mentor Expedition and it is ready and uploaded into our repository with all reported issues fixed, including issue number 5, the last one corrected . Thanks to our collaborators we are able to export this work using Altium form so the next days we will publish it and we will try to convert it to Open Source Kicad format ( and probably loosing something in the conversion process) . In our older post we have give more details regarding the PCB sources.

December 2021 updates – facing electronic components shortages

Image by Dmitry Abramov from Pixabay

At the beginning of December 2021 we received an update about the required electronic components that are still missing. We have a total number of 22 missing components, and some of them are present on the board multiple times such as the MOSFET (see https://en.wikipedia.org/wiki/MOSFET).

Below a detailed list of the missing components in more pieces:

7 per pcb MOSFET – DMN3730U-7 N 750mA 30V POWER MOS – Diodes

9 per pcb Trans MOSFET – SI4925DY P-CH 30V 5.3A 8-Pin SOIC – ON SEMICONDUCTOR

4 per pcb Field Effect Transistor –NDC7002N MOSFET 2N-CH 50V 0.51A SSOT6 – ON SEMICONDUCTOR

3 per pcb IRLML6346TRPBF – N-Channel 30 V 3.4A (Ta) 1.3W (Ta) – Infineon Technologies

2 per pcb 403C11A24M00000 24 MHz ±10ppm Crystal 10pF 60 Ohms 4-SMD

We have in the missed components even few bigger chip in the list from the more expensive and complex 

  1. Marvell 88SE9235 Sata3 controller (Two-Lane PCIe 2.0 to Four-Port 6 Gbps SATA I/O Controller)
  2. Lattice LCMXO256C-5TN100C FPGA – series Field Programmable Gate Array (FPGA) LUTS 78 I/O
  3. MICROCHIP  USB2514B-AEZC I/O Controller Interface IC HI-PERFORM LW PWR SM FOOT USB 2.0 HUB
  4. NXP Semiconductors  PCAL6524HEAZ    Interface – I/O Expanders PCAL6524HE

The other missed components:

MPNREFERENCE
BAS70LT1GD8
B340B-13-FD12
MBR140SFT1GD15
DM3AT-SF-PEJM5(40)J2
DF13E-40DP-1.25V(51)J20
SLC1175-271MEBL58
BSR17AQ9
S25FL256SAGMFI000U9
AT24C256C-SSHL-BU30
FDC6331LU54
TPS544C20RVFTU65
LTC4368CDD-1#PBFU81

While ACube Systems is looking for 22 missing components contacting various distributors, we at the Power Progress Community, are trying to help searching these components. The main problem we are facing is not finding each component, the problem is the estimated delivery we are facing that most times is six month or more. For this reason we are evaluating to replace some of the components in order to get a more reasonable delivery time. In case you want to help out carrying out this task, you can the effort and conatct us.

QEMU at full speed with KVM on the NXP T2080 CPU

Thanks to Fabiano Rosas, Cédric Le Goater and Zoltan Balaton (see discussion at https://lists.gnu.org/archive/html/qemu-ppc/2021-12/msg00231.html) it is now possible to launch virtual machines at nearly native speed with QEMU on our NXP T2080RDB development kit, that mount exactly the same CPU as in our laptop.

This great achievement is possible thanks to the support of KVM (https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine) that allows the virtual machine to directly use the CPU without the need to spend time emulating it.

KVM support for PowerPC Book3e e6500 CPUs will be first introduced starting with the linux kernel 5.16+ and with the next version of QEMU, most probably v7.0. If you want to try it now, you should get the release candidate of the kernel 5.16 and compile QEMU yourself from the GIT master branch

We successfully compiled the upcoming kernel and QEMU and then tested some virtual machines running Linux for PowerPC 64 bit in Big Endian mode. Below you can see a screenshot of QEMU running three virtual machines with KVM activated. The host system is our NXP T2080RDB devkit that runs Debian SID PPC64, then there is a VM with Debian SID PPC64 (bottom-right), then OpenSUSE Tumbleweed PPC64 (bottom-left), and finally VOID Linux PPC64 (top-right).

Please note that the KVM support to the e6500 PowerPC family is still in progress, so it may need some tweaking before it may be considered reliable.

Video of our last talks – October and November 2021

Open Power Summit 2021 NA

Prepare yourself to switch computing to Open Hardware Power Architecture

https://cfp.openpower.foundation/summit2021/talk/F9DKAK/

Open Hardware through Open Power SBC

https://cfp.openpower.foundation/summit2021/talk/PAS3TZ/

Sfscon.it

PPC64 Open Hardware Notebook prototype around the corner

An NXP T1040 Based Single Board Computer

LinuxDay Online 2021 – Italy

Quando la comunità produce un portatile Open Hardware

https://www.linuxday.it/2021/programma/talk.php?slug=quando-la-comunita-produce-un-portatile-open-hardware

SBC Open Power / Open Hardware

Prototypes available in October 2021

15.07.2021 An evening on the theme of POWER & PowerPC

In less than 3 days, Roberto Innocenti, president of the PowerProgressCommunity, will speak at the Open Source Specialist Group’s July Virtual Event on the POWER ISA and PowerPC based hardware, discussing details of our project. The talk will be co-hosted by Ganesan Narayanasamy, one of the leading figures in OpenPOWER and IBM researcher, and by Arjun Nag, who will comment on the concept of Silicon Tape out using OpenPOWER cores.

The event is scheduled to take place between 6:30pm and 9:00pm, CEDT, on the 15th of July. No registration is required. You can join the event using this link.

For more information, please consult the event web page.

https://ossg.bcs.org/blog/event/an-evening-on-the-theme-of-power-powerpc

It’s time to vote on the name of our motherboard!

We’ve reached 259 and more votes ( 12-07-2021) out of our target of 1000. Your contribution to the future of open computing is very important! Let your friends know and join our warm and welcoming community. Everyone can contribute to our multidisciplinary teams.

This poll is no longer accepting votes

Vote the best names for our PowerPC Notebook motherboard
1019 votes · 1172 answers

For more information on the origin of the current candidates, go to our previous post.

Prototypes available in October 2021

Thanks to 72 donors we just reached 64% of the current donation campaign for the prototypes that corresponds to about 8000 euros, and we still have to collect 4500 euros to reach the final goal of 12500 euros.

ACube Systems have selected the assembly line for the production of the prototypes.

We have more than 2000 electronic components in our motherboard, and due to the current global shortages of electronic components it was quite a difficult task to order all of them so that they could be delivered in time for production of the prototypes that is fixed for October 2021. After  tireless work of the guys at ACube the 98% of the components is now secured and will be delivered on time. The hunting is still ongoing for the remaining forty components left, and finding them is crucial not to miss the October deadline.

Design new Heatsink pipes

We have started to address the design and production of the new modified heatsink pipes which are different from the original pipes provided with the Slimbook Eclipse. A proper passive heat exchanger is vital as our PowerPC Motherboard is mounting an MXM video card that is quite different in shape from the original x86 motherboard that had the video chips mounted directly on the board.

Three AMD MXM-A video card needed for prototypes

We are still investigating how we could collect the additional funding required to pay for three MXM-A 3.0 type A (82 mm x 70 mm) that have a maximum power consumption of 55W. These video cards are fundamentals and we must get them by October as we must carry out the mechanical tests to check to find out that they properly fit inside the prototypes.

FabMaster PCB export for Kicad

As suggested by the guys at KiCad, we requested the PCB Designer to export the PCB design from the native Mentor Expedition format to the FabMaster format, as such a format should be supported natively by KiCad.

This is an alternative approach with respect to the previous process we followed to generate the KiCad files that we published in our repository, a process that consisted in a double passage conversion, first loading and exporting the files in Altium, and then loading and exporting them using Kicad. 

In fact, KiCad has an importer module dedicated to FabMaster meant for the board only, and the result of this module is quite important as it should be useful to analyze and check the level of the import accuracy and reliability of the Altium importer module. We are being told by the KiCad developers that the result produced by the Altium import module should generate better results with respect to the FabMaster importer as it is a more recently developed component.

The PCB Designer is currently carefully checking the FabMaster export generated by Mentor Expedition and as soon as he provides us this format, we will publish it and then proceed to import it in Kicad and publish the final result in our repository.

PCB Dummy board for exposition

We produced three dummy versions of the PCB motherboard in order to perform an extensive check of the PCB design. These boards were fundamental as they allowed us to identify a few minor issues that are now solved and were related to the positions of the holes in the PCB used for the screws for attaching the board on the chassis. Now that all mechanical aspects are solved, we asked to get one of these PCB dummy boards so that we can show it on various occasions, hopefully during a physical event, if the pandemic gives us a break.

Are you willing to help?

Being part of a challenging project like this one for building an open hardware motherboard for a laptop is an amazing experience, you understand the underlying complexity of every step, you will meet new people, volunteers from other projects, and discover how much passion people working in companies devoted to open source ar putting in the effort, and everyone involved is willing to help to progress the work. You may consider joining too and contribute your actual skills and may focus on those activities that interest you the most.

The Best PowerPC distros in 2021

Diego Asturias, from pcwdld.com, posted an article on the best Linux distros for the PowerPC, covering everything from old Debian releases to MintPPC and Fienix, and bits and pieces of history. The list is very extensive and will surely help you keep your old (and new, for the lucky ones) PowerPC workstations and laptops productive and useful until our laptop is out.

Check also the linked interview with Casey Cullen, the developer of Fienix and a very active supporter of our community.

Troubleshooting QEMU on Book3e e6500

Nowadays virtualization is key in multiple activities both in a development and a production working and hobbyist environment. QEMU is one of the most widely adopted tools when it comes to emulating a completely different architecture, and moreover, it does support the PowerPC architecture.

We wanted to test QEMU in order to recreate a system having precisely the same CPU as the one selected for our PowerPC notebook, the NXP T2080.

Before diving on the issues we encountered with QEMU, we should first explain that the PowerPC architecture is subdivided in two families: Book3s, where the “s” stands for “server”, and Book3e, where the “e” stands for “embedded”. IBM and Freescale (now NXP) made their own lines of Book3s and Book3e chips, but each company introduced some peculiar characteristics, so our CPU falls in the Freescale branch of the Book3e implementation.

To make things even more complicated, each company built multiple generations of these chips, and introduced new features in each new generation. As a reference, Apple used in all of their PowerPC line of computers Book3s CPUs only, whereas Book3e were mostly used by embedded manufacturers, as these CPUS were especially good for networking and avionics appliances. Despite Book3e being meant for the embedded market, some personal computers ended up on the market based on these CPUs and some of the computers are still made today and you can actually buy these systems now. There are two companies making these computers, A-Eon that sells the AmigaOne X5000 which is based on the Cyrus+ motherboard mounting the NXP P5020, and the other company is ACube Systems that sells the AmigaOne 500, a system based on the Sam460ex motherboard mounting the AMCC 460ex.

The NXP T2080 contains the last and most advanced Book3e core ever designed by Freescale, a 64bit CPU based on the Power ISA v.2.07 specifications. The core was named “e6500” by Freescale and with respect to the previous generation named “e5500”, it introduced the multithread, so that each physical core corresponds to two logical cores, and re-introduced Altivec, a single-precision floating point and integer SIMD instruction, that was lacking in their previous generations.

A clear overview of all PowerPC families and their corresponding cores variants is available at https://www.kernel.org/doc/html/latest/powerpc/cpu_families.html

The latest available QEMU version is 6.0 and it does support the emulation of the Book3e CPU family, named “ppce500 platform” in the documentation, and it does support e6500 cores as well.

To test QEMU we compiled a recent Linux kernel (5.12.10) that works just fine on a real computer based on the NXP T2080RDB that we use for testing this platform (https://www.powerprogress.org/en/diy/t2080rdb-desktop-user-guide/). The kernel is available here (https://repo.powerprogress.org/t2080rdb/hdd_debian_sid_ppc64_basic_kernels.zip).

As the T2080 has 4 of these e6500 multithreaded cores, there is a total number of 8 logical cores, so to create a similar configuration using QEMU with 1GB of RAM, no graphical output and the provided already compiled kernel we launched QEMU with the following command

qemu-system-ppc64 -M ppce500 -cpu e6500 -smp cores=4,threads=8,sockets=1 -m 1G -nographic -kernel book3e_e6500_kernel_5.12.10

Up to this point the emulation seems OK and it works as expected.

Unfortunately it all ends here, because once you enable a graphical output and try to mount a real linux partition, QEMU suddenly crashes.

In the example below we use the 64bit ISO provided by Debian found at https://cdimage.debian.org/cdimage/ports/10.0/ppc64/iso-cd/

qemu-system-ppc64 -M ppce500 -cpu e6500 -smp cores=4,threads=8,sockets=1 -m 1G -device VGA -serial stdio -kernel book3e_e6500_kernel_5.12.10 -append "root=/dev/vda1" -drive file=debian-10.0-ppc64-NETINST-1.iso,media=cdrom,if=virtio

For those of you that want to try launching an hdd image with Debian already installed, first download the qcow2 hdd image file (1.2GB) from https://repo.powerprogress.org/t2080rdb/hdd_debian_sid_ppc64_basic.qcow2 and then the kernel from https://repo.powerprogress.org/t2080rdb/hdd_debian_sid_ppc64_basic_kernels.zip then launch QEMU with

qemu-system-ppc64 -M ppce500 -cpu e6500 -smp cores=4,threads=8,sockets=1 -m 1G -device VGA -serial stdio -kernel book3e_e6500_kernel_5.12.10 -append "root=/dev/vda1" -drive file=hdd_debian_sid_ppc64_basic.qcow2,media=disk,if=virtio

QEMU doesn’t go very far, and is unable to end up with a usable system.

In order to investigate if the situation could be solved we submitted the problem to the QEMU-PowerPC development mailing list, and thanks to the kind support of Zoltan BALATON (https://lists.gnu.org/archive/html/qemu-ppc/2021-06/msg00222.html) we did had an answer explaining the problems that must be solved and that someone has to implement in QEMU.

Thanks to other contributors to that mailing list the issues were later on more investigated. Sadly there is no company left actively (financially) supporting programmers developing and fixing software for these PowerPC CPUs, so we are in the hands of volunteers that kindly spend their spare time to support the platform, very much like what we actually do with the hardware parts.

In addition, we explored the possibility to enable KVM emulation on a real e6500 CPU using our NXP T2080RDB, as this could lead to a nearly native emulation speed. Sadly, once QEMU is launched in KVM mode, it ends up hanging and eating up all CPU in an endless loop of kernel exceptions, making the entire system unresponsive, and forcing the user to physically reset the system. After contacting the QEMU PowerC mailing list again, we were told that such a behaviour comes as no surprise, as KVM on Book3e is poorly and only partially implemented (source Zoltan BALATON). Luckily enough, after posting this other issue on the QEMU PowerPC development mailing list (https://lists.gnu.org/archive/html/qemu-ppc/2021-07/msg00012.html) Fabiano Rosas answered trying to explain what could be wrong in QEMU, and offered to post on the KVM PowerPC development list (https://www.spinics.net/lists/kvm-ppc/) the issue.

We really hope that a viable solution enabling both full emulation (slow) and KVM emulation (much faster) could be found soon, so please, if you are able to provide some help on the matter do not hesitate contributing to the above mentioned mailing list.