souriceaux Posté(e) Mars 23 Auteur Posté(e) Mars 23 il y a 34 minutes, hcl28 a dit : tu utilises quel navigateur @hcl28 Mozilla Firefox étant le navigateur que j'utilise. La connexion via RJ45 est bonne puisque je peux envoyer des fichiers pour des impressions. J'ai accès à toutes les données mais impossible de les télécharger ;( Connexion/Déconnexion du SLicer QiDI. Idem pour l'imprimante
hcl28 Posté(e) Mars 23 Posté(e) Mars 23 Tu as un message d'erreur quand tu souhaites télécharger le fichier ?, pour le moment la qidi est toujours avec son logiciel d'origine .
souriceaux Posté(e) Mars 23 Auteur Posté(e) Mars 23 Re, Oui aucune modification effectuée pour le moment. Tout est d'origine. Oups, je viens de m’apercevoir que l'adresse IP change régulièrement ! Donc, le soucis proviendrai de là !!!!!!
hcl28 Posté(e) Mars 23 Posté(e) Mars 23 Tu ne peux pas fixer l'adresse IP en fixe de l'imprimante dans la BOX internet. 1
V3DP Posté(e) Mars 30 Posté(e) Mars 30 Le 16/03/2025 at 14:32, fran6p a dit : En théorie, je dirais oui, mais uniquement pour la carte principale. Si celle de la tête est Katapult«ée», la procédure de flashage est celle utilisée avec Katapult Je viens d'aller consulter son dépôt. Le script install.sh, installe les pré-requis. Révéler le texte masqué # Installing the AutoFlasher.service echo "Installing AutoFlasher.service..." sudo cp /home/$USER_NAME/FreeDi/helpers/AutoFlasher.service /etc/systemd/system/AutoFlasher.service echo "AutoFlasher.service installed!" # Setting current user in AutoFlasher.service echo "Setting user to $USER_NAME in AutoFlasher.service" sudo sed -i "s/{{USER}}/$USER_NAME/g" /etc/systemd/system/AutoFlasher.service # Make the script executable echo "Making the klipper_auto_flasher.sh executable..." chmod +x /home/$USER_NAME/FreeDi/helpers/klipper_auto_flasher.sh echo "Script /home/$USER_NAME/FreeDi/helpers/klipper_auto_flasher.sh is now executable." # Enable AutoFlasher.service to start at boot echo "Enabling AutoFlasher.service to start at boot..." sudo systemctl enable AutoFlasher.service echo "AutoFlasher.service enabled to start at boot!" # Make hid-flash executable echo "Making hid-flash executable..." chmod +x /home/$USER_NAME/FreeDi/mainboard_and_toolhead_firmwares/hid-flash echo "AutoFlasher.service installed!" Ensuite, c'est le script klipper_auto_flasher.sh qui gère le flashage en utilisant le binaire hid-flash (j'ai comparé son binaire et celui originel de Qidi (dans /root) et ils sont identiques ). Révéler le texte masqué #!/bin/bash ## muss ausführbar gemacht werden mit ## chmod +x /home/mks/FreeDi/mainboard_and_toolhead_firmwares/hid-flash # Get the absolute path of the script script_dir="$(cd "$(dirname "$0")" && pwd)" # Define the absolute paths to the firmware files toolhead_firmware_path="$script_dir/../mainboard_and_toolhead_firmwares/v0.12.0-289/Toolhead_RP2040.uf2" hid_flash_path="$script_dir/../mainboard_and_toolhead_firmwares/hid-flash" mcu_firmware="$script_dir/../mainboard_and_toolhead_firmwares/v0.12.0-289/X_4.bin" serial_port="ttyS0" # Find matching /dev/sd*[0-9] to see if toolhead is in boot mode for device in /dev/sd*[0-9]; do # Check if the device exists if [ -e "$device" ]; then # Get the size of the partition size=$(lsblk | grep "$(basename "$device")" | awk '{print $4}') # Check if the size matches exactly 128M if [ "$size" == "128M" ]; then echo "Device $device size is exactly 128M" # Copy (flash) the toolhead klipper firmware to the device echo "Copying firmware to $device..." sudo cp "$toolhead_firmware_path" "$device" # Check if the copy was successful if [ $? -eq 0 ]; then echo "Firmware successfully copied to $device" sudo service klipper stop; sudo service klipper start; # Wait for Klipper service runtime to stabilize (with timeout) max_attempts=30 # Timeout after 30 seconds attempt=0 while true; do runtime=$(systemctl show klipper.service --property=ActiveEnterTimestampMonotonic | awk -F'=' '{print $2}') if [ -n "$runtime" ] && [ "$runtime" -ge 5000000 ]; then echo "Klipper service has been running for at least 5 seconds." break fi # Increment attempt counter and check for timeout attempt=$((attempt + 1)) if [ "$attempt" -ge "$max_attempts" ]; then echo "Timeout waiting for Klipper service to stabilize." exit 1 fi sleep 1 done sleep 10 echo "FIRMWARE_RESTART" | sudo tee /home/mks/printer_data/comms/klippy.serial sudo service klipper stop # Flash the MCU firmware $hid_flash_path "$mcu_firmware" "$serial_port" # Starting klipper again echo "Starting Klipper service..." sleep 3 if ! sudo service klipper start; then echo "Failed to start Klipper service." exit 1 fi else echo "Failed to copy firmware to $device" fi else echo "Device $device size is $size (not 128M)" fi else echo "Device $device not found" fi done Il a compilé les firmwares avec sa version de Klipper (0.12.0-289) pour la carte principale (X4.bin) et pour celle de la tête (Toolhead_RP2040.uf2). Le firmware de la tête n'est pas «Katapult». Avec sa méthode, si la tête avait été d'abord flashée avec le chargeur de démarrage Katapult, puis Klipper flashé via le script Python Katapult, on perdrait le flashage mode Katapult. Comme il n'a pas utilisé Katapult, sa méthode nécessitera pour le flashage de la tête à chaque fois de démonter le capot arrière pour accéder au bouton Boot. J'avais testé une méthode sans avoir besoin d'éteindre, maintenir le bouton Boot enfoncé et allumer l'imprimante : imprimante allumée, capot arrière retiré, maintenir le bouton Boot enfoncé, presser le bouton Reset et relâcher les deux boutons => le RP2040 passait en mode Boot Il y a même les firmwares originels pour le cas où cela se passerait mal, mais pas de script pour reflasher avant de remettre une eMMC originelle (il n'y aurait que les chemins déclarés dans le script à modifier «légèrement») Révéler le texte masqué @fran6p J'ai essayé de flasher le MCU de la carte mère avec l'utilitaire HID-Flash de FreeDi / Qidi. Donc compilation du FW comme sur ton GitHub, avec un offset du boot loader de 32 ko, re-nommage du fichier compilé en X_4.bin. Reprise manuelle du script d'installation de FreeDi pour la partie en question mks@mkspi:~$ sudo cp /home/mks/FreeDi/helpers/AutoFlasher.service /etc/systemd/system/AutoFlasher.service [sudo] Mot de passe de mks : mks@mkspi:~$ sudo sed -i "s/{{USER}}/mks/g" /etc/systemd/system/AutoFlasher.service mks@mkspi:~$ chmod +x /home/$USER_NAME/FreeDi/helpers/klipper_auto_flasher.sh chmod: impossible d'accéder à '/home//FreeDi/helpers/klipper_auto_flasher.sh': Aucun fichier ou dossier de ce type mks@mkspi:~$ chmod +x /home/mks/FreeDi/helpers/klipper_auto_flasher.sh mks@mkspi:~$ sudo systemctl enable AutoFlasher.service mks@mkspi:~$ chmod +x /home/mks/FreeDi/mainboard_and_toolhead_firmwares/hid-flash mks@mkspi:~$ sudo systemctl daemon-reload mks@mkspi:~$ sudo service klipper stop Ensuite flashage via HiD-flash mks@mkspi:~$ /home/mks/FreeDi/mainboard_and_toolhead_firmwares/hid-flash /home/mks/klipper/out/X_4.bin ttyS0 La connexion se fait bien sur le device ttyS0, mais on part en timeout, le STM32 n'est pas prêt à recevoir +-----------------------------------------------------------------------+ | HID-Flash v2.2.1 - STM32 HID Bootloader Flash Tool | | (c) 2018 - Bruno Freitas http://www.brunofreitas.com | | (c) 2018-2019 - Vassilis Serasidis https://www.serasidis.gr | | Customized for STM32duino ecosystem https://www.stm32duino.com | +-----------------------------------------------------------------------+ > Trying to open the [ttyS0]... > Open the [ttyS0] successfully > Sending <reset pages> command... rcv 2 data:?? rcv 2 data:$ rcv 2 data: rcv 2 data: rcv 2 data:? rcv 2 data: rcv 2 data:1 rcv 2 data:m$ rcv 2 data: > Error, no ok receive, timeout and exit!!! > Finish Le service AutoFlasher est bien actif. Est-ce que le Bootloader HID n'a pas été supprimé lors de l'upgrade de Klipper via le flashage par la carte micro SD ? Est-ce que le STM32 devrait être mis en mode DFU ????
fran6p Posté(e) Mars 30 Posté(e) Mars 30 il y a 25 minutes, V3DP a dit : Est-ce que le Bootloader HID n'a pas été supprimé lors de l'upgrade de Klipper via le flashage par la carte micro SD ? Est-ce que le STM32 devrait être mis en mode DFU ???? En fait, je ne sais pas trop et j'espère que non (que le bootloader HID a été écrasé). Il y a cette issue (non totalement résolue) sur le Github de Freedi : https://github.com/Phil1988/FreeDi/issues/146 Solution (?) : - flasher la carte traditionnellement (X4.bin sur la carte μSD) - lancer manuellement le script d'«autoupdate». Par contre, ça nécessite d'ouvrir le capot arrière de la tête pour passer la carte de la tête en mode BOOTSEL. Si j'avais à reflasher la carte principale, je ferais comme pour la carte de la tête : installation du chargeur de démarrage Katapult (via renommage en X4.bin puis falsh via la carte μSD) et ensuite le processus de flashage du firmware Klipper à l'aide du script Katapult. 1
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant