Linux auf dem Fujitsu Tablet STYLISTIC Q5010

Transparenzhinweis: Das vorliegende Testgerät wurde uns von FUJITSU Deutschland zu Testzwecken zur Verfügung gestellt.

Das STYLISTIC Q5010

Heute hatte ich die Gelegenheit, das Fujitsu Tablet STYLISTIC Q5010 auf seine Linux-Tauglichkeit hin zu überprüfen. Die Installation von Ubuntu 21.04 verlief vollkommen problemlos und mit Druck auf die Taste F12 war auch der USB-Stick als Boot-Medium schnell ausgewählt und das Image schnell installiert.

Mein erster Test ergab, dass die Hardware vollständig unterstützt wird (Front- und Rückkamera, Helligkeitssensor, Beschleunigungssensor, Bluetooth, W-Lan, Touchscreen, Stifteingabe, LTE-Modem). Allerdings gibt es für das Gerät keinen Eintrag in der Hardwaredatenbank von systemd, was bedeutet, dass Ubuntu 21.04 mit einer Standardrotationsmatrix für den Beschleunigungssensor arbeitet, die aber nicht zum Gerät passt. Das führt dazu, dass der Bildschirm nicht korrekt automatisch rotiert, wenn man die Lage des Geräts verändert. Dieses Verhalten lässt sich natürlich ändern, wenn man ermittelt, wie der Bildschirm korrekt rotieren muss und dann einen Hardwareeintrag in der Datei 60-sensor.hwdb von systemd für das Gerät anlegt. Dafür fehlt mir aber leider die Zeit.

Ein anderes Problem ist, dass bei der Toucheingabe standardmäßig die x– und y-Achsen vertauscht sind. Das äußert sich darin, dass man beispielsweise unten links auf den Bildschirm drückt und dann feststellt, dass das Klick-Event tatsächlich oben rechts ausgeführt wird. Dieses Problem lässt sich leicht beseitigen, indem man als root eine udev-Regel für libinput anlegt, die die Achsen vertauscht:

echo 'ENV{LIBINPUT_CALIBRATION_MATRIX}="-1 0 1 0 -1 1"' > /etc/udev/rules.d/libinput.rules

Damit funktioniert der Touchscreen dann so, wie man es von ihm erwartet. Es bleibt das Problem, dass das Gerät nicht korrekt automatisch rotiert, was aber, wie oben beschrieben, lösbar ist, wenn man etwas Zeit investieren möchte.

Die Stifteingabe funktioniert präzise und drucksensitiv

Positiv ist allerdings die gute Qualität der Stifteingabe zu würdigen. Diese funktioniert bei den von mir getesteten Geräten bisher am präzisesten. Im Vergleich mit den anderen Geräten der Preisklasse fällt die gute Haptik und Stabilität des Geräts und Tastaturdocks auf. Das Gehäuse ist gegen Staub und Spritzwasser geschützt (IP54) und so gibt es beispielsweise Abdeckungen für alle Schnittstellen, damit nichts eindringen kann.

Das Tastaturdock des Testgeräts

Ubuntu läuft auf dem Gerät sehr flüssig und zügig. Man würde mit dem Gerät mit Ubuntu in jedem Fall gut arbeiten können, wenn die Bildschirmrotation und ebenso wichtig der Bereitschaftsmodus korrekt funktionieren würden. Letzterer funktioniert leider auch nicht zuverlässig, da dass Gerät aus dem Bereitschaftsmodus nicht mehr aufwacht.

Insgesamt ist das Fujitsu Tablet STYLISTIC Q5010 ein für die Preisklasse ausgesprochen stabiles Gerät mit zudem 1920 mal 1200 Pixel Bildschirmauflösung und sehr guter Stifteingabemöglichkeit, aber leider stören ein paar wichtige Kleinigkeiten bei der Linux-Nutzung, die man aber mit etwas zeitlichem Aufwand beheben könnte.

Hier für die technisch interessierten Menschen der Auszug von lshw:

