Puncte:2

Ubuntu 21.04 Failed to apply overlay '0_rpi-poe' (kernel)

drapel sj

I have Ubuntu 21.04 installed on a Raspberry Pi 4. I want to control the fan on the POE+ HAT (https://www.raspberrypi.org/products/poe-plus-hat/)

By default the fan does not spin at all. When I add dtoverlay=rpi-poe to /boot/firmware/config.txt the fan works in a seemingly default mode. But when I do sudo dtoverlay -l there are no overlays loaded so I don't know why it makes a difference.

Custom settings like these do not work as expected. When I add these the fan stops completely or falls back to default mode.

dtparam=poe_fan_temp0=50000
dtparam=poe_fan_temp1=58000
dtparam=poe_fan_temp2=64000
dtparam=poe_fan_temp3=68000

When I try to load the overlay rpi-poe I get the response * Failed to apply overlay '0_rpi-poe' (kernel) which maybe means it's not available in this kernel? GNU/Linux 5.11.0-1012-raspi aarch64

Carles Mateo avatar
drapel cn
Ce model ai? https://uk.pi-supply.com/products/pi-poe-switch-hat-power-over-ethernet-for-raspberry-pi ? https://www.raspberrypi.org/products/poe-hat/ ?
Thijs avatar
drapel sj
https://www.raspberrypi.org/products/poe-plus-hat/ pălăria POE+
Puncte:1
drapel cn
oot

Pe versiunile Ubuntu 21.04 pentru Pi 4 cu pălărie PoE+, există o mică diferență care vă lipsește și care cauzează această problemă.Driverul firmware-ului și suprapunerea arborelui dispozitiv asociat este denumită rpi-poe-plus, nu rpi-poe (acesta este pentru pălăria PoE mai veche).

Puteți afla acest lucru consultând suprapunerile disponibile din arborele dispozitivului cu următoarea comandă și observând că există două listate.

ls /boot/firmware/overlays | grep poe

Adăugați următoarele la /boot/firmware/config.txt fișier pentru ca ventilatorul să funcționeze cu pălăria PoE+.

dtoverlay=rpi-poe-plus
dtparam=poe_fan_temp0=80000,poe_fan_temp0_hyst=2000
dtparam=poe_fan_temp1=70000,poe_fan_temp1_hyst=5000
dtparam=poe_fan_temp2=65000,poe_fan_temp2_hyst=3000
dtparam=poe_fan_temp3=60000,poe_fan_temp3_hyst=5000

Puteți ajusta valorile poe_fan_temp la ceea ce vă place, astfel încât ventilatorul să crească la diferite valori de temperatură ale procesorului. Valorile sunt grade C x 1000.

Thijs avatar
drapel sj
minunat, multumesc! de asemenea bine explicat. este posibil să fi uitat „=" după dtoverlay în exemplul de cod.
oot avatar
drapel cn
oot
Bună captură! @Thijs
Puncte:0
drapel us

ubuntu 21.04. Nu trebuie să faci nimic. Tocmai am adăugat un POE-plus la un RASPI4/8g și ventilatorul respectă setările implicite, așa cum a arătat Carlos (mulțumesc Carlos) mai sus.
Versiunea actuală 21.04 are tot ce aveți nevoie. Verificați cu:

Introduceți următoarea comandă:

od -An --endian=big -td4 /proc/device-tree/thermal-zones/cpu-thermal/trips/trip?/temperature /proc/device-tree/thermal-zones/cpu-thermal/trips/trip? /histerezis

ar trebui să iei:

   40000       45000       50000       55000
    2000        2000        2000        5000
Puncte:0
drapel cn

După ce am fost frustrat de lipsa documentației, am găsit acest proiect github care pare să-l atingă:

https://github.com/raspberrypi/linux/issues/2715#issuecomment-769405042

rpi-poe a fost actualizat în martie 2020 adăugând:

Nume: rpi-poe
Informații: ventilator Raspberry Pi PoE HAT
Încărcare: dtoverlay=rpi-poe,<param>[=<val>]
Parametri: poe_fan_temp0 Temperatura (în milicelcius) la care ventilatorul
                                pornește (implicit 40000)
        poe_fan_temp0_hyst Delta de temperatură (în milicelcius) la care
                                ventilatorul se oprește (implicit 2000)
        poe_fan_temp1 Temperatura (în milicelcius) la care ventilatorul
                                accelerează (implicit 45000)
        poe_fan_temp1_hyst Delta de temperatură (în milicelcius) la care
                                ventilatorul încetinește (implicit 2000)
        poe_fan_temp2 Temperatura (în milicelcius) la care ventilatorul
                                accelerează (implicit 50000)
        poe_fan_temp2_hyst Delta de temperatură (în milicelcius) la care
                                ventilatorul încetinește (implicit 2000)
        poe_fan_temp3 Temperatura (în milicelcius) la care ventilatorul
                                accelerează (implicit 55000)
        poe_fan_temp3_hyst Delta de temperatură (în milicelcius) la care
                                ventilatorul încetinește (implicit 5000)

Config sugerat:

# Vitezele ventilatorului PoE Hat
dtoverlay=rpi-poe   
dtparam=poe_fan_temp0=65000   
dtparam=poe_fan_temp0_hyst=1000   
dtparam=poe_fan_temp1=70000
dtparam=poe_fan_temp1_hyst=2500
dtparam=poe_fan_temp2=80000
dtparam=poe_fan_temp2_hyst=5000
dtparam=poe_fan_temp3=90000
dtparam=poe_fan_temp3_hyst=5000

Verificați dacă în dmesg aveți o eroare de genul, atunci întâmpinați o problemă cu o actualizare de firmware:

[...] rpi-poe-fan rpi-poe-fan@0: Nu s-a obținut valoarea implicită PWM: -5
[...] rpi-poe-fan: sonda rpi-poe-fan@0 a eșuat cu eroarea -5

Explicații despre cum să utilizați un firmware anterior aici: https://github.com/raspberrypi/firmware/issues/1531

După ce modificați config.txt și reporniți, verificați dacă valorile sunt OK cu:

od -An --endian=big -td4 /proc/device-tree/thermal-zones/cpu-thermal/trips/trip?/temperature /proc/device-tree/thermal-zones/cpu-thermal/trips/trip? /histerezis

Ar trebui să iei:

65000 70000 80000 90000
1000 2500 5000 5000

Noroc

Thijs avatar
drapel sj
Există 57 de comentarii în linkul către problema 1531, așa că nu sunt sigur la ce te referi, dar nu am mesajul dmesg cu rpi-poe, așa că cred că nu este o problemă de firmware, atunci dacă am înțeles bine
Carles Mateo avatar
drapel cn
A funcționat configurația sugerată?
Thijs avatar
drapel sj
nu, coolerul nu mai face nimic, mai puțin decât să folosească setările implicite

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.