arret de fonctionnement de l'uart PitInfo sur USB0 et USB1 fdti drivers
-
Bonsoir,
je fais l'acquisition des trames linky sur un un raspberry pi 4 a l'aide d'un dongle pitInfo et d'un programme python.
Je vois ce genre d'erreur dans dmesg au bout d'un certain temps de fonctionnement avez vous une idée de l'origine? (est ce lié au driver ?) merci de votre aide[224539.345526] ftdi_sio ttyUSB1: usb_serial_generic_read_bulk_callback - urb stopped: -32 [224539.345676] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32 [236967.999940] ftdi_sio ttyUSB1: usb_serial_generic_read_bulk_callback - urb stopped: -32 [236968.000191] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32 [253544.704521] ftdi_sio ttyUSB1: usb_serial_generic_read_bulk_callback - urb stopped: -32
-
@knasson on dirait que ton module (un microtéléinfo plutôt qu'un PiTinfo non ?) change de port USB comme si il se déconnectait, tu peux tester une autre alim du Pi pour voir ?
-
@Charles Merci de cette réponse ,mais je confirme c'est bien d'un PitInfo qu'il s'agit (j'ai les 2 : PitInfo et micro teleInfo).
le MicroTeleinfo est sur mon Linky de consommation, et avec lui jamais de problème tandis que le PitInfo est sur le Linky de production.
Pour l'alimentation du RPI , je l'ai déjà renforcée j'ai une alim de chargeur rapide de téléphone.>4 A . Avant ce changement j'avais des messages de 'Under voltage' qui ont totalement disparus.
ls -l /devlrwxrwxrwx 1 root root 7 Jan 13 21:01 serial0 -> ttyAMA0 lrwxrwxrwx 1 root root 5 Jan 13 21:01 serial1 -> ttyS0 ..... crw-rw---- 1 root dialout 166, 0 Jan 17 22:00 ttyACM0 crw-rw---- 1 root dialout 204, 64 Jan 13 21:01 ttyAMA0 crw------- 1 root root 5, 3 Jan 13 21:01 ttyprintk crw-rw---- 1 root dialout 4, 64 Jan 13 21:01 ttyS0 crwxrwxrwx 1 root dialout 188, 0 Jan 13 21:01 ttyUSB0 crwxrwxrwx 1 root dialout 188, 1 Jan 17 10:35 ttyUSB1 lrwxrwxrwx 1 root root 7 Jan 13 21:01 ttyUSB-Rfxcom -> ttyUSB1 lrwxrwxrwx 1 root root 7 Jan 13 21:01 ttyUSB-tinfo_prod -> ttyUSB0
-
@knasson ah ok c'est plus clair mais pas certain de tout comprendre.
- tu n'as pas de pb avec le PiTinfo UART c'est ça ?
- tu n'as pas de pb avec le MicroTeleinfo USB c'est ça ?
- avec le RFXCom je ne sais pas si tu as des soucis
Ton seul soucis c'est les messages USB de temps en temps ? Si tu ne branches que le MicroTeleinfo ou le RFXCom tu as tjs ces messages ?
j'avais ce genre de trucs mais il y a très longtemps sur des veilles version de Raspian avec le driver (genre au moins 8 ans)
-
@Charles pas certain que ce soit plus clair ..
Apparemment c'est le port USB sur lequel est branché le PitInfo qui s'arrête périodiquement et qui bloque l'acquisition des trames teleinfo. Je dois relancer le script qui réinitialise le port USB concerné.
un extrait du script:# Port serial stty_port = '/dev/ttyUSB-tinfo_prod' # URL de push vers Jeedom #base_url = 'https://<JEEDOM_HOST>/core/api/jeeApi.php?plugin=virtual&apikey=<API_KEY>&type=virtual&id={}&value={}' # Clé à récupérer et id de l'info dans Jeedom (pas necessaire dans domoticz) measure_keys = ['EAIT','SINSTI'] measures=[0,0] def main(): logging.info('Starting...') # Reconfigure le port serial pour eviter # l'erreur: termios.error: (22, 'Invalid argument') logging.info('Reconfigure stty %s' % stty_port) subprocess.call(['stty', '-F', stty_port, 'iexten']) with serial.Serial(port=stty_port, baudrate=9600, parity=serial.PARITY_EVEN, stopbits=serial.STOPBITS_ONE, bytesize=serial.SEVENBITS, timeout=1) as ser: logging.info('Reading on %s' % stty_port) while True: line = ser.readline() arr = line.decode('ascii').split('\t') if len(arr) != 3: continue send_measure(arr) # Port serial #stty_port = '/dev/ttyUSB-tinfo_prod'
je ne suis pas expert en python c'est un programme que j'ai adapté alors il peut y avoir des erreurs, mais il fonctionne.
Voilà encore merci si vous pouvez avoir un avis sur ce qu'il conviendrait de faire pour fixer ce problème. (changer le materiel ?)
-
@knasson retour à ma question de initiale,
Charles
@knasson on dirait que ton module (un microtéléinfo plutôt qu'un PiTinfo non ?)knasson
@Charles Merci de cette réponse ,mais je confirme c'est bien d'un PitInfo qu'il s'agitCe n'est pas possible car le PiTinfo n'est pas USB il se branche sur le port GPIO du PI, celui qui est en USB est le MicroTeleinfo. Donc c'est bien un soucis USB avec le MicroTeleinfo, on est en phase sur le diagnostic ?
Si tu executes ton script genre tt les 15s tu dois pouvoir reset le port usb quand il déconne avant de le lire je m'en était sorti comme ça à l'époque lors de leur programmation
# reset USB dongle, LED should be RED usb_modeswitch -v 0x0403 -p 0x6015 --reset-usb --quiet
-
@Charles oui bon je dois confondre les 2 appellations tu as raison évidement en tant que concepteur ... . Désolé de cette confusion.
oui c'est bien un problème d'USB on est d'accord.Merci pour ton aide ....