Phytium-based ARM PC


@shouhuanxiaoji: I think I found another issue. The RTC does not advance (both phytium kernel, as well as Debian/unpatched). You can set the RTC clock with hwclock --systohc, but reading it back with hwclock -r just errors out: "hwclock: Timed out waiting for time change.". When you try to access the RTC time via sysfs this happens:

$ for i in `seq 1 10`; do cat /sys/class/rtc/rtc0/time; sleep 1; done
17:21:42
17:21:42
17:21:42
17:21:42
17:21:42
17:21:42
17:21:42
17:21:42
17:21:42
17:21:42

Time stands still ;) The effect is the same for rtc0 (efi-rtc) and rtc1 (the "real" i2c rtc chip)
 
  • Like
Reactions: rSl
I switched back to the original NVME and noticed that the gpu now consumes 3.2 watts, with debian 11 it was 23 watts, maybe that's the problem?

Systems seems to be stable now, i compiled godot, but linking failed, i have to check this.

Thomas
 
  • Like
Reactions: rSl
I switched back to the original NVME and noticed that the gpu now consumes 3.2 watts, with debian 11 it was 23 watts, maybe that's the problem?

The GPU readings are sometimes off, on both kernels (Debian/UK). When this happens, most of the time you might have artifacts while playing back video too. A reboot fixes that. Mine is ~3.5W when idle (Debian). But the Samsung 970 EVO could be the culprit. That specific model had some problems in the past as far as I can remember.
 
Nothing that exiting, but i changed the Dongle from my Bluetooth/Dongle Mouse to a Bluetooth Stick, allthough its quite an old one, but i think i will try to Connect my Airpods Max this Weekend as i needed new Bar Headphones, and they should be much more confortable than this Logithec USB Headset.. they will also get used whit the Pyra and the Iphone..

And i found out that KDE have a Menue "Gamecontroller" wasnt it so that Debian got no Controller Support? Or is it because of KDE?
 
Yes, htop shows 20:05 minutes, compilation was only 18 minutes.
Yes, htop shows CPU time, so if you're just using one core at 100% then it'll go up in real time, but if you're using two it'll go up in twice real time. Compilation is generally a big stop start operation, with jobs consisting of generally small components built and then linked together, which is why the CPU time isn't real time times number of cores.
 
  • Like
Reactions: rSl
Ok, I will order a new one, not an EVO, and check it out.
I used a Crucial P1 500GB without problems. It is not the fastest SSD, espcially compared to the 970 Evo Plus, but maybe that is better in this case. Perhaps the Samsung draws too much power during a write burst or something.
 
The GPU readings are sometimes off, on both kernels (Debian/UK). When this happens, most of the time you might have artifacts while playing back video too. A reboot fixes that. Mine is ~3.5W when idle (Debian). But the Samsung 970 EVO could be the culprit. That specific model had some problems in the past as far as I can remember.
Oh boy, I ordered a 1 TB Samsung 970 Evo Plus.
I saw a benchmark that power consumption can hit almost 7.5W.

I plan to get things installed this weekend.
Not sure if I will be successful to install Debian on it.
But I'll keep you posted.
 
Hmmm, my first experience with Ubuntu Kylin is not good.
Could be that I'm just too clumsy.

I changed the time zone and now Firefox complains the time is incorrect and distrusts all certificates.
I tried to install Chromium, but the app store couldn't find it.
Time to put in my Samsung 970 EVO Plus and install Debian.
 
After I had misconfigured my system, I wanted to change the desktop environment to Mate and then uninstalled Kylin, the system no longer booted. UEFI now displayed the message "Kernel image not aligned to 64k limit". I saw that apt-get reconfigured the kernel image, but apparently that went wrong.

So I installed debian on the original NVME, compiled godot and the system ran through without problems.

The 970 EVO was apparently the cause of the instability.

Yust for fun, i'm watching a youtube video over XRDP on windows right now and it runs smoothly :).

