creativecommons

Introductie Kangaroo

Jaren geleden kocht ik de Kangaroo als testcomputer.
Aanvankelijk werkte deze goed... met de Linux 3.x kernels. Na upgrades (4.x kernel) kwamen er problemen, intermittend (veeeeel te vaak!) was er geen response meer op het toetsenbord of de muis.
Als 'host' naam gebruikte ik "debian". Met de test computer bleek dat ik Lubuntu met de LXQt niet werkend kreeg met de Chrome Remote Desktop.
De bedoeling van de test computer is om software te checken voor dat deze op de Asrock wordt uitgevoerd.
Anno 2022 wordt XUbuntu op Kangaroo computer geïnstalleerd, om in combinatie met de Fairphone 2 de ADB: "Android Debug Bridge" te gebruiken.
De ADB is nodig om de file permissies in de Fairphone aan te passen na een upgrade van Android 9 naar 10 eind april 2022.
... Achteraf is ADB niet meer nodig, vrij snel na de upgrade kwam een nieuwe patch voor de Fairphone, die het probleem verhielp.

SmilyAngry Helaas...

Anno 2022: geven Intel "Bay Trail" chips, zonder aanpassingen, nog steeds problemen in Linux, zie:
Stack All Flow.com: System Freezes Completely With Intel Bay Trail In Ubuntu! [January 21, 2022] My system freezes completely at random, frequent intervals. I started to have the same problem in Ubuntu 14.04 but after recent upgrade to 16.04 there is no improvement, in fact it seems worse.
Your processor is affected by the c-state bug. This causes total freezes when the CPU tries to enter an unsupported sleep state. It’s a problem for many Bay Trail devices especially with newer (4.*) kernels.

... Ook vond ik (weer) een nieuwe site met een tip, zie:
Lintel.in: How to Fix Freezing of Linux Kernel on Intel’s Bay Trail SoCs ( Celeron ) [May 14, 2019] A patch fixes the frequent freezing at the Bay Trail has become known low-cost processors, the Celeron series on Linux. The SoCs are installed in cheap notebooks and other cheap hardware.
Bay Trail SoCs are known to be critical in Linux. This ranges from installation problems to crashes every minute. Intel knows the problem. It stands in an errata under the abbreviation VLP52 and is classified as No Fix , so Intel does not fix it .

Opmerking: ... aanvankelijk werkte de Asrock Q1900DC met een Intel J1900 processor ook nog goed ...

De definitieve oplossing:
Github.com: Intel-bay-trail-freeze-workarround c6off+c7on.sh is the script which will actually disable the C6* states. And enable C7
Er moeten een aantal stappen uitgevoerd worden.

Eind 2015 kwam een mini PC op de markt, zie: Tweakers: Mini desktop-pc met Windows 10 uitgebracht [27 oktober 2015]
Het Californische InFocus heeft een mobiele Windows-pc uitgebracht met afmetingen van 16x8x1,3cm en een gewicht van 200 gram, inclusief accu. Het kleinood met de naam Kangaroo kost 99 dollar en is voorzien van een Intel Atom x5-Z8500 processor, 2GB ddr3 en 32GB emmc-opslag.

PC

Later heeft InFocus ook een versie uitgebracht met meer geheugen en zonder Windows operating systeem voor o.a. Linux.

De Nederlandse versie is de Ockel: Sirius: Sirius B Black Cherry ... met Windows 10.
Op de website van "www.ockelproducts.com" support stond! een Ubuntu Installation Guide.

Beide computers zijn ook geschikt om Ubuntu te installeren.
Voor de Kangaroo staat het nodige op YouTube: Lon Seidman Kangaroo Plus Mini PC Review - Compared to Original - 2GB vs. 4GB of RAM demonstrated.
Kangaroo responded to calls for more ram and storage on their mini-PC! This new one has 4 GB RAM and 64 GB of storage.

De fabrikant van de mini PC is Foxconn (Taiwan).
Het Foxconn / InFocus model was: "Kangaroo Mobile Desktop" / 0E6A

De toenmalige Linux kernel is nog niet optimaal voor Intel Atom SoC's processors met Bay trail en Cherry trail.
De oplossing: was in het begin (ca. 2015) een regel aanpassen in /etc/default/grub
Jaren later: een script uitvoeren  "c6off+c7on.sh, zie: Installatie tijdens de start van het operating systeem... de "definitieve oplossing"

Hardware

Kangaroo Specificaties: ... gekocht zonder OS, om Debian/Ubuntu te installeren.
Opmerking: De Intel Atom x5-Z8500 is van de "Cherry trail" familie, maar heeft dezelfde problemen als de oudere Bay trail chips.

TECH SPECS
 BesturingssysteemNo OSWiFi802.11 a/b/g/n/ac, dual band
 ProcessorIntel Atom x5-Z8500Bluetooth4.0
 RAM4GB DDR3LIntern geheugen64GB eMMC flash
 Grafisch typeIntel HD Graphics 400Last UpdatedMicro SDXC slot
 4K Support3840 x 2160p @ 30HzAdapterDC 10W (5V/2A)
 USB1x 2.0, 1x 3.0MateriaalAluminium
 HDMI1.4aKleurZwart
 Audio3.5mmDimensies124 x 80 x 13 mm / 4.8 x 3.1 x 0.5 inch
 Microfoon3.5mmGewicht153g / 5.4oz

Installatie

Tijdens de installatie van XUbuntu komt de melding:

To run a command  as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
Bij Debian was ik gewend om direct na een installatie de user 'frits' root rechten te geven, bij de Ubuntu familie is dit niet nodig!

