Jump to content
XPEnology Community

[Octoprint] Démarrage impossible


Recommended Posts

Je sais que le paquet n'est pas à jour mais j'aimerais tenter un débuguage :)

 

si je vais dans les log j'ai ça :

2020/02/10 11:20:45     install octoprint: start version 20160321-4 failed, result 272
2020/02/10 11:23:03     start octoprint: begin to start version 20160321-4
2020/02/10 11:23:03     start octoprint 20160321-4 Begin pre-load apparmor
2020/02/10 11:23:04     start octoprint 20160321-4 End pre-load apparmor ret=[0]
2020/02/10 11:23:04     start octoprint 20160321-4 Begin start-stop-status start
Starting OctoPrint ...
insmod: ERROR: could not insert module /lib/modules/usbserial.ko: File exists
insmod: ERROR: could not insert module /lib/modules/ftdi_sio.ko: File exists
insmod: ERROR: could not insert module /lib/modules/cdc-acm.ko: File exists
su: Permission denied

à priori un problème de droits

Quelqu'un saurait m'aiguiller sur ce type de pb ?

 

à priori dpkg est installé sur le système, peut être une gestion de paquet .deb .... mais rien de trouvé dans l'arborescence.
 

Link to comment
Share on other sites

connecte toi en ssh et regarde le propriétaire de ces fichiers. Certainement root ou admin.

Ton service Octoprint doit lui démarrer avec un autre utilisateur je parie... Le mieux est de regarder le script qui lance Octoprint et vérifier si le user en question dispose des privilèges. Sinon tu peux aussi ajouter cet utilisateur à la liste de sudoers (là Google est ton amis ;)).

Link to comment
Share on other sites

il y a 51 minutes, vlotho a dit :

est ce que tu connaîtrais le mot de passe du compte root ?

avec la derniere version de DSM 6, le compte root n'est pas dispo pour des raisons de sécurité.

 

Si ton compte perso est administrateur alors la commande sudo te donne les mm habilitations que root.

 

il y a 12 minutes, vlotho a dit :

j'ai voulu rajouter la octoprint dans le sudoers et maintenant j'ai un message d'erreur comme quoi il est corrompu et je ne plus utiliser de sudo :s

ni pkexec ni visudo ne fonctionne ...

Comment as-tu pu modifier ce fichier alors que tu disais ne pas avoir le mdp admin ?

Tu n'as pas sauvegarder le fichier /etc/sudoers avant ???

 

Ben dans ce cas 2 solutions : réinstaller DSM ou te procupérer le dit fichier et tenter de le remplacer qui est actuellement corrompu.

Link to comment
Share on other sites

Bon je comprend absolument pas comment fonctionne le docker octoprint, je ne vois vraiment pas comment accéder à l'interface web d'octoprint.

J'ai configurer un port dans le conteneur mais ça fonctionne pas et dans le conteneur en lui même je ne trouve aucune info sur l'adresse de connexion et je vois même pas de serveur web dedans .... je comprend pas. pourtant le service est démarré.

Link to comment
Share on other sites

  1. Faudrait demander à @EVOTk comment mapper correctement un périphérique USB à un conteneur docker dans DSM. je suis sûr qu'il pourra t'aider car en effet --device /dev/ttyACM0:/dev/ttyACM0 doit fortement être adapter selon ton matos.
  2. Le conteneur ne demande qu'un n° de port, donc sachant que par défaut le port interne du conteneur est le 5000, il ne faut surtout pas mettre le port 5000 comme port local car c'est celui de DSM! Tu as bien mis autre chose??? genre 10000 par exemple. Ainsi dès que ton conteneur démarre tu accèderas à l'interface au travers du lien : http://[IP_DU_NAS]:10000
Link to comment
Share on other sites

Alors déjà je savais pas que l'usb c'était ttyACM0

 

et pour le port j'avais 5010 mais ça fonctionne pas mieux ... en port local j'ai mis auto

je vais faire encore quelque test et je demanderais à cette personne, merci.

Edited by vlotho
Link to comment
Share on other sites

il y a 29 minutes, vlotho a dit :

usb c'était ttyACM0

ben c'est évident non ?^^

 

ah mais non, le port du conteneur c'est 5000 c'est sûr faut pas le modifier dixit la doc de ton conteneur https://hub.docker.com/r/octoprint/octoprint/ par contre le port local lui dois être modifié et surtout pas auto.

 

Je viens de tester chez moi, ça marche très bien (au détail près que je n'ai pas d'imprimante 3D^^)

Link to comment
Share on other sites

Ah ouai attend :s

 

 

octoprint@octoprint:/opt/octoprint$ ls /dev/ | grep tty                                                                                                    

tty                                                                                                                                                        

octoprint@octoprint:/opt/octoprint$ ls /dev/                                                                                                               

console  core  fd  full  mqueue  null  ptmx  pts  random  shm  stderr  stdin  stdout  tty  urandom  zero   

Link to comment
Share on other sites

Salut,

Je suis désolé, mais je ne pas eu besoin de chargé de devices USB dans Docker. C'est quelques chose que je n'utilise pas.

 

