Dossiers > Technique mécaniqueReprogrammation du controleur Bafang BBS sous Linux
Reconfigurer son controleur BBS depuis un OS linux via le
soft original Bafang ou ses 3 autres reécritures
Bafang Configuration Tool de Stefan Penoff.
Version Penoff améliorée de Lolo.31
Bafang 1.04
peut s'avérer, selon les distributions, extrêmement facile ( Plug & Play) ou relativement "prise de tête" .
Les principaux obstacles sont :
- Trouver une version de Wine suffisamment récente compatible avec sa distribution si celle-ci est un peu ancienne.
- Configurer correctement les correspondances ports COM windows avec les ports serial-usb Linux.
Voici donc une méthode, qui je l'espère, vous permettra de continuer à utiliser Linux pour le reparamétrage des BBS.
Distributions testées:
Linux Mint 19.2 xfce x64
Xubuntu 20.04 x64
MXLinux 19.2 xfce x64 ; x32
Manjaro 20.01
1 - Reconnaissance hardware
La première chose dont on peut s'assurer avant de rentrer dans les détails est de vérifier que le cable USB/serial est bien reconnu par notre distribution.
J'utilise un
cable basique AE sur la base d'un convertisseur UART CH340G
Les noyaux linux doivent contenir les pilotes ( ici CH341) de l'interface USB /serial et la reconnaissance doit être automatique.
Vérification:
Insérer la clé sur un port usb (pas besoin de la connecter au BBS ) et taper dans la console:
lsusb
Le périphérique est bien reconnu par le système.
La commande:
dmesg | grep ttyUSB
nous renseigne que le dongle (ici ch341-uart) est bien attaché au port usb linux ttyUSB0
On peut alors passer à la phase 2
2 - Installation de Wine
Wine est un logiciel libre permettant à des logiciels conçus seulement pour Windows de fonctionner dans d'autres environnements comme Linux ou Mac OS X. Pour ce faire il implémente une interface technique de type Windows dans les environnements X et UNIX (BSD, Linux).
source
fr.wikipedia.org
Wine peut s'installer via le software manager de votre distribution. Malheureusement, il est possible que seules de vieilles versions ne soient disponibles sur le dêpot surtout si la distribution est un peu vieille.
Le programme pourra souvent se lancer ( +- instabilité) mais la communication avec les ports risque d'être difficile voire impossible.
À minima, la version 4.0 est fonctionnelle ainsi que les versions supérieures.
La version stable actuelle( 09-2020) est la 5.02
À voir donc avec les versions disponibles de vos distributions, sinon on peut aller chercher les dernières versions directement sur
la page officielle WineHQ.
ou
ici
Une fois Wine installé les dépendances éventuelles (gecko mono) s'installeront automatiquement lors du premier lancement d'un soft Bafang.
3 - Configuration des droits d'accés au port ttyUSB
Pour que l'utilisateur ait un droit d'accés sur le port ttyUSB0, il faut que celui-ci soit membre du groupe :
-
dialout (Debian , Ubuntu , Mint , ...)
-
uucp ( Archlinux , Manjaro)
------------------------------------------------------------------------------------------------------------------------------
Pour identifier ce groupe il suffit d'afficher les droits d'accés du fichier /dev/ttyUSB0 (Aprés avoir branché la clé usb/serial)
-soit en mode graphique par le gestionnaire de fichier
-soit par la console: ls -l /dev/ttyUSB0
------------------------------------------------------------------------------------------------------------------------------
Vérification:
L'entrée
groups dans la console affiche tous les groupes dont l'utilisateur ( ici Cyril) est membre
Si le groupe
dialout / uucp manque, il faut rendre l'utilisateur (Cyril) membre de ce groupe.
Dans la console:
Debian
sudo adduser Cyril dialout
Archlinux
sudo gpasswd -a Cyril uucp
Après une
déconnection ]puis
ouverture d'une nouvelle session, re-taper
groups pour vérifier la présence du groupe
dialout /
uucp
4 - Mappage-Correspondance du port usb-serial linux ttyUSB0 avec un port COM Windows
C'est ici que ça devient plus compliqué.
Les correspondances se trouvent sous la forme de liens dans le dossier caché:
~/.wine/dosdevices
Wine va établir les passerelles COMx <-> ttyUSB0 au premier lancement du soft Bafang.
Elles peuvent être alors listées dans la console par la commande.
ls -l ~/.wine/dosdevices/