scp-stylistic-q5010
    Beschreibung: Detachable
    Produkt: STYLISTIC Q5010 (SK00)
    Hersteller: FUJITSU CLIENT COMPUTING LIMITED
    Version: 10601115935
    Seriennummer: DSFJ001006
    Breite: 64 bits
    Fähigkeiten: smbios-3.1.1 dmi-3.1.1 smp vsyscall32
    Konfiguration: administrator_password=disabled boot=normal chassis=detachable family=STYLISTIC-FTS power-on_password=disabled sku=SK00 uuid=13C29B06-BB32-EB11-8B14-9BC2119018E3
  *-core
       Beschreibung: Hauptplatine
       Produkt: FJNBC13
       Hersteller: FUJITSU CLIENT COMPUTING LIMITED
       Physische ID: 0
       Version: B3
       Seriennummer: B6 DWYC
     *-firmware
          Beschreibung: BIOS
          Hersteller: FUJITSU CLIENT COMPUTING LIMITED
          Physische ID: 0
          Version: Version 1.15
          date: 07/21/2020
          Größe: 128KiB
          Kapazität: 16MiB
          Fähigkeiten: pci upgrade shadowing cdboot bootselect acpi usb netboot uefi
     *-cpu
          Beschreibung: CPU
          Produkt: Intel(R) Pentium(R) Silver N5030 CPU @ 1.10GHz
          Hersteller: Intel Corp.
          Physische ID: 4
          Bus-Informationen: cpu@0
          Version: Intel(R) Pentium(R) Silver N5030 CPU @ 1.10GHz
          Steckplatz: Onboard
          Größe: 2179MHz
          Kapazität: 3100MHz
          Breite: 64 bits
          Takt: 100MHz
          Fähigkeiten: lm fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp x86-64 constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault cat_l2 cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust smep erms mpx rdt_a rdseed smap clflushopt intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts umip rdpid md_clear arch_capabilities cpufreq
          Konfiguration: cores=4 enabledcores=4 threads=4
        *-cache:0
             Beschreibung: L1 Cache
             Physische ID: 6
             Steckplatz: L1 Cache
             Größe: 128KiB
             Kapazität: 128KiB
             Fähigkeiten: synchronous internal write-back instruction
             Konfiguration: level=1
        *-cache:1
             Beschreibung: L2 Cache
             Physische ID: 7
             Steckplatz: L2 Cache
             Größe: 4MiB
             Kapazität: 4MiB
             Fähigkeiten: synchronous internal write-back unified
             Konfiguration: level=2
     *-cache
          Beschreibung: L1 Cache
          Physische ID: 5
          Steckplatz: L1 Cache
          Größe: 96KiB
          Kapazität: 96KiB
          Fähigkeiten: synchronous internal write-back data
          Konfiguration: level=1
     *-memory
          Beschreibung: Systemspeicher
          Physische ID: a
          Steckplatz: Systemplatine oder Hauptplatine
          Größe: 8GiB
        *-bank:0
             Beschreibung: Reihe von Chips LPDDR4 Synchron 2400 MHz (0,4 ns)
             Hersteller: 0000
             Physische ID: 0
             Seriennummer: 00000000
             Steckplatz: ChannelA-Onboard0
             Größe: 2GiB
             Breite: 32 bits
             Takt: 2400MHz (0.4ns)
        *-bank:1
             Beschreibung: Reihe von Chips LPDDR4 Synchron 2400 MHz (0,4 ns)
             Hersteller: 0000
             Physische ID: 1
             Seriennummer: 00000000
             Steckplatz: ChannelA-Onboard1
             Größe: 2GiB
             Breite: 32 bits
             Takt: 2400MHz (0.4ns)
        *-bank:2
             Beschreibung: Reihe von Chips LPDDR4 Synchron 2400 MHz (0,4 ns)
             Hersteller: 0000
             Physische ID: 2
             Seriennummer: 00000000
             Steckplatz: ChannelB-Onboard0
             Größe: 2GiB
             Breite: 32 bits
             Takt: 2400MHz (0.4ns)
        *-bank:3
             Beschreibung: Reihe von Chips LPDDR4 Synchron 2400 MHz (0,4 ns)
             Hersteller: 0000
             Physische ID: 3
             Seriennummer: 00000000
             Steckplatz: ChannelB-Onboard1
             Größe: 2GiB
             Breite: 32 bits
             Takt: 2400MHz (0.4ns)
     *-pci
          Beschreibung: Host bridge
          Produkt: Gemini Lake Host Bridge
          Hersteller: Intel Corporation
          Physische ID: 100
          Bus-Informationen: pci@0000:00:00.0
          Version: 06
          Breite: 32 bits
          Takt: 33MHz
        *-generic:0
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Dynamic Platform and Thermal Framework Processor Participant
             Hersteller: Intel Corporation
             Physische ID: 0.1
             Bus-Informationen: pci@0000:00:00.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=proc_thermal latency=0
             Ressourcen: irq:24 memory:80000000-80007fff
        *-display
             Beschreibung: VGA compatible controller
             Produkt: GeminiLake [UHD Graphics 605]
             Hersteller: Intel Corporation
             Physische ID: 2
             Bus-Informationen: pci@0000:00:02.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pciexpress msi pm vga_controller bus_master cap_list rom
             Konfiguration: driver=i915 latency=0
             Ressourcen: irq:150 memory:a0000000-a0ffffff memory:90000000-9fffffff ioport:1000(Größe=64) memory:c0000-dffff
        *-network
             Beschreibung: Kabellose Verbindung
             Produkt: AC 1550i Wireless
             Hersteller: Intel Corporation
             Physische ID: c
             Bus-Informationen: pci@0000:00:0c.0
             Logischer Name: wlp0s12f0
             Version: 06
             Seriennummer: f8:ac:65:95:c5:45
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
             Konfiguration: broadcast=yes driver=iwlwifi driverversion=5.11.0-16-generic firmware=46.6f9f215c.0 9000-pu-b0-jf-b0- ip=10.254.6.56 latency=0 link=yes multicast=yes wireless=IEEE 802.11
             Ressourcen: irq:44 memory:a1210000-a1213fff
        *-multimedia
             Beschreibung: Audio device
             Produkt: Celeron/Pentium Silver Processor High Definition Audio
             Hersteller: Intel Corporation
             Physische ID: e
             Bus-Informationen: pci@0000:00:0e.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi pciexpress bus_master cap_list
             Konfiguration: driver=snd_hda_intel latency=0
             Ressourcen: irq:151 memory:a1214000-a1217fff memory:a1000000-a10fffff
        *-communication
             Beschreibung: Communication controller
             Produkt: Celeron/Pentium Silver Processor Trusted Execution Engine Interface
             Hersteller: Intel Corporation
             Physische ID: f
             Bus-Informationen: pci@0000:00:0f.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi bus_master cap_list
             Konfiguration: driver=mei_me latency=0
             Ressourcen: irq:127 memory:a121a000-a121afff
        *-generic:1
             Beschreibung: Unclassified device
             Produkt: Celeron/Pentium Silver Processor Integrated Sensor Solution
             Hersteller: Intel Corporation
             Physische ID: 11
             Bus-Informationen: pci@0000:00:11.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel_ish_ipc latency=0
             Ressourcen: irq:26 memory:a1218000-a1219fff memory:a121b000-a121bfff
        *-pci
             Beschreibung: PCI bridge
             Produkt: Gemini Lake PCI Express Root Port
             Hersteller: Intel Corporation
             Physische ID: 13
             Bus-Informationen: pci@0000:00:13.0
             Version: f6
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: pci pciexpress msi pm normal_decode bus_master cap_list
             Konfiguration: driver=pcieport
             Ressourcen: irq:122 memory:a1100000-a11fffff
           *-generic
                Beschreibung: SD Host controller
                Produkt: SD/MMC Card Reader Controller
                Hersteller: O2 Micro, Inc.
                Physische ID: 0
                Bus-Informationen: pci@0000:01:00.0
                Version: 01
                Breite: 32 bits
                Takt: 33MHz
                Fähigkeiten: pm msi pciexpress bus_master cap_list
                Konfiguration: driver=sdhci-pci latency=0
                Ressourcen: irq:124 memory:a1101000-a1101fff memory:a1100000-a11007ff
        *-usb
             Beschreibung: USB controller
             Produkt: Celeron/Pentium Silver Processor USB 3.0 xHCI Controller
             Hersteller: Intel Corporation
             Physische ID: 15
             Bus-Informationen: pci@0000:00:15.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi xhci bus_master cap_list
             Konfiguration: driver=xhci_hcd latency=0
             Ressourcen: irq:123 memory:a1200000-a120ffff
           *-usbhost:0
                Produkt: xHCI Host Controller
                Hersteller: Linux 5.11.0-16-generic xhci-hcd
                Physische ID: 0
                Bus-Informationen: usb@1
                Logischer Name: usb1
                Version: 5.11
                Fähigkeiten: usb-2.00
                Konfiguration: driver=hub slots=9 speed=480Mbit/s
              *-usb:0
                   Beschreibung: Kommunikationsgerät
                   Produkt: EM7455
                   Hersteller: Sierra Wireless, Incorporated
                   Physische ID: 3
                   Bus-Informationen: usb@1:3
                   Version: 0.06
                   Seriennummer: LF03849840041033
                   Fähigkeiten: usb-2.00
                   Konfiguration: driver=cdc_mbim maxpower=500mA speed=480Mbit/s
              *-usb:1
                   Beschreibung: Video
                   Produkt: FJ 8M Camera
                   Hersteller: SunplusIT Inc
                   Physische ID: 4
                   Bus-Informationen: usb@1:4
                   Version: 2.21
                   Seriennummer: 01.00.00
                   Fähigkeiten: usb-2.00
                   Konfiguration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
              *-usb:2
                   Beschreibung: Video
                   Produkt: FJ Camera
                   Hersteller: Chicony Electronics Co.,Ltd.
                   Physische ID: 5
                   Bus-Informationen: usb@1:5
                   Version: 36.18
                   Fähigkeiten: usb-2.00
                   Konfiguration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
              *-usb:3
                   Beschreibung: USB-Hub
                   Produkt: USB2.0 Hub
                   Hersteller: Cypress Semiconductor Corp.
                   Physische ID: 8
                   Bus-Informationen: usb@1:8
                   Version: 32.99
                   Fähigkeiten: usb-2.00
                   Konfiguration: driver=hub maxpower=100mA slots=4 speed=480Mbit/s
                 *-usb:0
                      Beschreibung: Allgemeines USB-Gerät
                      Produkt: USB 10/100/1000 LAN
                      Hersteller: Realtek
                      Physische ID: 1
                      Bus-Informationen: usb@1:8.1
                      Version: 31.00
                      Seriennummer: 001000001
                      Fähigkeiten: usb-2.10
                      Konfiguration: driver=r8152 maxpower=350mA speed=480Mbit/s
                 *-usb:1
                      Beschreibung: Tastatur
                      Produkt: ITE Device(8910)
                      Hersteller: ITE Tech. Inc.
                      Physische ID: 2
                      Bus-Informationen: usb@1:8.2
                      Version: 0.02
                      Fähigkeiten: usb-2.00
                      Konfiguration: driver=usbhid maxpower=100mA speed=12Mbit/s
              *-usb:4
                   Beschreibung: Bluetooth-Schnittstelle
                   Produkt: Bluetooth 9460/9560 Jefferson Peak (JfP)
                   Hersteller: Intel Corp.
                   Physische ID: 9
                   Bus-Informationen: usb@1:9
                   Version: 0.02
                   Fähigkeiten: bluetooth usb-2.00
                   Konfiguration: driver=btusb maxpower=100mA speed=12Mbit/s
           *-usbhost:1
                Produkt: xHCI Host Controller
                Hersteller: Linux 5.11.0-16-generic xhci-hcd
                Physische ID: 1
                Bus-Informationen: usb@2
                Logischer Name: usb2
                Version: 5.11
                Fähigkeiten: usb-3.00
                Konfiguration: driver=hub slots=7 speed=5000Mbit/s
        *-generic:2
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17
             Bus-Informationen: pci@0000:00:17.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:31 memory:a121c000-a121cfff memory:a121d000-a121dfff
        *-generic:3
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17.2
             Bus-Informationen: pci@0000:00:17.2
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:33 memory:a121e000-a121efff memory:a121f000-a121ffff
        *-generic:4
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17.3
             Bus-Informationen: pci@0000:00:17.3
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:34 memory:a1220000-a1220fff memory:a1221000-a1221fff
        *-generic:5
             Beschreibung: SD Host controller
             Produkt: Celeron/Pentium Silver Processor SDA Standard Compliant SD Host Controller
             Hersteller: Intel Corporation
             Physische ID: 1c
             Bus-Informationen: pci@0000:00:1c.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=sdhci-pci latency=0
             Ressourcen: irq:39 memory:a1222000-a1222fff memory:a1223000-a1223fff
        *-isa
             Beschreibung: ISA bridge
             Produkt: Celeron/Pentium Silver Processor PCI-default ISA-bridge
             Hersteller: Intel Corporation
             Physische ID: 1f
             Bus-Informationen: pci@0000:00:1f.0
             Version: 06
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: isa bus_master
             Konfiguration: driver=lpc_ich latency=0
             Ressourcen: irq:0
        *-serial
             Beschreibung: SMBus
             Produkt: Celeron/Pentium Silver Processor Gaussian Mixture Model
             Hersteller: Intel Corporation
             Physische ID: 1f.1
             Bus-Informationen: pci@0000:00:1f.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Konfiguration: driver=i801_smbus latency=0
             Ressourcen: irq:20 memory:a1224000-a12240ff ioport:1040(Größe=32)
     *-pnp00:00
          Produkt: PnP device PNP0c02
          Physische ID: 1
          Fähigkeiten: pnp
          Konfiguration: driver=system
     *-pnp00:01
          Produkt: PnP device FUJ0309
          Physische ID: 2
          Fähigkeiten: pnp
          Konfiguration: driver=i8042 kbd
     *-pnp00:02
          Produkt: PnP device PNP0c02
          Physische ID: 3
          Fähigkeiten: pnp
          Konfiguration: driver=system
     *-pnp00:03
          Produkt: PnP device PNP0b00
          Physische ID: 6
          Fähigkeiten: pnp
          Konfiguration: driver=rtc_cmos
  *-battery
       Beschreibung: Lithium-Ionen Battery
       Produkt: CP781794-01
       Hersteller: FUJITSU
       Physische ID: 1
       Seriennummer: 01A-X201014025866X
       Steckplatz: Internal Battery
       Kapazität: 30600mWh
       Konfiguration: voltage=7,2V
  *-network:0 DEAKTIVIERT
       Beschreibung: Ethernet interface
       Physische ID: 2
       Bus-Informationen: usb@1:3
       Logischer Name: wwan0
       Seriennummer: de:84:58:25:22:cb
       Fähigkeiten: ethernet physical
       Konfiguration: broadcast=yes driver=cdc_mbim driverversion=5.11.0-16-generic firmware=CDC MBIM link=no multicast=yes
  *-network:1
       Beschreibung: Ethernet interface
       Physische ID: 3
       Bus-Informationen: usb@1:8.1
       Logischer Name: enxec79493cddcd
       Seriennummer: ec:79:49:3c:dd:cd
       Größe: 10Mbit/s
       Kapazität: 1Gbit/s
       Fähigkeiten: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       Konfiguration: autonegotiation=on broadcast=yes driver=r8152 driverversion=v1.11.11 duplex=half firmware=rtl8153b-2 v1 10/23/19 link=no multicast=yes port=MII speed=10Mbit/s

