Salut,
Du nouveau de mon côté: J'ai mis la main sur un vieux récepteur gps USB de marque RoyalTek, modèle RGM-2000. C'est ce bidule:
RGM-2000
Sur ma machine Ubuntu 18.04 (un PC fixe), ça semble bien détecté par défaut. Le fichier
/dev/ttyUSB0 est créé au branchement du récepteur et j'arrive à voir les trames NMEA dans le terminal.
Seul problème rencontré: Il semble que la "node"
/dev/ttyUSB0 soit paramétrée de base à la cadence de 9600bauds alors que le récepteur tramsmet à 4800. Pour voir les trames dans le terminal avec la commande
cat /dev/ttyUSB0, j'ai dû assigner à la main la bonne cadence en faisant:
stty -F /dev/ttyUSB0 4800
La commande:
stty -F /dev/ttyUSB0 devrait retourner des infos de config sur le fichier concerné, dont la vitesse.
Donc la commande complète devient:
stty -F /dev/ttyUSB0 4800 ; cat /dev/ttyUSB0
Exemple:
lsusb -t récepteur débranché: (l'option
-t permet de voir les pilotes utilisés)
yvan@yvan-maison:~$ lsusb -t
/: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
yvan@yvan-maison:~$
lsusb -t récepteur branché:
yvan@yvan-maison:~$ lsusb -t
/: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 2: Dev 5, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
yvan@yvan-maison:~$
C'est cette ligne:
|__ Port 2: Dev 5, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
lsmod | grep ftdi_sio, pour voir si le module du pilote s'est bien chargé:
yvan@yvan-maison:~$ lsmod | grep ftdi_sio
ftdi_sio 53248 0
usbserial 45056 1 ftdi_sio
yvan@yvan-maison:~$
...semble OK de ce côté.
Retour de
udevadm monitor au branchement du récepteur:
yvan@yvan-maison:~$ udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
KERNEL[12983.876211] add /devices/pci0000:00/0000:00:1d.0/usb6/6-2 (usb)
KERNEL[12983.882052] add /devices/pci0000:00/0000:00:1d.0/usb6/6-2/6-2:1.0 (usb)
KERNEL[12983.882080] add /devices/pci0000:00/0000:00:1d.0/usb6/6-2/6-2:1.0/ttyUSB0 (usb-serial)
KERNEL[12983.882315] add /devices/pci0000:00/0000:00:1d.0/usb6/6-2/6-2:1.0/ttyUSB0/tty/ttyUSB0 (tty)
KERNEL[12983.882346] bind /devices/pci0000:00/0000:00:1d.0/usb6/6-2/6-2:1.0/ttyUSB0 (usb-serial)
KERNEL[12983.882387] bind /devices/pci0000:00/0000:00:1d.0/usb6/6-2/6-2:1.0 (usb)
KERNEL[12983.882425] bind /devices/pci0000:00/0000:00:1d.0/usb6/6-2 (usb)
UDEV [12983.888123] add /devices/pci0000:00/0000:00:1d.0/usb6/6-2 (usb)
UDEV [12983.897739] add /devices/pci0000:00/0000:00:1d.0/usb6/6-2/6-2:1.0 (usb)
UDEV [12983.901664] add /devices/pci0000:00/0000:00:1d.0/usb6/6-2/6-2:1.0/ttyUSB0 (usb-serial)
UDEV [12983.907110] add /devices/pci0000:00/0000:00:1d.0/usb6/6-2/6-2:1.0/ttyUSB0/tty/ttyUSB0 (tty)
UDEV [12983.913564] bind /devices/pci0000:00/0000:00:1d.0/usb6/6-2/6-2:1.0/ttyUSB0 (usb-serial)
UDEV [12983.914587] bind /devices/pci0000:00/0000:00:1d.0/usb6/6-2/6-2:1.0 (usb)
UDEV [12983.915856] bind /devices/pci0000:00/0000:00:1d.0/usb6/6-2 (usb)
KERNEL[12984.522718] add /devices/parport0/ppdev0.0 (parport)
KERNEL[12984.522750] bind /devices/parport0/ppdev0.0 (parport)
KERNEL[12984.522764] unbind /devices/parport0/ppdev0.0 (parport)
KERNEL[12984.522776] remove /devices/parport0/ppdev0.0 (parport)
UDEV [12984.525136] add /devices/parport0/ppdev0.0 (parport)
UDEV [12984.525160] bind /devices/parport0/ppdev0.0 (parport)
UDEV [12984.525176] unbind /devices/parport0/ppdev0.0 (parport)
UDEV [12984.525579] remove /devices/parport0/ppdev0.0 (parport)
KERNEL[12988.934413] add /devices/parport0/ppdev0.0 (parport)
KERNEL[12988.934444] bind /devices/parport0/ppdev0.0 (parport)
UDEV [12988.936584] add /devices/parport0/ppdev0.0 (parport)
UDEV [12988.936619] bind /devices/parport0/ppdev0.0 (parport)
KERNEL[12988.980231] unbind /devices/parport0/ppdev0.0 (parport)
KERNEL[12988.980903] remove /devices/parport0/ppdev0.0 (parport)
UDEV [12988.981841] unbind /devices/parport0/ppdev0.0 (parport)
UDEV [12988.983093] remove /devices/parport0/ppdev0.0 (parport)
Pour terminer, vérification de la présence des trames NMEA avec la commande:
stty -F /dev/ttyUSB0 4800;cat /dev/ttyUSB0
yvan@yvan-maison:~$ stty -F /dev/ttyUSB0 4800;cat /dev/ttyUSB0
$GPGGA,000554.977,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,,,,0000*36
$GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05
$GPRMC,000554.977,V,0000.0000,N,00000.0000,E,,,181101,,*11
$GPGGA,000555.977,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,,,,0000*37
$GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05
$GPRMC,000555.977,V,0000.0000,N,00000.0000,E,,,181101,,*10
$GPGGA,000556.977,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,,,,0000*34
$GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05
$GPGSV,1,1,01,31,00,000,*4A
$GPRMC,000556.977,V,0000.0000,N,00000.0000,E,,,181101,,*13
^C
yvan@yvan-maison:~$
Note que le paquet
gpsd n'est pas installé sur ma machine et que je n'ai pas créé ou modifié de règles udev pour ce faire.
En espérant que tu puisses en tirer quelque chose.
A+