Malgrè tout, il me semble que sur syno, pour l'usb il faut de tourner vers :

 

Citation

/dev/bus/usb

 

Un  :

Citation

sudo vim devices

 

Pour quitter l'edition sans enregistrer de modification, il faut taper :q! et valider avec Entrer

.

Te donnera des infos sur les ports usb occupé, et la ligne "Product=" t'indiquera se qui est détecté dessus.

 

Ton paramètres Docker devra a mon avis ressembler a quelques chose comme ceci :

 

Citation

--device=/dev/bus/usb/001/005:/dev/ttyACM0

 

Il est possible qu'il te faudra "chmoder" le device usb :

 

Citation

chmod -R 777 /dev/bus/usb/001/005

 

Ici, je prend comme exemple "/dev/bus/usb/001/005" mais c'est a toi de déterminer le quel est le bon !

 

De ce que je comprend, mais je continu de dire que c'est "hypotétique" c'est un terrain inconnu pour moi, quand on fait sudo vim devices on peu par exemple voir ceci :

jN5Andh.png

 

Manufacturer et Product sont les infos les plus parlante pour savoir se qui est connecté sur le port usb !

Ici on voit que le 1er c'est mon disque dur externe "My Book" de chez Western et le 2eme une partition linux, surement la clé usb de boot du loader.

 

Ce qu'il faut noter c'est la 1ere ligne , par exemple pour mon MyBook :

Citation

Bus=02 Lev=01 Prnt=01 Port=08 Cnt=01 Dev#=  2 Spd=5000 MxCh= 0

 

Il est donc sur le Bus 02, et c'est le périphérique ( Dev ) 2, donc pour moi son chemin serait :

Citation

/dev/bus/usb/002/002

 

Pour le deuxième :

Citation

Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh=16

Donc le chemin :

Citation

/dev/bus/usb/001/001

 

Il faut donc comprendre le chemin de la sorte :

Citation

/dev/bus/usb/BUS/DEVICE

 

Edited by EVOTk
Link to comment
Share on other sites

Merci @EVOTk
En fait, cette partie là je l'avais déjà faite par déduction et j'en avais même fais un ln -s, le problème c'est que je ne sais pas trop quoi en faire après dans le docker hub.

Si il faut mettre le paramètre dans les variables d'environnement ou ailleurs, car ça ne fonctionne pas, mais je vais refaire quelque test.

Link to comment
Share on other sites

je te montre ce que j'ai fais dans mon serveur xpeno.

j'ai enlevé mon ln, je savais pas trop si ça avait de l'importance.

 

j'ai testé de le mettre dans les variables d'environnement.

 

j'ai testé dans octoprint, mais sans succès ..

et je te mets aussi ce que je vois dans le /dev du conteneur.

 

J'ai posté aussi dans le forum de docker, mais pas de réponse.

usblist.PNG

environnement.PNG

pasmieux.PNG

Link to comment
Share on other sites

Salut,

Il n'est pas possible d'inclure des "devices" depuis l'interface Docker de DSM. Il te faut le faire manuellement.

 

Pour cela il te faut exporter ta config, tu va te retrouver avec un fichier .json a ouvrir avec NotePad++ par exemple.

 

Au début tu y trouvera une ligne :

 

Citation

"devices" : [],

 

Dans l'exemple suivant : "--device=/dev/bus/usb/001/005:/dev/ttyACM0", Il te faut la remplacer par ceci pour que cela soit la même chose :

 

Citation

"devices" : [
      {
         "CgroupPermissions" : "rwm",
         "PathInContainer" : "
/dev/ttyACM0",
         "PathOnHost" : "
/dev/bus/usb/001/005"
      }
   ],

 

Ensuite, apres avoir modifier enregistrer ton fichier, tu re-import ton fichier .json afin de re-créer le conteneur que tu aura au préalable supprimé.

Edited by EVOTk
Link to comment
Share on other sites

Re,

 

alors c'est pas mal, sauf que quand je veux connecter l'imprimante il me met :

 

Changing monitoring state from "Offline" to "Detecting serial port"Serial port list: ['/dev/ttyACM0']Connecting to: /dev/ttyACM0Changing monitoring state from "Detecting serial port" to "Error: Connection error, see Terminal tab"Unexpected error while connecting to serial port: AUTO SerialException: '[Errno 13] could not open port /dev/ttyACM0: [Errno 13] Permission denied: '/dev/ttyACM0'' @ comm.py:_openSerial:2469 (hook default)

 

J'ai bien mis mon /dev/bus/usb/001/002 en chmod 777 -R

octoprint.PNG

Link to comment
Share on other sites

je l'ai mis à jour et j'ai un autre message :

 

Connecting to: /dev/ttyACM0 Changing monitoring state from "Offline" to "Error: Connection error, see Terminal tab" Unexpected error while connecting to serial port: /dev/ttyACM0 SerialException: 'Could not configure port: (25, 'Inappropriate ioctl for device')' @ comm.py:_openSerial:2661 (hook default)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...