Thomas
 
Last edited:
  • Like
Reactions: rSl
As I opened the computer, I see there is only one memory module installed.
Does the Phytium support dual-channel memory?
In other words, will it get a bit faster by using two memory modules?

And isn't 60W a bit low for the power budget?
Adding more memory, a power hungry SSD and let's say a 2.5" HD on the USB port and you probably will run out of power budget.

Can I replace the power brick with a 12V power brick with more Amps?
Can the motherboard handle more Watts?
 
Yes, 60W at 12V is five amps. At some point you'll overload the buck convertor that takes the voltage down to 5V for USB and random PCI-e things, and lower voltages for the CPU at the very least, but I would think it would have some considerable headroom if you were to employ a more powerful PSU.

I'm not sure PCs with balanced RAM sticks get any faster when you plug in more RAM, at least in linux. In Windows you easily get to situation where the system runs out of RAM early and starts swapping, and more RAM will delay that point, but that's not something I've ever really experienced under Linux. There is a situation on PCs where the RAM address lines are half the width of the CPU address lines and you need two sticks to fully load those address lines, and if you don't it has to do some weird multiplexing thing that does have an overhead, but I've not really heard of that since before the Pentium came out.
 
I testet the Bluetooth Stick yesterday whit the Airpots Max, but ditnt became a connection, so seems like I need a new Bluetooth Stick..
So I used the Audio Cable Connection, for which you have to move the Audio Control to HDMI, which is a bit strange, but at least it works..

The good thing is that it’s still can use the ANC, so if this is on, the Fan Noise is gone, but you can’t hear anything else..

I wonder: are there any Bluetooth Sticks that don’t work?
My old Stick dit run out of the box, and it’s even was connect to my Mouse, but it have to reconnect after every reboot, so not recommend for use whit the Mouse you also need to connect the Mouse..

On Pyra, the Mouse was connect automatically, and it ditnt had issue whit the Headphones..

So I think it was the Stick
 
I wonder: are there any Bluetooth Sticks that don’t work?
Plenty, or: More than you can count. Get a tp-link UB400 and you should be OK (I have one of those, it works). It uses a original (none "fake") CSR chipset, is Bluetooth 4.0 compatible and there exists only one version, so there is a rather low chance of getting an "upgraded" version with a different chipset, that does not work. Can't say whether it will work with some picky Apple device, but that can always happen when you leave Apple's own ecosystem.
My old Stick dit run out of the box, and it’s even was connect to my Mouse, but it have to reconnect after every reboot, so not recommend for use whit the Mouse you also need to connect the Mouse..
You may have to manually define the mouse as trusted device. Find the mouse in your Bluetooth UI and set it as trusted device. Otherwise the mouse will not be allowed to reconnect on its own.
 
Can someone (everyone?) please check whether the RTC works on their system? Just run


as root (or via sudo). When you get a time out, time is not advancing. If you get date/time back it is working correctly. I checked the oscillator of the RTC chip (AnalogTek AT8339S, DS1307 compatible) and it is running. So either it is a software problem or the chip (on mine) has a problem.
 
Some post-installation notes:

- If the system does not boot into debian, check the boot order in the firmware setup. The new boot entry must be before the UEFI shell
- If that does not work you have two options:
a) Add a new boot entry, which points to /EFI/debian/grubaa64.efi (recommended)​
b) Boot grubaa64.efi manually (via Boot from file option) and do the following in the OS:​
1. Create a /EFI/boot directory on the EFI-System-Partition (mounted at /boot/efi)​
2. Copy grubaa64.efi and grub.cfg to this directory and rename grubaa64.efi to bootaa64.efi​
The content of /boot/efi should look like that:​
/boot/efi/​
`-- EFI​
|-- boot​
| |-- bootaa64.efi​
| `-- grub.cfg​
`-- debian​
|-- BOOTAA64.CSV​
|-- fbaa64.efi​
|-- grubaa64.efi​
|-- grub.cfg​
|-- mmaa64.efi​
`-- shimaa64.efi​