WireGuard-VPN-Setup für Leihgeräte für Lehrkräfte

Prinzipieller Aufbau des VPNs

Die Leihgeräte für unsere Lehrkräfte werden bei uns in einem eigenen WireGuard-VPN-Netzwerk betrieben werden, damit zum einen gewährleistet ist, dass jederzeit ein administrativer Zugriff auf die Geräte mit Ansible, was wir unter anderem zur Verwaltung der Geräte einsetzen, möglich ist und damit zum anderen sichergestellt ist, dass sämtlicher Datenverkehr in einem potentiell unsicheren Heimnetzwerk mit dem Internet nur über die verschlüsselte VPN-Verbindung läuft. Zusätzlich ermöglicht der Einsatz von WireGuard, dass auch bestimmte Serverdienste aus dem Schulnetz zuhause zur Verfügung gestellt werden können, ohne diese mit dem Internet verbinden zu müssen.

WireGuard setzt bei der Verschlüsselung auf ein asymmetrisches Verschlüsselungssystem mit öffentlichem und privaten Schlüssel. Dieses ist bei der Einrichtung der Geräte eine gewisse Herausforderung, weil Schlüssel für eine Vielzahl an Geräten erzeugt und die jeweils öffentlichen Schlüssel dann auch dem WireGuard-Server bekannt gemacht werden müssen, damit sich die entsprechenden Clients verbinden können.

Dafür habe ich ein kleines Skript geschrieben, was die Schlüssel erzeugt, eine Konfigurationsdatei für die Clients (wg0.conf) erstellt, die den privaten Schlüssel des Geräts enthält und den öffentlichen Schlüssel für den Server speichert, sodass der Client einfach hinzugefügt werden kann.

Das Skript erzeugt einen qrcode mit der Konfigurationsdatei und erstellt dann ein PDF-Dokument, was den qrcode sowie menschenlesbar die IP-Adresse im WireGuard-Netz enthält, damit man noch weiß, zu welchem Client der qrcode gehört.

Auf den Clients muss man jetzt einfach nur noch mit dem Programm zbarcam (ist in Ubuntu in dem Paket zbar-tools in den Paketquellen enthalten) den qrcode mit der Webcam scannen und als Datei in /etc/wireguard speichern:

sudo zbarcam > /etc/wireguard/wg0.conf

Die PDFs mit den qrcodes muss man jetzt natürlich wie einen Schatz hüten, da dieser die privaten Schlüssel der Clients enthält. Jeder, der den qrcode abfotografieren kann, kann damit sein Gerät zum WireGuard-VPN-Netzwerk hinzufügen. Deswegen ist das Dokument am besten ausgedruckt an einem sicheren Ort aufzubewahren.

So sehen die qrcodes im PDF-Dokument aus. Die Daten sind natürlich nur Beispiele

Mein Skript benötigt eine Template-Config-Datei (template.conf):

[Interface]
PrivateKey = PRIVKEY
Address = IPADDRESS/24

[Peer]
PublicKey = 9OKdnpB3QijHMx+/7ij+GYFEABJvkiudTPsDgGVulmc=
Endpoint = 1.2.3.4:51820
AllowedIPs = 0.0.0.0/0

Außerdem ist eine Liste (liste.txt) mit IP-Adressen nötig, die dem VPN hinzugefügt werden sollen:

172.16.0.10
172.16.0.11
172.16.0.12
172.16.0.13
172.16.0.14
172.16.0.15

Außerdem habe ich eine Postscript-Datei für das PDF, in das dann die jeweilige IP-Adresse eingefügt werden soll:

<<
   /EndPage
   {
     2 eq { pop false }
     {
         gsave      
         /Helvetica findfont 48 scalefont setfont
         newpath
         .55 setgray 130 200 moveto 50 rotate
         (IPADDRESS) false  charpath
         1 setlinewidth stroke
         grestore
         true
     } ifelse
   } bind
>> setpagedevice

Schließlich das Skript, das ein paar Programme benötigt, damit es korrekt funktioniert:

#!/bin/bash
#Zum Lesen sudo apt install zbar-tools
#Einlesen in /etc/wireguard/ zbarcam > wg0.conf
#Dieses Skript benötigt pdftk (snap install pdftk), imagemagick, gs, qrencode

datum=$(date +"%d-%m-%y")

echo "-- Datum: $datum. --"
echo "Erzeugung von WireGuard-Schlüsseln gestartet!"

mkdir -p ./keys
mkdir -p ./conf
mkdir -p ./PDF
mkdir -p ./png

while read IP
do
  sed "s@\bIPADDRESS\b@${IP}@g" template.conf > temp-01.conf
  wg genkey | tee ./keys/privatekey_$IP | wg pubkey | tee ./keys/publickey_$IP
  read privatekey < ./keys/privatekey_$IP
  read pubkey < ./keys/publickey_$IP
  sed "s@\bPRIVKEY\b@${privatekey}@g" temp-01.conf > ./conf/wg0_$IP.conf
  echo "wg set wg0 peer $pubkey allowed-ips $IP" >> peers.txt
  qrencode <./conf/wg0_$IP.conf -o ./png/qrcode_$IP.png
  convert -page A4 ./png/qrcode_$IP.png ./PDF/CONFIG_tmp_$IP.pdf
  sed "s@\bIPADDRESS\b@${IP}@g" ./ps_template.ps > ./ps_template_tmp.ps
  gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=./PDF/CONFIG_$IP.pdf ./ps_template_tmp.ps ./PDF/CONFIG_tmp_$IP.pdf
done < ./liste.txt
rm ./PDF/CONFIG_tmp_*.pdf
pdftk ./PDF/CONFIG_*.pdf cat output ./qrcodes_$datum.pdf
rm temp-01.conf ps_template_tmp.ps
rm -r ./PDF
rm -r ./png

Mit ein bisschen sed und Shell-Scripting wird dann das PDF erzeugt und, ganz wichtig, eine Textdatei (peers.txt) mit den öffentlichen Schlüsseln der Clients angelegt, damit ich diese auf dem WireGuard-Server hinzufügen kann.

Wenn dann die Leihgeräte entliehen werden, wird bei der Ausgabe kurz der qrcode mir der Webcam gescannt und das Gerät damit dem VPN hinzugefügt. Wireguard ist auf den Geräten so konfiguriert, dass es automatisch beim Start mit systemd gestartet wird und die Endnutzerin oder der Endnutzer nichts mehr damit zu tun hat. Sobald eine Netzwerkverbindung besteht, läuft der Verkehr über das VPN.

Linux auf dem HP ProBook x360 11 G5 EE

Transparenzhinweis: Das vorliegende Testgerät wurde uns von co.Tec Gesellschaft für Softwaredistribution mbH (Traberhofstr. 12, D-83026 Rosenheim) zur Verfügung gestellt.

Auf unserer Suche nach einem brauchbaren Linux-Convertible oder -Tablet in der 500-Euro-Klasse hatte ich heute das HP ProBook x360 11 G5 EE in den Fingern. Die Installation von Ubuntu 21.04 funktioniert absolut problemlos und ist nach dem Druck auf die Taste F9 für die Auswahl des Boot-Mediums innerhalb von fünf Minuten erledigt.

Mein erster Test hat ergeben, dass die Hardware komplett erkannt wird und dass auch alle Convertible-Funktionen funktionieren: Beide Kameras laufen, die Bildschirmrotation klappt, der Tablet-Modus mit Deaktivierung der Tastatur beim Umklappen klappt und ganz wichtig: Die Stifteingabe klappt prima und die Stifteingabe ist zudem drucksensitiv. Das bedeutet mit wenig Druck zeichnet man eine dünne und mit viel Druck eine dicke Linie. Der Stift (HP PN: L68029-001) hat im Gegensatz zum von mit ebenfalls getesteten TERRA PAD austauschbare Spitzen, was durchaus in Hinblick auf die Nachhaltigkeit gut ist.

Das Gerät funktioniert gut, aber es gibt auch Schattenseiten: Ebenso wie das TERRA PAD fühlt sich das Gerät billig an und der Bildschirm hat nur eine Auflösung von 1366 x 768 Pixel und ist ebenso wie bei dem TERRA PAD nur recht dunkel und stark spiegelnd.

Die Vorzüge sind aber vor allem die Tatsachen, dass die drucksensitive Stifteingabe gut funktioniert und dass es möglich ist, eine SSD anstelle des eMMC-Speichers zu bekommen. Mit diesen Gerät ist ein echtes Arbeiten mit dem Stift möglich.

Die Linux-Performance ist genauso gut wie bei dem TERRA PAD, was aber auch zu erwarten ist, da Prozessor und RAM vergleichbar sind.

Gut ist zudem die Tatsache, dass das Gerät über eine Netzwerkschnittstelle sowie über einen vollwertigen HDMI-Anschluss verfügt.

Schnittstellen des HP ProBook x360 11 G5
Schnittstellen des HP ProBook x360 11 G5
Das HP ProBook x360 11 G5
Das HP ProBook x360 11 G5

Für die Interessierten habe ich hier die Ausgabe von lshw:

