RaspberryPi
Contents
About
Hardware
You will probably need
a case to protect and cool the pi like #Argon One
1-2 micro-HDMI to HDMI adapters
- a 5V power source with a peak output of min. 4A
- fast SDXC card
Installation
Download and install RaspberryPi Imager rpi-imager
Or simply download a Raspbian image via
And write it to your SDXC
1 URL='https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2020-08-24/2020-08-20-raspios-buster-arm64.zip'
2 wget "$URL"
3 FILE="2020-08-20-raspios-buster-arm64.zip"
4 SIZE_IMG="$(unzip -l "$FILE" \
5 |grep "${FILE%.zip}.img" \
6 |cut -f1 -d\ )"
7 lsblk
8 unzip -p 2020-08-20-raspios-buster-arm64.zip \
9 |pv -s $SIZE \
10 |sudo -- dd of=/dev/YOUR_DEVICE
First access
SSH daemon does not run by default. So you need to login locally and enable it.
1 sudo systemctl enable ssh.service
It's pretty impressive that the Raspi can drive 4k display @30Hz!
You may configure interfaces (like ssh) also using
1 sudo -AE rc_gui
The RaspberryPi requests a IP-address from DHCP and registers as 'raspberrypi' to dynamic DNS.
Default credentials
Username: pi Password: raspberry
pi can sudo nopasswd:
You can ssh into it
1 ssh pi@raspberrypi
piwiz starts on first run of the graphical UI.
- localization
- password for user "pi"
- wifi-setup
- display border corrections
- software upgrade
- optional reboot
Configure
SD card
I recommend a fast SD-card during the experiments!1!
Layout as created by rpi-imager
parted /dev/mmcblk0
1 GNU Parted 3.2
2 Using /dev/mmcblk0
3 Welcome to GNU Parted! Type 'help' to view a list of commands.
4 (parted) print free
5 Model: SD USDU1 (sd/mmc)
6 Disk /dev/mmcblk0: 121GB
7 Sector size (logical/physical): 512B/512B
8 Partition Table: msdos
9 Disk Flags:
10
11 Number Start End Size Type File system Flags
12 16,4kB 4194kB 4178kB Free Space
13 1 4194kB 273MB 268MB primary fat32 lba
14 2 273MB 121GB 121GB primary ext4
15
16 (parted) quit
mount | grep /dev/mmcblk0
Clone SD-Card
Here is a process to replicate a prepared image with 2 partitions to various sizes of sd-cards.
- prepare the OS to resize it's rootfs to the maximum avalable space on sd-card on next boot and shutdown the OS
- shrink the ext4-filesystem to the bare minimum
- Determine the last sector to the filesystem
1 E2INFO="$(dumpe2fs -h "$FS_DEVICE" 2>&1 | grep -Ee 'Block (size|count):')" 2 BCOUNT="$(grep 'count:' <<< "$E2INFO" \ 3 |sed -r 's/Block count:\s+([0-9]+)/\1/')" 4 BSIZE="$(grep 'size:' <<< "$E2INFO" \ 5 |sed -r 's/Block size:\s+([0-9]+)/\1/')" 6 PARTS="$(parted --machine --script "$DEVICE" \ 7 unit s \ 8 print free;)" 9 SIZE_BLOCK_PHYSICAL="$(grep "$DEVICE" <<< "$PARTS" | cut -d: -f5)" 10 NUMBER_BLOCKS="$((BCOUNT*BSIZE/SIZE_BLOCK_PHYSICAL))" 11 FIRST_SECTOR="$(grep '^2:' <<< "$PARTS" | cut -d: -f2|sed 's/s$//')" 12 LAST_SECTOR="$((FIRST_SECTOR+NUMBER_BLOCKS))"
- Shrink the partition according to the calculation
- Create a image of the sd-card according to the calculation
- Grow the template partition back to the maximum
- write the golden image to a new sd-card. I assume at this point, that you exchanged the SD-cards and
that they have the same device-node /dev/sdc
You may need to be patient, until the write buffers are empty and the prompt returns. My card wrote 5,1MiB/s and my image was about 6,2GiB.This will take in theory 6.2*2^10/5.1/60 = 20 min 44s.
- Grow the partition to the maximum (rounded to the cylinder)
Boot the Raspi and watch the magic happen, patiently! Booting may take a while, since the filesystem is grown to the size of the partition (and it tightly depends on the speed of the sd-card).
You may want to change the UUIDs of the partitions and filesystems.
Boot
By default the Raspi looks for a kernel in /boot named kernel.img. This is configurable in the bootloader by changing /boot/config.txt and write the bootloader back. This is useful if you want to compile a custom kernel and don't want to interfere with the kernel shipped by the distribution.
In Raspi4 the bootloader resides in a separate EEPROM on the board. bootcode.bin is ignored. The eeprom and therefor the bootloader is upgraded by the package rpi-eeprom, which depends on raspberrypi-bootloader, which recommends raspberrypi-kernel. There is only one kernel version in Raspbian a stable kernel raspberrypi-kernel.
There should normally be no reason why you upgrade to cutting edge, but if you need to, there is a way.
1 # rpi-update
2 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
3 *** Performing self-update
4 *** Relaunching after update
5 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
6 *** We're running for the first time
7 *** Backing up files (this will take a few minutes)
8 *** Remove old firmware backup
9 *** Backing up firmware
10 *** Backing up modules 4.19.97-v7l+
11 #############################################################
12 WARNING: 'rpi-update' updates to pre-releases of the linux
13 kernel tree and Videocore firmware.
14
15 'rpi-update' should only be used if there is a specific
16 reason to do so - for example, a request by a Raspberry Pi
17 engineer.
18
19 DO NOT use 'rpi-update' as part of a regular update process.
20
21 ##############################################################
22 Would you like to proceed? (y/N)
Configure your Raspi
Interactive (whiptail) shell script with some cli-parameters. The code is documentation enough.
Reduce Raspi Mouse Input Lag
Add usbhid.mousepoll=0, where the
value ≥ 0 (smooth, higher CPU usage) and
value ≤ 8 (not as smooth, lower CPU usage),
to your
/boot/cmdline.txt
1 console=serial0,115200 console=tty1 root=PARTUUID=1a3d9a53-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles usbhid.mousepoll=0
And reboot.
Thanks to ThePIHut - Fix That Laggy WiFi Mouse!
Repositories
/etc/apt/sources.list
/etc/apt/sources.list.d/raspi.list
RaspController
Raspi boots Raspian which is a derivation of Debian. The root-filesystem is ext4 and is mounted read-write. So the raspi cannot be simply switched of, it needs to be shutdown ordinarily.
To simplify this task (i don't want to login via ssh everytime) i searched for an Android app and found: RaspController This app performs this task and is capable of many things more.
WiFi
Of cause I had some WiFi issues with the RaspberryPi.
No connection
I the log of the router I found the following messages
1 …
2 Jan 9 13:16:27 quasar hostapd: wlan1: STA dc:a6:32:62:1a:a8 IEEE 802.11: authenticated
3 Jan 9 13:16:27 quasar hostapd: wlan1: STA dc:a6:32:62:1a:a8 IEEE 802.11: associated (aid 5)
4 Jan 9 13:16:27 quasar hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH dc:a6:32:62:1a:a8
5 Jan 9 13:16:28 quasar hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH dc:a6:32:62:1a:a8
6 Jan 9 13:16:29 quasar hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH dc:a6:32:62:1a:a8
7 Jan 9 13:16:30 quasar hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH dc:a6:32:62:1a:a8
8 Jan 9 13:16:33 quasar hostapd: wlan1: STA dc:a6:32:62:1a:a8 IEEE 802.11: authenticated
9 Jan 9 13:16:33 quasar hostapd: wlan1: STA dc:a6:32:62:1a:a8 IEEE 802.11: associated (aid 5)
10 Jan 9 13:16:33 quasar hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH dc:a6:32:62:1a:a8
11 Jan 9 13:16:34 quasar hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH dc:a6:32:62:1a:a8
12 Jan 9 13:16:35 quasar hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH dc:a6:32:62:1a:a8
13 Jan 9 13:16:36 quasar hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH dc:a6:32:62:1a:a8
14 …
I the log of the Raspi I found no very specific error messages, maybe something like
The wpa_supplicant of the raspi (also being a current version 2.9) was not able to connect to the WiFi when I set IEEE "802.11w Management Frame Protection" to "Optional" in my OpenWRT router.
This feature seams to be optional when you upgrade encryption to WPA2-PSK/WPA3-SAE Mixed Mode (strong security. However it can be disabled in the encryption modes "WPA2-PSK (strong security)" and "WPA-PSK/WPA2-PSK Mixed Mode (medium security)".
These following measures, as suggested by the Internet, did not improve my specific the situation :-D
Disabling "WMM Mode"
Wiki EN Wireless Multimedia ExtensionsDisabling "Enable key reinstallation (KRACK) countermeasures"
Wiki EN KRACK- Unplugging the HDMI-cable
- Disabling the internal roaming engine in the options of the kernel module
Maybe another hint in this context when you come from a dist-upgrade make sure the packages raspberrypi-kernel, raspberrypi-kernel and firmware-brcm80211 have been upgraded to the current release.
Just for information
/etc/wpa_supplicant/wpa_supplicant.conf
WiFi instable
WiFi and encrypted connections may not be established or stutter on rekeying. A reason could be insufficient entropy to fill initialization vectors of the crypto.
Check if the available entropy bits have fallen low (<200)
This can be addressed by installing haveged
A Linux entropy source using the HAVEGE algorithm
1 apt install haveged
- haveged is a userspace entropy daemon which is not dependent upon the standard mechanisms for harvesting randomness for the system entropy pool. This is important in systems with high entropy needs or limited user interaction (e.g. headless servers). haveged uses HAVEGE (HArdware Volatile Entropy Gathering and Expansion) to maintain a 1M pool of random bytes used to fill /dev/random whenever the supply of random bits in dev/random falls below the low water mark of the device.
More information about HAVEGE is available at
No wireless interfaces found
Since the upgrade to bullseye the LXPanel Plugin to manage the network interfaces does not work anymore. As a workaround replace the plugin with the network management plugin in the LXPanel.
To configure a WiFi network, just use the connman GUI from the Menu.
Disable TTY1 console with autologin
Pinout
Bilder von raspberrypi.org: GPIO
pinout
1 ,--------------------------------.
2 | oooooooooooooooooooo J8 +======
3 | 1ooooooooooooooooooo PoE | Net
4 | Wi oo +======
5 | Fi Pi Model 4B V1.1 oo |
6 | ,----. +====
7 | |D| |SoC | |USB3
8 | |S| | | +====
9 | |I| `----' |
10 | |C| +====
11 | |S| |USB2
12 | pwr |HD| |HD| |I||A| +====
13 `-| |---|MI|---|MI|----|V|-------'
14
15 Revision : c03111
16 SoC : BCM2711
17 RAM : 4096Mb
18 Storage : MicroSD
19 USB ports : 4 (excluding power)
20 Ethernet ports : 1
21 Wi-fi : True
22 Bluetooth : True
23 Camera ports (CSI) : 1
24 Display ports (DSI): 1
25
26 J8:
27 3V3 (1) (2) 5V
28 GPIO2 (3) (4) 5V
29 GPIO3 (5) (6) GND
30 GPIO4 (7) (8) GPIO14
31 GND (9) (10) GPIO15
32 GPIO17 (11) (12) GPIO18
33 GPIO27 (13) (14) GND
34 GPIO22 (15) (16) GPIO23
35 3V3 (17) (18) GPIO24
36 GPIO10 (19) (20) GND
37 GPIO9 (21) (22) GPIO25
38 GPIO11 (23) (24) GPIO8
39 GND (25) (26) GPIO7
40 GPIO0 (27) (28) GPIO1
41 GPIO5 (29) (30) GND
42 GPIO6 (31) (32) GPIO12
43 GPIO13 (33) (34) GND
44 GPIO19 (35) (36) GPIO16
45 GPIO26 (37) (38) GPIO20
46 GND (39) (40) GPIO21
47
48 For further information, please refer to https://pinout.xyz/
Tools
GPIO via sysfs
1 # ls -l /sys/class/gpio
2 insgesamt 0
3 -rwxrwx--- 1 root gpio 4096 Apr 22 15:51 export
4 lrwxrwxrwx 1 root gpio 0 Apr 21 09:10 gpiochip0 -> ../../devices/platform/soc/fe200000.gpio/gpio/gpiochip0
5 lrwxrwxrwx 1 root gpio 0 Apr 21 09:10 gpiochip100 -> ../../devices/gpiochip2/gpio/gpiochip100
6 lrwxrwxrwx 1 root gpio 0 Apr 21 09:10 gpiochip504 -> ../../devices/platform/soc/soc:firmware/soc:firmware:gpio/gpio/gpiochip504
7 -rwxrwx--- 1 root gpio 4096 Apr 22 15:51 unexport
Via sysfs
raspi-gpio
Delivers the tool raspi-gpio
gpio-utils
pigpiod
WiringPi
DEPRECATED
Delivers the tool gpio
- setuid root
WiringPi for Raspi 4
1 gpio readall
2 +-----+-----+---------+------+---+---Pi 4B--+---+------+---------+-----+-----+
3 | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
4 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
5 | | | 3.3v | | | 1 || 2 | | | 5v | | |
6 | 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5v | | |
7 | 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | |
8 | 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 1 | IN | TxD | 15 | 14 |
9 | | | 0v | | | 9 || 10 | 1 | IN | RxD | 16 | 15 |
10 | 17 | 0 | GPIO. 0 | IN | 0 | 11 || 12 | 0 | IN | GPIO. 1 | 1 | 18 |
11 | 27 | 2 | GPIO. 2 | IN | 0 | 13 || 14 | | | 0v | | |
12 | 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 0 | OUT | GPIO. 4 | 4 | 23 |
13 | | | 3.3v | | | 17 || 18 | 0 | IN | GPIO. 5 | 5 | 24 |
14 | 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | |
15 | 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | IN | GPIO. 6 | 6 | 25 |
16 | 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 |
17 | | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 |
18 | 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 |
19 | 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | |
20 | 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 |
21 | 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | |
22 | 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 |
23 | 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 |
24 | | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 |
25 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
26 | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
27 +-----+-----+---------+------+---+---Pi 4B--+---+------+---------+-----+-----+
I2c
Basic Hardware Mods
Hardware parameters
- Grid: 0,1" or 2.54mm
- male and female headers (Buchsen-, Steckerleisten)
- 4 positions (PoE) in 2 rows
- 40 positions (GPIO) in 2 rows
- stacking headers are 11mm in length with 3mm spacers and go through the PCB with their long pins
- header in 3 positions in one row (RUN, GND, GLOBAL_EN)
- M3 hexagonal spacer (Abstandshalter)
- soldering material
KiCad EDA - A Cross Platform and Open Source Electronics Design Automation Suite
- Tweezers
- try to acquire material that is compliant to
- RoHS (engl.: Restriction of Hazardous Substances)
- temperature controlled soldering iron
- Loch- oder Streifenrasterplantinen aus Hartpapier oder Epoxidharz (hard paper or epoxy)
https://de.wikipedia.org/wiki/Lot_(Metall)#Gebr%C3%A4uchliche_Lotlegierungen
Fan
There are some nice whitepapers about fans (pinout, sense and control):
https://allpinouts.org/pinouts/connectors/motherboards/motherboard-cpu-4-pin-fan/
https://www.glkinst.com/cables/cable_pics/4_Wire_PWM_Spec.pdf
Reasoning
The Raspberry 4 can quite hot under load and throttles down due to the thermal conditions. This may not be what you want.
On 3.3V the fan cannot reach its maximum speed. On 5V it is too loud in my opinion. What i really would like to have is a fan that
- is temperature controlled and turns on/off at thresholds to keep the Raspi cool.
- uses speeds appropriate to the temperature and therefore is quiet.
The fan
The choice of the fan mainly depends on you Raspi housing. In my case:
- 30x30mm
- 5V or 3.3V fan
- silent
- with single Dupont connectors (too choose pins, that don't sit next to each other without crimping)
You may test the fan
- 3.3V: PIN 1 (3.3V) and PIN 6 (GND)
- 5V: PIN 4 (5V) and PIN 6 (GND)
Driving a fan from gpio hardware with pwm (experiment)
The pins:
- physical: 33 (BCM: 13, wPI: 23, wPI name: GPIO.23)
- mode: ALT0|PWM
- voltage: 3.3V
- physical: 33 (GND)
Setup with gpio (wiringpi)
Unfortunately a GPIO does not deliver enough current (Imax=16mA), which is not enough to spin up the fan from standstill. If you give 'em some rotational energy, it'll turn on and keep turning.
Unusable
Fan control circuit
So we'll need a source that can delivers more power - 5V Pin 2. We'll control a transistor with PWM, which in turn opens and closes the circuit of the fan.
Here's a simple setup designed by Andreas Spiess that does the job.
Parts
- Logic-level N-Channel FET (Field Effect Transistor)
- IRLZ44N (MOSFET, N-CH, 55V, 47A, 110W, TO-220AB, Price: ~0,66€)
- Diode to parallel to fan to prevent voltage over shooting, which may increases with the inductivity of the coil (in this case the fan).
- 1N 4448 (75 V, 0,15 A, DO-35, Price: ~0,02€)
- (Optional) Resistor R1 between gate and source to discharge the capacitor that holds the voltage on gate and keeps the FET open.
- Raspi GPIO has a low resistance (when set low) and drains the capacitor.
- (Optional on low frequencies) Resistor R2 to limit current to gate, because capacitive resistance decreases with higher frequencies and acts like a short circuit
Fan control circuit designed by Andreas Spiess
UPS
Shutdown button
Use cases
List
- Automation
- Brewing (Beer)
- Gardening
- Home
- Media Rescue Device (Scrapes, CD/DVDs and hard-drives over USB)
- Desktop, Laptop, Touch-Device
- Educational device (programming, electronics, soldering, …)
- Network
WiFi-bridge
- Rogue device (Deauther, Sniffer, ARP-poisoning, …)
Mobile-Router and VPN-Server with WiFi
- Server
- Print server
- Webserver
mpd with Icecast2 streaming
- Bluetooth audio sink
- Monitoring server, probe, satellite, agent, …
- Network Attached Storage (NAS)
- Terminalserver
- Serial over IP-Server
- Attendance clock
- Media center (like Kodi)
- Smart speaker (hifi-berry)
- Gaming
- Retro gaming (NES, SNES, Mega Drive, Master System II, …)
- Minecraft
- Robot
- Car, rrain, excavator, …
- Bar tender
- Camera
Surveillance (motion capture) -> CCTV
- Stop motion
- Time lapse movie
- Control lighting (Led-Strips, Matrices, … )
- FM-Sender/Receiver
- DAB+-Receiver
- In-Home-Streaming (Video or Games)
- Car
- OBD2 diagnostics
…
Terminal Server
Please have a look over here: x2go
NextCloud
You should probably go for the 8GiB model of the Raspi4. NextCloud likes to take quite some resources, but it's probably possible.
Please take a look at nextcloud
PiHole
Bluetooth audio sink
Please see
config.txt
Stock
/boot/config.txt
1 # For more options and information see
2 # http://rpf.io/configtxt
3 # Some settings may impact device functionality. See link above for details
4
5 # uncomment if you get no picture on HDMI for a default "safe" mode
6 #hdmi_safe=1
7
8 # uncomment this if your display has a black border of unused pixels visible
9 # and your display can output without overscan
10 disable_overscan=1
11
12 # uncomment the following to adjust overscan. Use positive numbers if console
13 # goes off screen, and negative if there is too much border
14 #overscan_left=16
15 #overscan_right=16
16 #overscan_top=16
17 #overscan_bottom=16
18
19 # uncomment to force a console size. By default it will be display's size minus
20 # overscan.
21 #framebuffer_width=1280
22 #framebuffer_height=720
23
24 # uncomment if hdmi display is not detected and composite is being output
25 #hdmi_force_hotplug=1
26
27 # uncomment to force a specific HDMI mode (this will force VGA)
28 #hdmi_group=1
29 #hdmi_mode=1
30
31 # uncomment to force a HDMI mode rather than DVI. This can make audio work in
32 # DMT (computer monitor) modes
33 #hdmi_drive=2
34
35 # uncomment to increase signal to HDMI, if you have interference, blanking, or
36 # no display
37 #config_hdmi_boost=4
38
39 # uncomment for composite PAL
40 #sdtv_mode=2
41
42 #uncomment to overclock the arm. 700 MHz is the default.
43 #arm_freq=800
44
45 # Uncomment some or all of these to enable the optional hardware interfaces
46 dtparam=i2c_arm=on
47 #dtparam=i2s=on
48 #dtparam=spi=on
49
50 # Uncomment this to enable infrared communication.
51 #dtoverlay=gpio-ir,gpio_pin=17
52 #dtoverlay=gpio-ir-tx,gpio_pin=18
53
54 # Additional overlays and parameters are documented /boot/overlays/README
55
56 # Enable audio (loads snd_bcm2835)
57 dtparam=audio=on
58
59 # Enable DRM VC4 V3D driver on top of the dispmanx display stack
60 dtoverlay=vc4-fkms-v3d
61 max_framebuffers=2
62 arm_64bit=1
63 enable_uart=1
Read current config
Vanilla config string values
vcgencmd get_config str
Vanilla config integer values
vcgencmd get_config int
1 arm_64bit=1
2 arm_freq=1500
3 audio_pwm_mode=514
4 config_hdmi_boost=5
5 core_freq=500
6 core_freq_min=200
7 disable_commandline_tags=2
8 disable_l2cache=1
9 disable_overscan=1
10 display_hdmi_rotate=-1
11 display_lcd_rotate=-1
12 enable_gic=1
13 enable_uart=1
14 force_eeprom_read=1
15 force_pwm_open=1
16 framebuffer_ignore_alpha=1
17 framebuffer_swap=1
18 gpu_freq=500
19 gpu_freq_min=250
20 init_uart_clock=0x2dc6c00
21 lcd_framerate=60
22 mask_gpu_interrupt0=1024
23 mask_gpu_interrupt1=0x10000
24 max_framebuffers=2
25 over_voltage_avs=-42500
26 pause_burst_frames=1
27 program_serial_random=1
28 total_mem=4096
29 hdmi_force_cec_address:0=65535
30 hdmi_force_cec_address:1=65535
31 hdmi_pixel_freq_limit:0=0x11e1a300
32 hdmi_pixel_freq_limit:1=0x11e1a300
Argon One
To keep the Raspi protected and cool i choose
MY VERSION OF THE INSTALLER
argon1.sh
The original installer
https://download.argon40.com/argon1.sh
Minimum possible speed is 1. Most variation is between 1 and 10 from 20 to 100 it sounds more like the same. So i decided to go with the following config to get the device as silient as possible.
/etc/argononed.conf
Watch CPU clock
Watch Temperature
1 watch -n1 -- 'grep -H "" /sys/class/thermal/thermal_zone0/temp'
Overclocking
https://www.raspberrypi.org/documentation/configuration/config-txt/overclocking.md
https://magpi.raspberrypi.org/articles/how-to-overclock-raspberry-pi-4
Overclocking problems
Most overclocking issues show up immediately with a failure to boot. If this occurs, hold down the shift key during the next boot. This will temporarily disable all overclocking, allowing you to boot successfully and then edit your settings.
Once i needed it on Raspi4 and it worked!
Known MAXIMUM
/boot/config.txt
Did not boot on my raspi4.
Known STABLE
Raspi4 with 8GiB might need a higher over_voltage.
This worked for me /boot/config.txt
XFCE
Install XFCE
1 apt install task-desktop task-xfce-desktop
Set session manager to xfce4-session
1 # LC_ALL=C update-alternatives --config x-session-manager
2 There are 6 choices for the alternative x-session-manager (providing /usr/bin/x-session-manager).
3
4 Selection Path Priority Status
5 ------------------------------------------------------------
6 0 /usr/bin/startlxde-pi 90 auto mode
7 1 /usr/bin/lxsession 49 manual mode
8 2 /usr/bin/openbox-session 40 manual mode
9 3 /usr/bin/startlxde 50 manual mode
10 4 /usr/bin/startlxde-pi 90 manual mode
11 5 /usr/bin/startxfce4 50 manual mode
12 * 6 /usr/bin/xfce4-session 40 manual mode
13
14 Press <enter> to keep the current choice[*], or type selection number: 6
Set window manager to xfwm4
1 update-alternatives --config x-window-manager
2 There are 2 choices for the alternative x-window-manager (providing /usr/bin/x-window-manager).
3
4 Selection Path Priority Status
5 ------------------------------------------------------------
6 0 /usr/bin/openbox 90 auto mode
7 1 /usr/bin/openbox 90 manual mode
8 * 2 /usr/bin/xfwm4 60 manual mode
9
10 Press <enter> to keep the current choice[*], or type selection number: 2
Disable auto-login to user pi /etc/lightdm/lightdm.conf
Logoff from current session