- Per default, the kernel is instructed (via ACPI tables) to use the first serial UART as primary console (ttyAMA0), so you don't see anything on the (GPU)-console. If you install without a display manager (lightdm, etc.) you won't see anything until the DM is started. To fix this issue, boot the kernel with the option console=tty0. First time by editing in the grub boot menu and the after the system has booted add this to /etc/default/grub (GRUB_CMDLINE_LINUX_DEFAULT) and run update-grub. You really want the console, especially if you want to use full disk encryption via LUKS (which works perfectly well, without noticable slowdowns, by the way)

- The problem with the onboard ethernet is the following: Both MAC (stmmac/dwmac-generic) and PHY (ar803x) drivers are readily available. They don't load because there is some code missing, which allows the driver to get the needed NIC information from the ACPI DSD table. I could not find any current patch for upstream/mainline linux and all Phytium trees, that I found on the internet do not have working code for anything newer than Linux 4.19(.90).
I installed Debian with KDE Plasma.
After the install I saw some error about fbdev.
(ww) FBDEV(0): The fbdev driver didn't call xf86SetGamma() to initialise the gamma values.
(ww) FBDEV(0): PLEASE FIX THE 'fbdev' DRIVER!

Or is that just part of the closing of the installer?

I added a new boot entry and it boots into Grub.
I can boot the default or I can choose between two kernels and recovery mode (for each).
But when I choose any of them, I quickly get an empty screen with a blinking cursor and after a couple of minutes, still nothing happens.
So no fun for me (for now).
 
Can someone (everyone?) please check whether the RTC works on their system? Just run


as root (or via sudo). When you get a time out, time is not advancing. If you get date/time back it is working correctly. I checked the oscillator of the RTC chip (AnalogTek AT8339S, DS1307 compatible) and it is running. So either it is a software problem or the chip (on mine) has a problem.
I got from ssh remote terminal
Code:
root@phytium:/home/thomas# hwclock
2022-02-19 13:29:10.265848+01:00
The date and time are wrong, so I logged on to the desktop via xrdp, but the date and time were displayed correctly there.

A new call to hwclock on the console resulted in the following
Code:
root@phytium:/home/thomas# hwclock
hwclock: Timed out waiting for time change.

Thomas
 
I got from ssh remote terminal
Code:
root@phytium:/home/thomas# hwclock
2022-02-19 13:29:10.265848+01:00
The date and time are wrong, so I logged on to the desktop via xrdp, but the date and time were displayed correctly there.
The RTC is only used white booting to set the system time. Once this is set the RTC is normaly not used anymore. When the RTC is wrong and you have timesyncd/chrony/ntpd installed ans a working NTP server, the systemc time is updated and correct. If not, well, then your system has wrong RTC time ;) That will most likely be the time of the last powerdown or systohc sync.
A new call to hwclock on the console resulted in the following
Code:
root@phytium:/home/thomas# hwclock
hwclock: Timed out waiting for time change.
OK, same problem. It seems the used DS1339 clone (AT8339) is buggy or requires special handling. It seems you can set the time and read the time, but it does not advance or at least you can't get new values via I2C. The oscillator is running at least, but that does not help, when you can't get any current time out of the RTC...

That is something the vendor has to fix, most likely in a new hardware revision.
 
Yes, the RTC is read while booting and written at shutdown. One small correction, you don't want an NTP server to set your system clock correctly, you want an NTP client which can read the time from an internet server and use that to set your system clock. An NTP server is the thing that broadcast the time over the internet for NTP clients to read.

On my eeepc, hwclock (provided I run it with root privs) reports more or less the current time and does advance. Note in linux your hwclock should be set to GMT and the difference between that and local time worked out using time zones. That's different to the default way which windows does it, which complicates dual booting, and means your file times are mostly wrong if you ever move continents.
 
Back
Top