Aller au contenu

Messages recommandés

Posté(e)
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

Posté(e)

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 .

 

Posté(e)

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à !!!!!! 
 

Posté(e)

Tu ne peux pas fixer l'adresse IP en fixe de l'imprimante dans la BOX internet.

 

  • +1 1
Posté(e)
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 ????

 

Posté(e)
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.

🙂 

  • J'aime 1

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...