[résolu]Problème boîtier

Bonjour,

J’étais venu ici il y a quelques semaines pour parler de ma migration de serveur PI3B+ => Pi4.
J’ai acheté un beau boîtier Argon One avec un bouton ON/OFF (https://www.framboise314.fr/boitier-ventile-argon-one-pour-le-raspberry-pi-4/). Le truc auquel je n’avais pas pensé c’est qu’en cas de coupure de courant si personne n’appuie sur le bouton et bah il redémarre pas !! :smiley:

Voilà j’ai plusieurs questions:

  1. est ce que quelqu’un pourrait m’aider à désactiver le bouton (le shunter) je n’ai pas réussi à trouver l’info sur le net?

  2. Si jamais c’est impossible je repasserai sur un boîtier classique, comment nettoie t’on correctement la pâte thermique?

  3. J’ai cru lire ici où là que les radiateurs vendus avec les boîtiers classiques pouvaient être contre productifs, est ce fondé?

Merci par avance de votre aide!

Juste une question bête : est il possible de débrancher le bouton ?

Non il est soudé et ce que j’ai vu il relié sur le GPIO.

J’ai mit un commentaire sur l’article de framboise314 pour le lui demander.

Il t’as donné la même réponse qu’à moi.
Désouder le bouton aurait été trop facile !!

A la limite desinstalle le soft du boîtier (enfin je ne connais pas tes besoin)ou cherche dans les fichiers de config cela doit être qq par le prog qui contrôle le bouton.

Oui c’est ce à quoi je pensais, je n’ai pas installé le soft du boîtier.
Je ne m’y connait pas en bash, si c’est du python ça pourrait passer…

J’ai trouvé le script en python mais je ne connais pas bien les bibliothèque qui font référence au GPIO

Voilà la partie du script qui gère le bouton:

Il ne me reste plus qu’à trouver ce qui fait quoi:

#!/usr/bin/python
import smbus
import RPi.GPIO as GPIO
import os
import time
from threading import Thread
rev = GPIO.RPI_REVISION
if rev == 2 or rev == 3:
bus = smbus.SMBus(1)
else:
bus = smbus.SMBus(0)
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
shutdown_pin=4
GPIO.setup(shutdown_pin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
def shutdown_check():
while True:
pulsetime = 1
GPIO.wait_for_edge(shutdown_pin, GPIO.RISING)
time.sleep(0.01)
while GPIO.input(shutdown_pin) == GPIO.HIGH:
time.sleep(0.01)
pulsetime += 1
if pulsetime >=2 and pulsetime <=3:
os.system("reboot")
elif pulsetime >=4 and pulsetime <=5:
os.system("shutdown now -h")

Désolé je n’arrive pas à le preformater

hello,

je crains que le bouton power soit géré par un microcontrôleur quelque part sur le boîtier et qu’un appuie sur celui ci démarre le Rpi.

pour le reboot et le shutdown c’est cette fois çi, comme le script le montre, le Rpi qui gère une fois celui ci en marche… ( en éxécutant un reboot ou un shutdown)

donc a mon humble avis se serait le microcontrôleur ( ou un autre machin électronique du boîtier - en fait le « truc » qui met le Rpi sous tension ) qu’il faudrait reprogrammer ou shunter par un autre moyen …
on est d’accord que sans le schéma du boîtier ( même avec lol ) c’est pas gagné !

PS a ben si en fait il semble que ce soit possible expliqué ici : https://github.com/Argon40Tech/Argon-ONE-i2c-Codes/blob/master/README.md
via I2C on doit pouvoir reprogrammer le microcontrôleur en Mode 2 (Always ON)! bien joué !
( si i2csetup est pas installé il doit être dans le paquet i2c-tools)
il faut peut-être aussi mettre enable le I2C dans la config du Rpi ( :
sudo raspi-config
puis « interfacing options » puis I2C.

Merci @bof!

Juste pour que je comprenne bien il me suffirait d’ouvrir une console python (en ssh) et d’y envoyer la commande:
import RPi.GPIO
i2cset -y 1 0x01a 0xfe

C’est bien ça ?

Il faut que je teste ça ce soir en rentrant :slight_smile:

Edit: Ah non c’est directement du bash ! J’ai voulu faire compliqué alors que c’est tout simple!

import RPI.GPIO
est un ordre python (et est déjà, sous une autre forme, dans votre script python).
i2cset est effectivement un ordre bash i2cset(8): set I2C registers - Linux man page. Si bash refuse de l’executer (peu probable), il faut, comme Monsieur Bof l’a indiqué, installer i2c-tools (apt install i2c-tools) et activer le bus i2c.

Bon bah voilà j’ai fait le test et j’ai briqué le boîtier :frowning:

Il ne démarre plus… Il est pas complétement briqué l’instruction permettant de le remettre en mode par défaut fonctionne bien :slight_smile:

J’ai trouvé ça dans les commentaires:

A la limite dessoude le bouton

Pas sûr que ça marche vu que c’est l’UART qui reçoit l’alimentation de ce que je comprends…
Dans le mode actuel elle attends l’impulsion du bouton pour basculer l’alimentation vers le RPi, du coup déssouder le bouton ne changerait rien je pense.

En gros sur Kubii ce sont de vieille version du boîtier qui n’acceptent pas la commande envoyée. Elle n’est pas implémentée dans l’UART.
Il faut une version récente du boîtier.

Ba installe le software du boîtier

C’est fait, mais le logiciel ne permet que de contrôler la vitesse des ventilateurs.

C’est une bonne ou une mauvaise nouvelle? (je ne sais pas traduire les hieroglyphes jaunâtres)

En fait après recherche dans le fil de discussion il se trouve qu’il y a 3 versions de boitier:

  1. La carte de V1 ne permet pas de pouvoir implémenter via l’I2C la fonction "always-on
  2. La carte V2 qui permet de le faire via la commande I2C
  3. La carte V3 qui permet de le faire grâce à un cavalier.

Il se trouve qu’en faite j’ai cette dernière. Donc bonne nouvelle je peux donc le faire en changeant le cavalier de place voir photo ci-après.


Donc c’est une bonne nouvelle pour moi.
Merci à tous d’avoir participé à cette réflexion collective!