Ici, dans MX-Linux, wine a mappé le port usb-serial linux sur le port Windows/wine COM5
Il suffit alors, dans ce cas, de lancer le soft Bafang, de selectionner le port COM5 et la connection se fait.
Manjaro
Wine mappe également le port ttyUSB0 sur le COM5
Idem MX linux, il suffit de selectionner le port COM5 dans le soft Bafang et la connection est effective
Les distributions MX-Linux ; Manjaro sont, de loin, les plus faciles car il n'y a absolument rien à configurer, ni les groupes ni les ports.
Directement plug & play sans même devoir installer un seul pilote.
4-1 Problèmes avec d'autres distributions
Dans Mint 19 ou Xubuntu 20
Nous avons droit a une orgie de port et wine a mappé le port ttyUSB0 sur le port com33, lequel n'est pas accessible par les softs Bafang. Connection alors impossible
Pour Ubuntu , Mint, il va falloir (re)attribuer les correspondances à la main.
Je me suis appuyé, en autre, sur cette doc
Wine User'guide
Dans Mint et Xubuntu, il faut faire cette manipulation.
4-2 Forcer wine à utiliser la correspondance COM1 <=> ttyUSB0
Ceci ce fera en modifiant le registre Windows de wine
lancer
wine regedit
se déplacer dans HKEY_LOCAL_MACHINE\Software\Wine\Ports
et créer une entrée
COM1 avec comme valeur
/dev/ttyUSB0
En suivant,fermer le registre et taper, toujours dans la console,
wineserver -k
de façon à ce que wine prenne en compte la modification au prochain démarage du programme
À vérifier avec
ls -l ~/.wine/dosdevices/
que la ligne
......... com1 -> /dev/ttyUSB0
est bien apparue
La clé est normalement opérationnelle.
Choisir alors le port COM1 dans le soft Bafang
En cliquant sur
connect , la led bleue TX clignote signifiant que le port est ouvert.
-----------------------------------------------------------------------------------------------------------------------
Pour une version de wine inférieure à la 2.8 il n'est pas possible d'utiliser regedit et il faut donc re-mapper ainsi:
Avec la commande console
ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1
on attribue à l'interface ttyUSB0 le port COM1
Si le soft Bafang a déjà été lancé, le raccourci com1 existe déjà dans le dossier "/home/xxx/.wine/dosdevices/ "
Il est attribué (voir capture écran de dessus) au port serial ttyS0
il faudra d'abord le supprimer sinon la console fournira un message d'erreur.
- Supression en mode console
rm ~/.wine/dosdevices/com1
- ou simplement à la main en se rendant dans ce répertoire
Ensuite,re-appliquer la commande du dessus.
Normalement ceci devrait être obsolète , si on a une distribution un tant soit peu récente.
wine > v2.8
---------------------------------------------------------------------------------------------------------------------------
5 - Mode opératoire
Pour éviter les pb, court-circuits ou autres lors du branchement de cable usb - serial, je déconnecte ( éteint) tout d'abord la batterie.
Ensuite je "purge" les condensateurs du controleur en rallument la console. ( laquelle s'éteint 1 seconde aprés)
- Je débranche le connecteur Higo 5 broches vert et connecte ( délicatement) le cable usb - serial.
Attention, le connecteur Higo est certes étanche mais les pins sont fins et relativement fragiles. Un court circuit dut à une une mauvaise insertion endommagera définitivement le controleur.
C'est pourquoi je préfère effectuer ce branchement sans aucune tension dans le circuit.
Voilà à quoi ressemble le connecteur femelle après seulement quelques dizaines de branchements.
- Je rallume (reconnecte) la batterie. La led (rouge) de la clé usb signale que celle-ci est sous tension.
- Je branche alors la clé sur le portable et lance le soft en suivant.
- Il détecte l'interface et se cale :
soit lui-même sur le port COM5
soit je choisi celui qui est effectif (COM1 dans mon exemple)
Ensuite c'est classique
-
connect pour établir la connection.

et
read pout importer les paramètres de configuration du controleur.
Une fois les modifs effectuées et enregistrées sur le controleur (
write) cliquer sur
disconnect.
Tout sur la reprogrammation du controleur se trouve ici.
cyclurba.fr
Je débranche alors la clé du PC et éteint/débranche la batterie.
Je ne la rebranche que lorsque la console est de nouveau connectée au controleur.
--------------------------------------------------
Rappel des distributions testées:
MXLinux 18.3 x32 ; 19,4 x64
Xubuntu 20.04 x64
Mint 19.2 x64
Manjaro 20.01
PC portables
Lenovo ThinkPad SL500 (2009) 64bit
Acer Aspire One (2008) 32 bit
6 - J'y arrive pas , rien à faire
Dans ce cas, il existe une solution de repli avec
WinToUSB qui permet de créer un windows portable.
Une simple clé USB 16 mo, une ancienne iso de win7 ( je vous laisse chercher) et
les pilotes windows CH341 suffisent à créer un OS "atelier" sur lequel on démarrera pour la reconfiguration du controleur BBS.
Seul inconvéniant, Il faudra un windows pour exécuter ce programme.

Article précedent:
La Bible du Proto façon Tchang
$pub_col_nb = 6; ?>