gbg-hp-probook-x360-11-g5-ee
    Beschreibung: Notebook
    Produkt: HP ProBook x360 11 G5 EE (9VZ74ES#ABD)
    Hersteller: HP
    Seriennummer: 5CG013G4YD
    Breite: 64 bits
    Fähigkeiten: smbios-3.1.1 dmi-3.1.1 smp vsyscall32
    Konfiguration: administrator_password=disabled boot=normal chassis=notebook family=103C_5336AN HP ProBook x360 frontpanel_password=disabled keyboard_password=disabled power-on_password=disabled sku=9VZ74ES#ABD uuid=FB4C6971-A9B3-1CF0-205B-40BE9E280365
  *-core
       Beschreibung: Hauptplatine
       Produkt: 86CF
       Hersteller: HP
       Physische ID: 0
       Version: KBC Version 03.0D.00
       Seriennummer: PJKHF00WBDH01G
     *-memory
          Beschreibung: Systemspeicher
          Physische ID: 1
          Steckplatz: Systemplatine oder Hauptplatine
          Größe: 4GiB
        *-bank
             Beschreibung: SODIMM DDR4 Synchron 2400 MHz (0,4 ns)
             Produkt: K4A8G165WC-BCTD
             Hersteller: Samsung
             Physische ID: 0
             Seriennummer: 00000000
             Steckplatz: Bottom-OnBoard 1
             Größe: 4GiB
             Breite: 8 bits
             Takt: 2400MHz (0.4ns)
     *-firmware
          Beschreibung: BIOS
          Hersteller: HP
          Physische ID: 4
          Version: S95 Ver. 01.01.00
          date: 10/21/2019
          Größe: 64KiB
          Kapazität: 16MiB
          Fähigkeiten: pci pcmcia upgrade shadowing cdboot bootselect edd int5printscreen int9keyboard int14serial int17printer acpi usb smartbattery biosbootspecification netboot uefi
     *-cache:0
          Beschreibung: L1 Cache
          Physische ID: a
          Steckplatz: L1 Cache
          Größe: 24KiB
          Kapazität: 24KiB
          Fähigkeiten: synchronous internal write-back data
          Konfiguration: level=1
     *-cache:1
          Beschreibung: L1 Cache
          Physische ID: b
          Steckplatz: L1 Cache
          Größe: 32KiB
          Kapazität: 32KiB
          Fähigkeiten: synchronous internal write-back instruction
          Konfiguration: level=1
     *-cache:2
          Beschreibung: L2 Cache
          Physische ID: c
          Steckplatz: L2 Cache
          Größe: 4MiB
          Kapazität: 4MiB
          Fähigkeiten: synchronous internal write-back unified
          Konfiguration: level=2
     *-cpu
          Beschreibung: CPU
          Produkt: Intel(R) Pentium(R) Silver N5030 CPU @ 1.10GHz
          Hersteller: Intel Corp.
          Physische ID: d
          Bus-Informationen: cpu@0
          Version: Intel(R) Pentium(R) Silver N5030 CPU @ 1.10GHz
          Seriennummer: To Be Filled By O.E.M.
          Steckplatz: U3E1
          Größe: 1464MHz
          Kapazität: 3100MHz
          Breite: 64 bits
          Takt: 100MHz
          Fähigkeiten: lm fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp x86-64 constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault cat_l2 cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust smep erms mpx rdt_a rdseed smap clflushopt intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts umip rdpid md_clear arch_capabilities cpufreq
          Konfiguration: cores=4 enabledcores=4 threads=4
     *-pci
          Beschreibung: Host bridge
          Produkt: Gemini Lake Host Bridge
          Hersteller: Intel Corporation
          Physische ID: 100
          Bus-Informationen: pci@0000:00:00.0
          Version: 06
          Breite: 32 bits
          Takt: 33MHz
        *-generic:0
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Dynamic Platform and Thermal Framework Processor Participant
             Hersteller: Intel Corporation
             Physische ID: 0.1
             Bus-Informationen: pci@0000:00:00.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=proc_thermal latency=0
             Ressourcen: irq:24 memory:80000000-80007fff
        *-generic:1 UNGEFORDERT
             Beschreibung: System peripheral
             Produkt: Celeron/Pentium Silver Processor Gaussian Mixture Model
             Hersteller: Intel Corporation
             Physische ID: 0.3
             Bus-Informationen: pci@0000:00:00.3
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: msi pm bus_master cap_list
             Konfiguration: latency=0
             Ressourcen: memory:a1318000-a1318fff
        *-display
             Beschreibung: VGA compatible controller
             Produkt: GeminiLake [UHD Graphics 605]
             Hersteller: Intel Corporation
             Physische ID: 2
             Bus-Informationen: pci@0000:00:02.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pciexpress msi pm vga_controller bus_master cap_list rom
             Konfiguration: driver=i915 latency=0
             Ressourcen: irq:130 memory:a0000000-a0ffffff memory:90000000-9fffffff ioport:2000(Größe=64) memory:c0000-dffff
        *-multimedia
             Beschreibung: Audio device
             Produkt: Celeron/Pentium Silver Processor High Definition Audio
             Hersteller: Intel Corporation
             Physische ID: e
             Bus-Informationen: pci@0000:00:0e.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi pciexpress bus_master cap_list
             Konfiguration: driver=snd_hda_intel latency=0
             Ressourcen: irq:154 memory:a1310000-a1313fff memory:a1000000-a10fffff
        *-communication
             Beschreibung: Communication controller
             Produkt: Celeron/Pentium Silver Processor Trusted Execution Engine Interface
             Hersteller: Intel Corporation
             Physische ID: f
             Bus-Informationen: pci@0000:00:0f.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi bus_master cap_list
             Konfiguration: driver=mei_me latency=0
             Ressourcen: irq:131 memory:a1319000-a1319fff
        *-generic:2
             Beschreibung: Unclassified device
             Produkt: Celeron/Pentium Silver Processor Integrated Sensor Solution
             Hersteller: Intel Corporation
             Physische ID: 11
             Bus-Informationen: pci@0000:00:11.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel_ish_ipc latency=0
             Ressourcen: irq:26 memory:a1314000-a1315fff memory:a131a000-a131afff
        *-sata
             Beschreibung: SATA controller
             Produkt: Celeron/Pentium Silver Processor SATA Controller
             Hersteller: Intel Corporation
             Physische ID: 12
             Bus-Informationen: pci@0000:00:12.0
             Version: 06
             Breite: 32 bits
             Takt: 66MHz
             Fähigkeiten: sata msi pm ahci_1.0 bus_master cap_list
             Konfiguration: driver=ahci latency=0
             Ressourcen: irq:128 memory:a1316000-a1317fff memory:a132f000-a132f0ff ioport:2080(Größe=8) ioport:2088(Größe=4) ioport:2060(Größe=32) memory:a132d000-a132d7ff
        *-pci:0
             Beschreibung: PCI bridge
             Produkt: Gemini Lake PCI Express Root Port
             Hersteller: Intel Corporation
             Physische ID: 13
             Bus-Informationen: pci@0000:00:13.0
             Version: f6
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: pci pciexpress msi pm normal_decode bus_master cap_list
             Konfiguration: driver=pcieport
             Ressourcen: irq:122
        *-pci:1
             Beschreibung: PCI bridge
             Produkt: Gemini Lake PCI Express Root Port
             Hersteller: Intel Corporation
             Physische ID: 14
             Bus-Informationen: pci@0000:00:14.0
             Version: f6
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: pci pciexpress msi pm normal_decode bus_master cap_list
             Konfiguration: driver=pcieport
             Ressourcen: irq:123 memory:a1200000-a12fffff
           *-network
                Beschreibung: Kabellose Verbindung
                Produkt: Wi-Fi 6 AX200
                Hersteller: Intel Corporation
                Physische ID: 0
                Bus-Informationen: pci@0000:02:00.0
                Logischer Name: wlp2s0
                Version: 1a
                Seriennummer: f8:e4:e3:00:15:e5
                Breite: 64 bits
                Takt: 33MHz
                Fähigkeiten: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
                Konfiguration: broadcast=yes driver=iwlwifi driverversion=5.11.0-14-generic firmware=59.601f3a66.0 cc-a0-59.ucode ip=10.20.1.16 latency=0 link=yes multicast=yes wireless=IEEE 802.11
                Ressourcen: irq:22 memory:a1200000-a1203fff
        *-pci:2
             Beschreibung: PCI bridge
             Produkt: Gemini Lake PCI Express Root Port
             Hersteller: Intel Corporation
             Physische ID: 14.1
             Bus-Informationen: pci@0000:00:14.1
             Version: f6
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: pci pciexpress msi pm normal_decode bus_master cap_list
             Konfiguration: driver=pcieport
             Ressourcen: irq:124 ioport:1000(Größe=4096) memory:a1100000-a11fffff
           *-network
                Beschreibung: Ethernet interface
                Produkt: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
                Hersteller: Realtek Semiconductor Co., Ltd.
                Physische ID: 0
                Bus-Informationen: pci@0000:03:00.0
                Logischer Name: enp3s0
                Version: 15
                Seriennummer: 38:22:e2:c9:8d:e5
                Kapazität: 1Gbit/s
                Breite: 64 bits
                Takt: 33MHz
                Fähigkeiten: pm msi pciexpress msix bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
                Konfiguration: autonegotiation=on broadcast=yes driver=r8169 driverversion=5.11.0-14-generic firmware=rtl8168h-2_0.0.2 02/26/15 latency=0 link=no multicast=yes port=twisted pair
                Ressourcen: irq:23 ioport:1000(Größe=256) memory:a1104000-a1104fff memory:a1100000-a1103fff
        *-usb
             Beschreibung: USB controller
             Produkt: Celeron/Pentium Silver Processor USB 3.0 xHCI Controller
             Hersteller: Intel Corporation
             Physische ID: 15
             Bus-Informationen: pci@0000:00:15.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi xhci bus_master cap_list
             Konfiguration: driver=xhci_hcd latency=0
             Ressourcen: irq:125 memory:a1300000-a130ffff
           *-usbhost:0
                Produkt: xHCI Host Controller
                Hersteller: Linux 5.11.0-14-generic xhci-hcd
                Physische ID: 0
                Bus-Informationen: usb@1
                Logischer Name: usb1
                Version: 5.11
                Fähigkeiten: usb-2.00
                Konfiguration: driver=hub slots=9 speed=480Mbit/s
              *-usb:0
                   Beschreibung: Bluetooth-Schnittstelle
                   Produkt: AX200 Bluetooth
                   Hersteller: Intel Corp.
                   Physische ID: 5
                   Bus-Informationen: usb@1:5
                   Version: 0.01
                   Fähigkeiten: bluetooth usb-2.01
                   Konfiguration: driver=btusb maxpower=100mA speed=12Mbit/s
              *-usb:1
                   Beschreibung: Video
                   Produkt: HP 5MP Camera
                   Hersteller: DHNMAA19ICI9IR
                   Physische ID: 6
                   Bus-Informationen: usb@1:6
                   Version: 0.05
                   Seriennummer: 01.00.00
                   Fähigkeiten: usb-2.01
                   Konfiguration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
              *-usb:2
                   Beschreibung: Video
                   Produkt: HP HD Camera
                   Hersteller: DJDKCA19ID70IF
                   Physische ID: 7
                   Bus-Informationen: usb@1:7
                   Version: 0.05
                   Fähigkeiten: usb-2.01
                   Konfiguration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
           *-usbhost:1
                Produkt: xHCI Host Controller
                Hersteller: Linux 5.11.0-14-generic xhci-hcd
                Physische ID: 1
                Bus-Informationen: usb@2
                Logischer Name: usb2
                Version: 5.11
                Fähigkeiten: usb-3.00
                Konfiguration: driver=hub slots=7 speed=5000Mbit/s
        *-generic:3
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17
             Bus-Informationen: pci@0000:00:17.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:31 memory:a131b000-a131bfff memory:a131c000-a131cfff
        *-generic:4
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17.1
             Bus-Informationen: pci@0000:00:17.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:32 memory:a131d000-a131dfff memory:a131e000-a131efff
        *-generic:5
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17.2
             Bus-Informationen: pci@0000:00:17.2
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:33 memory:a131f000-a131ffff memory:a1320000-a1320fff
        *-generic:6
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17.3
             Bus-Informationen: pci@0000:00:17.3
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:34 memory:a1321000-a1321fff memory:a1322000-a1322fff
        *-generic:7
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO UART Host Controller
             Hersteller: Intel Corporation
             Physische ID: 18
             Bus-Informationen: pci@0000:00:18.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:4 memory:a1323000-a1323fff memory:a1324000-a1324fff
        *-generic:8
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO UART Host Controller
             Hersteller: Intel Corporation
             Physische ID: 18.1
             Bus-Informationen: pci@0000:00:18.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:5 memory:a1325000-a1325fff memory:a1326000-a1326fff
        *-generic:9
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO UART Host Controller
             Hersteller: Intel Corporation
             Physische ID: 18.3
             Bus-Informationen: pci@0000:00:18.3
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:7 memory:a1327000-a1327fff memory:a1328000-a1328fff
        *-generic:10
             Beschreibung: SD Host controller
             Produkt: Celeron/Pentium Silver Processor SDA Standard Compliant SD Host Controller
             Hersteller: Intel Corporation
             Physische ID: 1c
             Bus-Informationen: pci@0000:00:1c.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=sdhci-pci latency=0
             Ressourcen: irq:39 memory:a1329000-a1329fff memory:a132a000-a132afff
        *-generic:11
             Beschreibung: SD Host controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 1e
             Bus-Informationen: pci@0000:00:1e.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=sdhci-pci latency=0
             Ressourcen: irq:42 memory:a132b000-a132bfff memory:a132c000-a132cfff
        *-isa
             Beschreibung: ISA bridge
             Produkt: Celeron/Pentium Silver Processor PCI-default ISA-bridge
             Hersteller: Intel Corporation
             Physische ID: 1f
             Bus-Informationen: pci@0000:00:1f.0
             Version: 06
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: isa bus_master
             Konfiguration: driver=lpc_ich latency=0
             Ressourcen: irq:0
        *-serial
             Beschreibung: SMBus
             Produkt: Celeron/Pentium Silver Processor Gaussian Mixture Model
             Hersteller: Intel Corporation
             Physische ID: 1f.1
             Bus-Informationen: pci@0000:00:1f.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Konfiguration: driver=i801_smbus latency=0
             Ressourcen: irq:20 memory:a132e000-a132e0ff ioport:2040(Größe=32)
     *-pnp00:00
          Produkt: PnP device PNP0c02
          Physische ID: 0
          Fähigkeiten: pnp
          Konfiguration: driver=system
     *-pnp00:01
          Produkt: PnP device HPQ8002
          Physische ID: 2
          Fähigkeiten: pnp
          Konfiguration: driver=i8042 kbd
     *-pnp00:02
          Produkt: PnP device ETD0755
          Physische ID: 3
          Fähigkeiten: pnp
          Konfiguration: driver=i8042 aux
     *-pnp00:03
          Produkt: PnP device PNP0c02
          Physische ID: 5
          Fähigkeiten: pnp
          Konfiguration: driver=system
     *-pnp00:04
          Produkt: PnP device PNP0c02
          Physische ID: 6
          Fähigkeiten: pnp
          Konfiguration: driver=system
     *-pnp00:05
          Produkt: PnP device PNP0b00
          Physische ID: 7
          Fähigkeiten: pnp
          Konfiguration: driver=rtc_cmos
     *-scsi
          Physische ID: 8
          Logischer Name: scsi0
          Fähigkeiten: emulated
        *-disk
             Beschreibung: ATA Disk
             Produkt: LITEON CV8-8E128
             Physische ID: 0.0.0
             Bus-Informationen: scsi@0:0.0.0
             Logischer Name: /dev/sda
             Version: V881
             Seriennummer: 0029501017U2
             Größe: 119GiB (128GB)
             Fähigkeiten: gpt-1.00 partitioned partitioned:gpt
             Konfiguration: ansiversion=5 guid=5a541a59-0d2f-4e0c-b994-85c103a3cc3e logicalsectorsize=512 sectorsize=4096
           *-volume:0 UNGEFORDERT
                Beschreibung: Windows FAT Laufwerk
                Hersteller: mkfs.fat
                Physische ID: 1
                Bus-Informationen: scsi@0:0.0.0,1
                Version: FAT32
                Seriennummer: f4fb-3239
                Größe: 510MiB
                Kapazität: 511MiB
                Fähigkeiten: boot fat initialized
                Konfiguration: FATs=2 filesystem=fat name=EFI System Partition
           *-volume:1
                Beschreibung: EXT4-Laufwerk
                Hersteller: Linux
                Physische ID: 2
                Bus-Informationen: scsi@0:0.0.0,2
                Logischer Name: /dev/sda2
                Logischer Name: /
                Logischer Name: /home
                Version: 1.0
                Seriennummer: 422f7915-3850-4e15-9aa7-62ad422f9996
                Größe: 118GiB
                Fähigkeiten: journaled extended_attributes large_files huge_files dir_nlink recover 64bit extents ext4 ext2 initialized
                Konfiguration: created=2021-04-15 12:02:55 filesystem=ext4 lastmountpoint=/ modified=2021-04-15 12:46:40 mount.fstype=ext4 mount.options=rw,relatime,errors=remount-ro mounted=2021-04-15 12:46:40 state=mounted
  *-battery
       Produkt: RU03048XL
       Hersteller: 333-54-2A-A
       Physische ID: 1
       Steckplatz: Primary
       Kapazität: 48010mWh
       Konfiguration: voltage=11,4V

Linux auf dem TERRA PAD 1162 N4120

Transparenzhinweis: Das vorliegende Testgerät wurde mir vom Terra-Fachhändler Data Division Computersysteme aus Hannover zu Testzwecken für die Erprobung des Schuleinsatz am Georg-Büchner-Gymnasium Seelze leihweise zur Verfügung gestellt.

Heute konnte ich erproben, inwiefern man den Daily Build von Ubuntu 21.04 mit unserem GBG-Client auf dem TERRA PAD 1162 N4120 einsetzen kann. Zunächst einmal verlief die Installation vollkommen problemlos und die gesamte Hardware funktioniert „out of the box“: Der Touchscreen funktioniert samt Multitouch-Gesten und Stylus, die Front- und die Rückkamera funktionieren, die W-Lan-Karte geht und die automatische Bildschirmrotation funktioniert ebenfalls. Mikrofon und Lautsprecher funktionieren auch. Kurzum das Gerät ist direkt einsetzbar, ohne dass irgendetwas noch nachträglich installiert werden müsste.

Bemerkenswert ist ebenfalls, dass die Gestensteuerung direkt funktioniert: Man kann mit vier Fingern zwischen den Workspaces wechseln und mit weiteren Gesten zoomen oder Inhalte drehen.

Allerdings unterstützt der Stylus keine Drucksensitivität, sodass man nicht durch Verändern des Drucks auf den Bildschirm die Liniendicke beim Zeichnen variieren kann. Zusätzlich ist der Touchscreen in Verbindung mit dem Stylus im Vergleich zu anderen Geräten relativ unpräzise. Ich habe als Vergleich in der Schule das ThinkPad L13 Yoga vorliegen, was aber auch mehr als doppelt so teuer ist. An dieser Stelle macht sich der geringe Preis des TERRA PAD 1162 von 389 Euro ohne Tastatur (ca. 50 EUR) und Stylus (ca. 30 Euro) bemerkbar.

Qualitative Einschränkungen muss man auch in Hinblick auf das Type Cover, so wird die Tastatur bei dieser Gerätegattung bezeichnet, in Kauf nehmen. Das Tippgefühl ist eher mäßig und leider ist die magnetische Befestigung am Tablet wackelig, sodass man Gefahr läuft, dass sich die Tastatur unbeabsichtigt löst. Dafür ist das Touchpad wiederum gut zu bedienen; dieses auch mit Multitouchgesten (mit zwei Fingern kann man horizontal und vertikal scrollen und mit vier Fingern kann man zwischen den Workspaces wechseln).

Positiv ist mir bislang die Akkulaufzeit aufgefallen. Von Wortmann werden 6 Stunden angegeben, aber es scheinen mir eher gute zehn Stunden zu sein. Ich habe das Gerät heute einmal voll aufgeladen und habe damit heute viel gearbeitet und bin jetzt bei 53 % und einer angezeigten Restlaufzeit von 5:02 Stunden.

Was das Display betrifft, so handelt es sich um ein Full-HD-IPS-Panel, was deswegen naturgemäß sehr blickwinkelstabil ist, doch leider spiegelt es sehr stark und es dürfte auch gerne etwas heller sein. In hellen Umgebungen erscheint es schon recht dunkel. Ein Einsatz draußen bei Sonneneinstrahlung dürfte somit recht schwierig sein.

Gut ist allerdings die allgemeine Performance des Geräts: Ubuntu 21.04 läuft darauf sehr zügig und ich hatte bislang an keiner Stelle den Eindruck, dass es sowohl bei Arbeitsspeicher (4 GB) als auch bei der CPU-Performance (4 Kerne zu jeweils 1,10 GHz) einen Flaschenhals gäbe. LibreOffice startet sogar ausgesprochen schnell. Ich denke, dass man mit dem Gerät im Alltagsschuleinsatz weder in Hinblick auf den Arbeitsspeicher noch in Hinblick auf die CPU schnell an Leistungsgrenzen stoßen wird.

Zusammenfassend kann ich nach einem Tag Test sagen, dass die Linux-Unterstützung sehr gut ist, aber dass es leider auch einige Einschränkungen gibt, die den Einsatz als Leihgerät für Lehrkräfte fragwürdig erscheinen lassen. Die größte Einschränkung besteht in dem nur mäßig präzisen und nicht drucksensitiven Stylus. Bei uns an der Schule werden schon von vielen Kolleginnen und Kollegen Convertibles und Tablets als interaktive Tafeln eingesetzt. Für diesen Verwendungszweck muss der Stylus präzise sein und sollte auch über Drucksensitivität verfügen. Ich will nicht ausschließen, dass die mangelnden Drucksensitivität bei diesem Gerät an Ubuntu 21.04 liegt. Ich werde das weiter untersuchen und beobachten, wie sich das entwickelt. Zumal Ubuntu 21.04 noch das Daily Build ist und keine offiziell veröffentlichte Version (21.04 dürfte Ende April offiziell veröffentlicht werden, jetzt ist gerade Testing Week). Eine weitere Einschränkung besteht in der mäßigen mechanischen Qualität. Es ist schon sehr störend, dass sich das Type Cover so leicht vom Tablet löst. Da gibt es Geräte, bei denen diese Verbindung wesentlich stabiler umgesetzt wurde. Es ist sehr schade, dass Wortmann hier keine stärkeren Magnete oder eine stabilere Verbindung spendiert hat. Allgemein macht die Verarbeitungsqualität keinen vollständig überzeugenden Eindruck: Die rückwärtige Kamera sitzt beispielsweise nicht hundertprozentig mittig im Gehäuse, sodass in den Randbereichen des Gesichtsfeldes Verdunkelungen zu erkennen sind (siehe Bild unten).

Testbild mit der rückwärtigen Kamera des TERRA PAD 1162

Ich werde das Gerät weiter erproben und nach den Ferien auch testen, wie es am Beamer funktioniert. Hier noch zwei Videos, die Touchgesten und den Stifteinsatz demonstrieren.

Mit der Vier-Finger-Wischgeste zwischen den Workspaces wechseln
Gesten- und Stifteinsatz in Krita
Demonstration der Gestensteuerung mit der geöffneten Linux-Version der BiBox aus dem Hause Westermann

Mein derzeitiger Eindruck ist, dass es als Leihgerät für Lehrkräfte aufgrund des nur mäßig präzisen Stylus weniger geeignet ist.

Als Gerät für Schülerinnen und Schüler ist es aber eventuell eine Überlegung wert, da es nicht nur eine recht lange Akkulaufzeit hat, sondern auch noch im Vergleich zu Laptops recht leicht ist (800 g).

Für die interessierten Leserinnen und Leser habe ich hier die Ausgabe von lshw:

scp-terrapad-1162
    Beschreibung: Detachable
    Produkt: 1220074;1470256 (4039407061846)
    Hersteller: Wortmann_AG
    Version: 1162;1470256
    Seriennummer: R6656075
    Breite: 64 bits
    Fähigkeiten: smbios-3.2.0 dmi-3.2.0 smp vsyscall32
    Konfiguration: boot=normal chassis=detachable family=NB-TERRA;PAD;11,6 sku=4039407061846 uuid=3682D02A-548D-EB11-8F64-DC1AEDBA1000
  *-core
       Beschreibung: Hauptplatine
       Produkt: S116G
       Hersteller: weiheng
       Physische ID: 0
       Version: To be filled by O.E.M.
       Seriennummer: WH200900731529
       Steckplatz: To be filled by O.E.M.
     *-firmware
          Beschreibung: BIOS
          Hersteller: American Megatrends Inc.
          Physische ID: 0
          Version: WH-BI-11.6-SF133GR310-GH55A-287-D
          date: 01/22/2021
          Größe: 64KiB
          Kapazität: 4544KiB
          Fähigkeiten: pci upgrade shadowing cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int14serial int17printer acpi usb biosbootspecification uefi
     *-memory
          Beschreibung: Systemspeicher
          Physische ID: 23
          Steckplatz: Systemplatine oder Hauptplatine
          Größe: 4GiB
        *-bank:0
             Beschreibung: DIMM LPDDR4 Synchron 2133 MHz (0,5 ns)
             Produkt: 123456789012345678
             Hersteller: ABCD
             Physische ID: 0
             Seriennummer: 1234
             Steckplatz: A1_DIMM0
             Größe: 1GiB
             Breite: 16 bits
             Takt: 2133MHz (0.5ns)
        *-bank:1
             Beschreibung: DIMM LPDDR4 Synchron 2133 MHz (0,5 ns)
             Produkt: 123456789012345678
             Hersteller: ABCD
             Physische ID: 1
             Seriennummer: 1234
             Steckplatz: A1_DIMM1
             Größe: 1GiB
             Breite: 16 bits
             Takt: 2133MHz (0.5ns)
        *-bank:2
             Beschreibung: DIMM LPDDR4 Synchron 2133 MHz (0,5 ns)
             Produkt: 123456789012345678
             Hersteller: ABCD
             Physische ID: 2
             Seriennummer: 1234
             Steckplatz: A1_DIMM2
             Größe: 1GiB
             Breite: 16 bits
             Takt: 2133MHz (0.5ns)
        *-bank:3
             Beschreibung: DIMM LPDDR4 Synchron 2133 MHz (0,5 ns)
             Produkt: 123456789012345678
             Hersteller: ABCD
             Physische ID: 3
             Seriennummer: 1234
             Steckplatz: A1_DIMM3
             Größe: 1GiB
             Breite: 16 bits
             Takt: 2133MHz (0.5ns)
     *-cache:0
          Beschreibung: L1 Cache
          Physische ID: 35
          Steckplatz: CPU Internal L1
          Größe: 224KiB
          Kapazität: 224KiB
          Fähigkeiten: synchronous internal write-back
          Konfiguration: level=1
     *-cache:1
          Beschreibung: L2 Cache
          Physische ID: 36
          Steckplatz: CPU Internal L2
          Größe: 4MiB
          Kapazität: 4MiB
          Fähigkeiten: synchronous internal write-back unified
          Konfiguration: level=2
     *-cpu
          Beschreibung: CPU
          Produkt: Intel(R) Celeron(R) N4120 CPU @ 1.10GHz
          Hersteller: Intel Corp.
          Physische ID: 37
          Bus-Informationen: cpu@0
          Version: Intel(R) Celeron(R) N4120 CPU @ 1.10GHz
          Steckplatz: SOCKET 0
          Größe: 965MHz
          Kapazität: 2700MHz
          Breite: 64 bits
          Takt: 100MHz
          Fähigkeiten: lm fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp x86-64 constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault cat_l2 cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust smep erms mpx rdt_a rdseed smap clflushopt intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts umip rdpid md_clear arch_capabilities cpufreq
          Konfiguration: cores=4 enabledcores=4 threads=4
     *-pci
          Beschreibung: Host bridge
          Produkt: Gemini Lake Host Bridge
          Hersteller: Intel Corporation
          Physische ID: 100
          Bus-Informationen: pci@0000:00:00.0
          Version: 06
          Breite: 32 bits
          Takt: 33MHz
        *-generic:0
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Dynamic Platform and Thermal Framework Processor Participant
             Hersteller: Intel Corporation
             Physische ID: 0.1
             Bus-Informationen: pci@0000:00:00.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=proc_thermal latency=0
             Ressourcen: irq:24 memory:80000000-80007fff
        *-display
             Beschreibung: VGA compatible controller
             Produkt: GeminiLake [UHD Graphics 600]
             Hersteller: Intel Corporation
             Physische ID: 2
             Bus-Informationen: pci@0000:00:02.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pciexpress msi pm vga_controller bus_master cap_list rom
             Konfiguration: driver=i915 latency=0
             Ressourcen: irq:129 memory:a0000000-a0ffffff memory:90000000-9fffffff ioport:f000(Größe=64) memory:c0000-dffff
        *-network
             Beschreibung: Kabellose Verbindung
             Produkt: AC 1550i Wireless
             Hersteller: Intel Corporation
             Physische ID: c
             Bus-Informationen: pci@0000:00:0c.0
             Logischer Name: wlo2
             Version: 06
             Seriennummer: b8:9a:2a:f5:e4:07
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
             Konfiguration: broadcast=yes driver=iwlwifi driverversion=5.11.0-13-generic firmware=46.4d093a30.0 9000-pu-b0-jf-b0- ip=192.168.178.56 latency=0 link=yes multicast=yes wireless=IEEE 802.11
             Ressourcen: irq:44 memory:a1214000-a1217fff
        *-multimedia
             Beschreibung: Audio device
             Produkt: Celeron/Pentium Silver Processor High Definition Audio
             Hersteller: Intel Corporation
             Physische ID: e
             Bus-Informationen: pci@0000:00:0e.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi pciexpress bus_master cap_list
             Konfiguration: driver=snd_hda_intel latency=0
             Ressourcen: irq:138 memory:a1210000-a1213fff memory:a1000000-a10fffff
        *-communication
             Beschreibung: Communication controller
             Produkt: Celeron/Pentium Silver Processor Trusted Execution Engine Interface
             Hersteller: Intel Corporation
             Physische ID: f
             Bus-Informationen: pci@0000:00:0f.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi bus_master cap_list
             Konfiguration: driver=mei_me latency=0
             Ressourcen: irq:131 memory:a123d000-a123dfff
        *-sata
             Beschreibung: SATA controller
             Produkt: Celeron/Pentium Silver Processor SATA Controller
             Hersteller: Intel Corporation
             Physische ID: 12
             Bus-Informationen: pci@0000:00:12.0
             Version: 06
             Breite: 32 bits
             Takt: 66MHz
             Fähigkeiten: sata msi pm ahci_1.0 bus_master cap_list
             Konfiguration: driver=ahci latency=0
             Ressourcen: irq:126 memory:a1218000-a1219fff memory:a123c000-a123c0ff ioport:f090(Größe=8) ioport:f080(Größe=4) ioport:f060(Größe=32) memory:a123b000-a123b7ff
        *-pci:0
             Beschreibung: PCI bridge
             Produkt: Gemini Lake PCI Express Root Port
             Hersteller: Intel Corporation
             Physische ID: 13
             Bus-Informationen: pci@0000:00:13.0
             Version: f6
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: pci pciexpress msi pm normal_decode bus_master cap_list
             Konfiguration: driver=pcieport
             Ressourcen: irq:122
        *-pci:1
             Beschreibung: PCI bridge
             Produkt: Gemini Lake PCI Express Root Port
             Hersteller: Intel Corporation
             Physische ID: 13.1
             Bus-Informationen: pci@0000:00:13.1
             Version: f6
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: pci pciexpress msi pm normal_decode bus_master cap_list
             Konfiguration: driver=pcieport
             Ressourcen: irq:123
        *-pci:2
             Beschreibung: PCI bridge
             Produkt: Gemini Lake PCI Express Root Port
             Hersteller: Intel Corporation
             Physische ID: 13.2
             Bus-Informationen: pci@0000:00:13.2
             Version: f6
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: pci pciexpress msi pm normal_decode bus_master cap_list
             Konfiguration: driver=pcieport
             Ressourcen: irq:124 memory:a1100000-a11fffff
           *-generic
                Beschreibung: Unassigned class
                Produkt: RTS5229 PCI Express Card Reader
                Hersteller: Realtek Semiconductor Co., Ltd.
                Physische ID: 0
                Bus-Informationen: pci@0000:03:00.0
                Version: 01
                Breite: 32 bits
                Takt: 33MHz
                Fähigkeiten: pm msi pciexpress bus_master cap_list
                Konfiguration: driver=rtsx_pci latency=0
                Ressourcen: irq:128 memory:a1100000-a1100fff
        *-pci:3
             Beschreibung: PCI bridge
             Produkt: Gemini Lake PCI Express Root Port
             Hersteller: Intel Corporation
             Physische ID: 13.3
             Bus-Informationen: pci@0000:00:13.3
             Version: f6
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: pci pciexpress msi pm normal_decode bus_master cap_list
             Konfiguration: driver=pcieport
             Ressourcen: irq:125
        *-usb
             Beschreibung: USB controller
             Produkt: Celeron/Pentium Silver Processor USB 3.0 xHCI Controller
             Hersteller: Intel Corporation
             Physische ID: 15
             Bus-Informationen: pci@0000:00:15.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi xhci bus_master cap_list
             Konfiguration: driver=xhci_hcd latency=0
             Ressourcen: irq:127 memory:a1200000-a120ffff
           *-usbhost:0
                Produkt: xHCI Host Controller
                Hersteller: Linux 5.11.0-13-generic xhci-hcd
                Physische ID: 0
                Bus-Informationen: usb@1
                Logischer Name: usb1
                Version: 5.11
                Fähigkeiten: usb-2.00
                Konfiguration: driver=hub slots=9 speed=480Mbit/s
              *-usb:0
                   Beschreibung: Video
                   Produkt: Front Camera
                   Hersteller: Front Camera
                   Physische ID: 5
                   Bus-Informationen: usb@1:5
                   Version: 0.01
                   Seriennummer: 200901010001
                   Fähigkeiten: usb-2.00
                   Konfiguration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
              *-usb:1
                   Beschreibung: Video
                   Produkt: Back Camera
                   Hersteller: 5M Camera
                   Physische ID: 6
                   Bus-Informationen: usb@1:6
                   Version: 58.01
                   Seriennummer: 200901010001
                   Fähigkeiten: usb-2.00
                   Konfiguration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
              *-usb:2
                   Beschreibung: Tastatur
                   Physische ID: 8
                   Bus-Informationen: usb@1:8
                   Version: 0.02
                   Fähigkeiten: usb-1.10
                   Konfiguration: driver=usbhid maxpower=100mA speed=1Mbit/s
              *-usb:3
                   Beschreibung: Bluetooth-Schnittstelle
                   Produkt: Bluetooth 9460/9560 Jefferson Peak (JfP)
                   Hersteller: Intel Corp.
                   Physische ID: 9
                   Bus-Informationen: usb@1:9
                   Version: 0.02
                   Fähigkeiten: bluetooth usb-2.00
                   Konfiguration: driver=btusb maxpower=100mA speed=12Mbit/s
           *-usbhost:1
                Produkt: xHCI Host Controller
                Hersteller: Linux 5.11.0-13-generic xhci-hcd
                Physische ID: 1
                Bus-Informationen: usb@2
                Logischer Name: usb2
                Version: 5.11
                Fähigkeiten: usb-3.00
                Konfiguration: driver=hub slots=7 speed=5000Mbit/s
        *-generic:1
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO I2C Host Controller
             Hersteller: Intel Corporation
             Physische ID: 16
             Bus-Informationen: pci@0000:00:16.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:27 memory:a123a000-a123afff memory:a1239000-a1239fff
        *-generic:2
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO I2C Host Controller
             Hersteller: Intel Corporation
             Physische ID: 16.1
             Bus-Informationen: pci@0000:00:16.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:28 memory:a1238000-a1238fff memory:a1237000-a1237fff
        *-generic:3
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 16.2
             Bus-Informationen: pci@0000:00:16.2
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:29 memory:a1236000-a1236fff memory:a1235000-a1235fff
        *-generic:4
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 16.3
             Bus-Informationen: pci@0000:00:16.3
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:30 memory:a1234000-a1234fff memory:a1233000-a1233fff
        *-generic:5
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17
             Bus-Informationen: pci@0000:00:17.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:31 memory:a1232000-a1232fff memory:a1231000-a1231fff
        *-generic:6
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17.1
             Bus-Informationen: pci@0000:00:17.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:32 memory:a1230000-a1230fff memory:a122f000-a122ffff
        *-generic:7
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17.2
             Bus-Informationen: pci@0000:00:17.2
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:33 memory:a122e000-a122efff memory:a122d000-a122dfff
        *-generic:8
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17.3
             Bus-Informationen: pci@0000:00:17.3
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:34 memory:a122c000-a122cfff memory:a122b000-a122bfff
        *-generic:9
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO UART Host Controller
             Hersteller: Intel Corporation
             Physische ID: 18
             Bus-Informationen: pci@0000:00:18.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:4 memory:a122a000-a122afff memory:a1229000-a1229fff
        *-generic:10
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO UART Host Controller
             Hersteller: Intel Corporation
             Physische ID: 18.1
             Bus-Informationen: pci@0000:00:18.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:5 memory:a1228000-a1228fff memory:a1227000-a1227fff
        *-generic:11
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO UART Host Controller
             Hersteller: Intel Corporation
             Physische ID: 18.2
             Bus-Informationen: pci@0000:00:18.2
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:6 memory:fea10000-fea10fff memory:80008000-80008fff
        *-generic:12
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO UART Host Controller
             Hersteller: Intel Corporation
             Physische ID: 18.3
             Bus-Informationen: pci@0000:00:18.3
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:7 memory:a1226000-a1226fff memory:a1225000-a1225fff
        *-generic:13
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO SPI Host Controller
             Hersteller: Intel Corporation
             Physische ID: 19
             Bus-Informationen: pci@0000:00:19.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:35 memory:a1224000-a1224fff memory:a1223000-a1223fff
        *-generic:14
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO SPI Host Controller
             Hersteller: Intel Corporation
             Physische ID: 19.1
             Bus-Informationen: pci@0000:00:19.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:36 memory:a1222000-a1222fff memory:a1221000-a1221fff
        *-generic:15
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO SPI Host Controller
             Hersteller: Intel Corporation
             Physische ID: 19.2
             Bus-Informationen: pci@0000:00:19.2
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:37 memory:a1220000-a1220fff memory:a121f000-a121ffff
        *-generic:16
             Beschreibung: SD Host controller
             Produkt: Celeron/Pentium Silver Processor SDA Standard Compliant SD Host Controller
             Hersteller: Intel Corporation
             Physische ID: 1c
             Bus-Informationen: pci@0000:00:1c.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=sdhci-pci latency=0
             Ressourcen: irq:39 memory:a121e000-a121efff memory:a121d000-a121dfff
        *-generic:17
             Beschreibung: SD Host controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 1e
             Bus-Informationen: pci@0000:00:1e.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=sdhci-pci latency=0
             Ressourcen: irq:42 memory:a121c000-a121cfff memory:a121b000-a121bfff
        *-isa
             Beschreibung: ISA bridge
             Produkt: Celeron/Pentium Silver Processor LPC Controller
             Hersteller: Intel Corporation
             Physische ID: 1f
             Bus-Informationen: pci@0000:00:1f.0
             Version: 06
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: isa bus_master
             Konfiguration: latency=0
        *-serial
             Beschreibung: SMBus
             Produkt: Celeron/Pentium Silver Processor Gaussian Mixture Model
             Hersteller: Intel Corporation
             Physische ID: 1f.1
             Bus-Informationen: pci@0000:00:1f.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Konfiguration: driver=i801_smbus latency=0
             Ressourcen: irq:20 memory:a121a000-a121a0ff ioport:f040(Größe=32)
     *-pnp00:00
          Produkt: PnP device PNP0c02
          Physische ID: 1
          Fähigkeiten: pnp
          Konfiguration: driver=system
     *-pnp00:01
          Produkt: PnP device PNP0c02
          Physische ID: 2
          Fähigkeiten: pnp
          Konfiguration: driver=system
     *-pnp00:02
          Produkt: PnP device PNP0303
          Physische ID: 3
          Fähigkeiten: pnp
          Konfiguration: driver=i8042 kbd
     *-pnp00:03
          Produkt: PnP device PNP0b00
          Physische ID: 4
          Fähigkeiten: pnp
          Konfiguration: driver=rtc_cmos

Fernwartung von Laptops bei Schülerinnen und Schülern zuhause: Verteilung von Shell-Skripten und Konfigurationsdateien mit einem deb-Paket über ein launchpad ppa

In diesem Blog-Eintrag werde ich kurz dokumentieren, wie ich die Skripte und Konfigurationsdateien, die unser „GBG-Linux“ konfigurieren, in ein deb-Paket verpackt und dann mithilfe eines launchpad ppa verteilt habe.

Durch die Corona-Krise wurden bei uns in der Schule knapp über sechzig Ubuntu-Laptops an Schülerinnen und Schüler verliehen, die diese Geräte zuhause benutzten. Diese Tatsache machte es erforderlich, dass ich auch in der Lage sein muss, diese Geräte aus der Ferne zu konfigurieren und zu aktualisieren. Ich habe dieses mit dem folgenden kleinen Update-Skript gelöst:

#!/bin/bash
sudo DEBIAN_FRONTEND=noninteractive apt-get -y update
sudo DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
sudo apt-get autoremove -y

Damit der Standardbenutzer dieses Skript ausführen kann, muss ihm erlaubt werden, das Skript mit sudo ohne Passworteingabe auszuführen. Dieses kann man mit einer Regel in der sudoers-Datei lösen. Statt die Regel direkt in die sudoers hineinzuschreiben, habe ich die Regel im Ordner /etc/sudoers.d/ abgelegt, damit die sudoers nicht angetastet wird:

gbg ALL = NOPASSWD: /usr/bin/updater.sh

Damit der Benutzer gbg die Aktualisierungen dann auch bequem starten kann, muss man noch einen Programmstarter im Startmenü anlegen, auf den der Nutzer dann nur noch klicken muss:

[Desktop Entry]
Type=Application
Name=Updates installieren
GenericName=Updates installieren
Exec=sudo /usr/bin/updater.sh
Icon=/usr/share/icons/updater.svg
Terminal=true
Categories=System;

Wie man dem Code entnehmen kann, habe ich auch noch ein kleines instruktives Icon erstellt. Auf diese Weise kann der Benutzer nun mit einem einfachen Mauskick auf das Icon im Startmenü Updates installieren, ohne dass er dafür ein Passwort eingeben muss.

Konfigurationsänderungen auf den Geräten

Um in der Lage zu sein, auch Konfigurationsänderungen an den Geräten bei den Schülerinnen und Schülern zuhause durchzuführen, habe ich die Skripte, mit denen ich das „GBG-Linux“ verwalte, in ein deb-Paket gepackt und dieses dann in einem launchpad ppa zur Verfügung gestellt. Dieses ppa wird auf den Laptops zu den Paketquellen hinzugefügt und wenn ich dann den „GBG-Client“ aktualisiere und die Schülerin oder der Schüler zuhause den Update-Knopf drückt, dann aktualisiert sich auch automatisch der „GBG-Client“, sodass etwaige Konfigurationsänderungen wirksam werden.

Verpacken von Shell-Skripten in ein deb-Paket

Als Erstes muss man folgende Pakete auf dem Entwicklungsgerät installieren.

sudo apt install dh-make devscripts

Hat man dieses gemacht, so muss man sich einen Ordner erstellen, in dem man die Skripte entwickelt.

mkdir gbgclient-0.1

Dabei ist wichtig, dass man dem Namen die Versionsnummer beifügt. In diesem Ordner erstellt man nun die Shell-Skripte und Konfigurationsdateien, die man mit dem deb-Paket verteilen möchte.

Für die Erstellung unseres deb-Pakets müssen in der .bashrc zunächst zwei Umgebungsvariablen gesetzt werden:

$ cat >>~/.bashrc <<EOF
DEBEMAIL="person@company.tld"
DEBFULLNAME="Vorname Nachname"
export DEBEMAIL DEBFULLNAME
EOF
$ . ~/.bashrc

Diese Variablen werden beim Erstellen des Pakets übernommen. Jetzt müssen wir in unserem Entwicklungsordner das Grundgerüst für das Debian-Paket erzeugen.

dh_make --indep --createorig

dh_make erzeugt im Entwicklungsordner einen Unterordner debian mit vielen für den Paketbau erforderlichen Dateien. Wir müssen aber zusätzlich eine Datei namens „install“ erstellen, die festlegt, in welche Ordner auf dem Zielsystem unsere Skripte aus unserem Entwicklungsordner kopiert werden sollen.

touch debian/install
vi debian/install

In diese Datei tragen wir nun ein, wo die Dateien bei Installation des Pakets hinkopiert werden sollen. Für den „GBG-Client“ sieht das wie folgt aus:

scripts/gbgclient.sh usr/bin
scripts/delete_connections.sh usr/bin
scripts/nutzerdatenerfassung.sh usr/bin
scripts/delete_connections.py usr/bin
gdm3/PostLogin/Default etc/gdm3/PostLogin
gdm3/PostSession/Default etc/gdm3/PostSession
gdm3/PreSession/Default etc/gdm3/PreSession
updater/updater.sh usr/bin
updater/updater.desktop usr/share/applications
updater/updater.svg usr/share/icons
misc/clear_connections.desktop etc/xdg/autostart
sudoers.d/sudogbgclient etc/sudoers.d/

Ich habe im Entwicklungsordner für meine Skripte verschiedene Unterordner eingerichtet, um eine übersichtlichere Struktur zu haben.

Jetzt muss man noch in der Datei debian/control im Archivordner eine Angabe hinzufügen, damit man das Paket erfolgreich bauen kann: Das Feld „section“ muss noch gesetzt werden. Die Datei debian/control könnte in Zeile 2 zum Beispiel so aussehen:

Section: utils

Außerdem muss man jetzt noch in der Datei debian/changelog nach der Versionsnummer focal hinzufügen, wenn man das Paket für 20.04 baut:

gbgclient (0.1-1) focal; urgency=medium

Damit man das Paket bei launchpad hochladen und dort bauen lassen kann, muss man debuild jetzt mit den folgenden Parametern ausführen:

debuild -us -uc -S -sa

Möchte man das Paket lokal auf dem eigenen Entwicklungssystem bauen, so geht das mit diesem Befehl:

debuild -us -uc

Als Nächstes muss man aus dem Entwicklungsordner heraus wechseln und das Paket, genauer die Datei name-version_source.changes (in meinem Fall z. B. gbgclient_0.1-1_source.changes) signieren.

cd ../
debsign -k schlüssel_id gbgclient_0.1-1_source.changes

Dabei muss „schlüssel_id“ durch die ID des zu verwendenden OpenPGP-Schlüssels ersetzt werden. Damit man das Paket dann auf launchpad hochladen kann, muss der öffentliche Schlüssel dort natürlich auch hochgeladen werden. Im nächsten Schritt kann dann das Paket auf launchpad in das persönliche ppa hochgeladen werden. In meinem Fall sieht der Befehl so aus:

dput ppa:feschoppe/gbgclient gbgclient_0.1-1_source.changes

Nach einiger Zeit bekommt man eine Bestätigung per Mail, dass das Paket akzeptiert wurde. Nach dem Hochladen wird es auf launchpad gebaut und steht dann über das entsprechende ppa zum Download bereit. Wenn man nun an dem Paket weiterarbeitet und zum Beispiel Dateien hinzufügt oder verändert, muss man diese Änderungen mit dem folgenden Befehl in das Paket übernehmen:

dpkg-source --commit --include-removal

Danach muss man im changelog die Versionsnummer erhöhen, damit man das Paket dann als neue Version hochladen kann:

nano debian/changelog

Danach muss man es neu bauen, signieren und hochladen. Führt nun die Schülerin oder der Schüler zuhause ein Update aus, so wird die neue Version des „GBG-Clients“ installiert. Auf diese Weise kann ich nun auch bei entliehenen Laptops Konfigurationsänderungen und Ähnliches durchführen.