1 pièce(s) jointe(s)
IDE Arduino V.2.1.0 et driver pour carte nano compatible
Bonjour,
Je me remets (à mon niveau) à l'Arduino. J'ai un uno qui ne me pose pas de problème. Par contre un compatible nano me crée des soucis.
Depuis la dernière fois j'ai changé de PC et d'OS; d'Ubuntu 20 sur station je suis passé à Mint 21 sur portable. J'avais déjà eu des soucis et je l'avais noté dans mon Wiki. j'ai donc tenté d'appliquer la même procédure.
Déjà l'installation du driver CH340 ne fonctionne pas correctement. J'ai les erreurs suivantes:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| patrick@HP-Victus:~/Téléchargements/CH341SER_LINUX$ sudo make
[sudo] Mot de passe de patrick*:
make -C /lib/modules/5.19.0-41-generic/build M=/home/patrick/Téléchargements/CH341SER_LINUX
make[1]*: on entre dans le répertoire «*/usr/src/linux-headers-5.19.0-41-generic*»
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0
You are using: gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
CC [M] /home/patrick/Téléchargements/CH341SER_LINUX/ch34x.o
/home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c: In function ch34x_close:
/home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c:591:9: error: unknown type name wait_queue_t; did you mean wait_event?
591 | wait_queue_t wait;
| ^~~~~~~~~~~~
| wait_event
/home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c:591:22: warning: unused variable wait [-Wunused-variable]
591 | wait_queue_t wait;
| ^~~~
/home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c:590:14: warning: unused variable timeout [-Wunused-variable]
590 | long timeout;
| ^~~~~~~
/home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c:589:13: warning: unused variable bps [-Wunused-variable]
589 | int bps;
| ^~~
/home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c: At top level:
/home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c:1297:27: error: initialization of unsigned int (*)(struct tty_struct *) from incompatible pointer type int (*)(struct tty_struct *) [-Werror=incompatible-pointer-types]
1297 | .write_room = ch34x_write_room,
| ^~~~~~~~~~~~~~~~
/home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c:1297:27: note: (near initialization for ch34x_device.write_room)
/home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c:1298:28: error: initialization of unsigned int (*)(struct tty_struct *) from incompatible pointer type int (*)(struct tty_struct *) [-Werror=incompatible-pointer-types]
1298 | .chars_in_buffer = ch34x_chars_in_buffer,
| ^~~~~~~~~~~~~~~~~~~~~
/home/patrick/Téléchargements/CH341SER_LINUX/ch34x.c:1298:28: note: (near initialization for ch34x_device.chars_in_buffer)
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:257 : /home/patrick/Téléchargements/CH341SER_LINUX/ch34x.o] Erreur 1
make[1]: *** [Makefile:1850 : /home/patrick/Téléchargements/CH341SER_LINUX] Erreur 2
make[1]*: on quitte le répertoire «*/usr/src/linux-headers-5.19.0-41-generic*»
make: *** [Makefile:5 : default] Erreur 2 |
Qu'à cela ne tienne, une petite recherche et je pense trouver le correctif ici. J'instyalle et ça semble fonctionner.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| patrick@HP-Victus:~/Téléchargements/CH341SER-master$ sudo make
make -C /lib/modules/5.19.0-41-generic/build M=/home/patrick/Téléchargements/CH341SER-master
make[1]*: on entre dans le répertoire «*/usr/src/linux-headers-5.19.0-41-generic*»
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0
You are using: gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
CC [M] /home/patrick/Téléchargements/CH341SER-master/ch34x.o
MODPOST /home/patrick/Téléchargements/CH341SER-master/Module.symvers
CC [M] /home/patrick/Téléchargements/CH341SER-master/ch34x.mod.o
LD [M] /home/patrick/Téléchargements/CH341SER-master/ch34x.ko
BTF [M] /home/patrick/Téléchargements/CH341SER-master/ch34x.ko
Skipping BTF generation for /home/patrick/Téléchargements/CH341SER-master/ch34x.ko due to unavailability of vmlinux
make[1]*: on quitte le répertoire «*/usr/src/linux-headers-5.19.0-41-generic*»
patrick@HP-Victus:~/Téléchargements/CH341SER-master$ sudo make load
modprobe usbserial
insmod ch34x.ko
patrick@HP-Victus:~/Téléchargements/CH341SER-master$ sudo make unload
rmmod ch34x
patrick@HP-Victus:~/Téléchargements/CH341SER-master$ sudo kmodsign sha512 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der ./ch34x.ko
patrick@HP-Victus:~/Téléchargements/CH341SER-master$ sudo make load
modprobe usbserial
insmod ch34x.ko |
Pour autant, dans mon interface Arduino, que j'installe la version standard (.deb) ou une plus récente (Flathub), ma carte ne me propose aucun port. Il est à noter que j'ai testé de lancer l'IDE en mode privilégié (sudo) sans plus de succès.
Pièce jointe 638957
Malgré tout ma carte est bien reliée:
Code:
1 2 3 4 5 6 7 8 9
| patrick@HP-Victus:~/Téléchargements/CH341SER-master$ lsusb
Bus 004 Device 002: ID 0781:5583 SanDisk Corp. Ultra Fit
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 005: ID 1a86:7523 QinHeng Electronics CH340 serial converter
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0bda:2852 Realtek Semiconductor Corp. Bluetooth Radio
Bus 001 Device 002: ID 04f2:b735 Chicony Electronics Co., Ltd HP Wide Vision HD Camera
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub |
Je pense que l'installation de mon driver n'est pas bonne car ma device /dev/ttyUSB0 n'est pas trouvée.
Il est à noter que sous Windows 11 aucun soucis, ce qui élimine une défaillance de la carte.
Avez-vous une idée, une piste ?
Je suis sous Mint 21.2, bureau Cinnamon, IDE Arduino 2.1.0 - CLI version 0.32.2
Merci d'avance.