Een paar aanpassingen vanwege problemen Intel Bay Trail en Cherry trail SoCs in Linux. Een van de eerste oplossingen (ca 2015) was om grub aan te passen.
Deze aanpassing is een tijd geleden ook uitgevoerd op de Asrock computer, zie paragraaf: probleem met "Bay Trail"

De volgende link: Lintel.in: How to Fix Freezing of Linux Kernel on Intel’s Bay Trail SoCs ( Celeron ) [May 14, 2019]
Gaf de instructie: script: "c6off+c7on" uitvoeren.

#!/bin/sh

#title:       c6off+c7on.sh
#description: Disables all C6 and enables all C7 core states for Baytrail CPUs
#author:      Wolfgang Reimer <linuxball (at) gmail.com>
#date:        2016014
#version:     1.0
#usage:       sudo <path>/c6off+c7on.sh
#notes:       Intended as test script to verify whether erratum VLP52 (see [1])
#             is the root cause for kernel bug 109051 (see [2]).
#             In order for this to work you must _NOT_ use boot parameter
#             intel_idle.max_cstate=<number>.
#
# [1] http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/pentium-n3520-j2850-celeron-n2920-n2820-n2815-n2806-j1850-j1750-spec-update.pdf
# [2] https://bugzilla.kernel.org/show_bug.cgi?id=109051

# Disable ($1 == 1) or enable ($1 == 0) core state, if not yet done.
disable() {
	local action
	read disabled disable || return
	action=ENABLED; test "$1" = 0 || action=DISABLED
	printf "%-8s state %7s for %s.\n" $action "$name" $cpu  
}

# Iterate through each core state and for Baytrail (BYT) disable all C6
# and enable all C7 states.
cd /sys/devices/system/cpu
for cpu in cpu[0-9]*; do
	for dir in $cpu/cpuidle/state*; do
		cd "$dir"
		read name <name>
		case $name in
			C6*-BYT) disable 1;;
			C7*-BYT) disable 0;;
		esac
		cd ../../..
	done
done

Opmerking: ... in de tekst ... In order for this to work you must _NOT_ use boot parameter dus opletten, aanpassen!

Opmerking: de link [1] in bovenstaand script naar http://www.intel.com/ vereist een login!

De andere link [2] naar: bugzilla.kernel.org bug-id=109051 geeft:
Bug 109051 - cstates: intel_idle.max_cstate=1 required to prevent crashes - Baytrail
Opmerkelijk: In de blog staan ruim 1100 commentaren, de laatste in 2022!
Meer details, er staan drie links in de blog: Good reading for better understanding of this issue
Ook: I can confirm that kernel parameter intel_idle.max_cstate=1 is a working workaround for my case (50+ ASRock IMB-150 mini-ITX Intel Celeron J1900 boards running a 3.18.21-rt19 kernel)

smiley met Google vond ik de definitieve oplossing smiley

Github.com: Intel-bay-trail-freeze-workarround c6off+c7on.sh is the script which will actually disable the C6* states. And enable C7
Er moeten een aantal stappen uitgevoerd worden.

Uitgevoerd:

Ook van belang: Github.com: cstateInfo.sh
Description: Shows all core states + some related info as a formatted table

Installatie details

De kangaroo computer gaf binnen de kortste tijd geen response meer op het toetsenbord en de muis.
Daarom werden bovenstaande instructies op een minimaal systeem uitgevoerd, met de Linux prompt.
De bestanden c6off+c7on.sh en cstatefix.service zijn op de Odroid-HC "home-cloud" opgeslagen, en met secure-copy gedownload.

Terminalvenster - frits@kangaroo: ~ icon buttons
Bestand   Bewerken   Beeld   Terminalvenster   Tabbladen   Hulp
frits@kangaroo:~$ cd Downloads
frits@kangaroo:~/Downloads$ ll
totaal 32
drwxr-xr-x  3 frits frits  4096 apr 30 19:41 ./
drwxr-x--- 15 frits frits  4096 apr 30 19:44 ../
-rwxrwxrwx  1 frits frits  1356 apr 28 16:33 c6off+c7on.sh*
-rwxrwxr-x  1 frits frits   110 apr 30 19:40 cstatefix.service*
drwx------  3 frits frits  4096 apr 29 16:21 firefox.tmp/
-rw-rw-r--  1 frits frits 11455 apr 30 19:41 software-xubuntu

Software

Tijdens de installatie is er gekozen voor een XUbuntu minimum setup.
Opmerking: Bij deze versie van XUbuntu is Firefox een 'snap' package, waardoor het opstarten wat langer duurt.

Configuratie:

Na de installatie moet sudo gecheckt worden, en aliassen toegevoegd, zie: Asus Linux:
Handig is ook om eerst de ~/.bashrc  file aan te passen, met het toevoegen een aantal alias regels.

Na de installatie vanaf een USB stick ontbrak een eenvoudige editor.

Uitgevoerd:

Epiloog

Een probleempje bij de Kangaroo is, dat de ruimte tussen de USB-2 en de HDMI aansluiting te krap is voor een normale USB-stick.
De MicroSD wordt geflashd met een Trust Nanga USB 3.1 Card adapter.
De MicroSD kaart gebruikt met een kleine Kingston adapter voor de installatie.

Voorbeeld: Trust Compacte USB 3.2 Gen1-kaartlezer (links) en Kingston FCR-MRG2 USB-2 (rechts) adapter.

trust USB

W3Ccss valid-html401