PDA

Afficher la version complète : [Réglé] gpsd et cloture du port /dev/ttyUSB0



galmiche
06/03/2011, 14h04
Bjr à tous,

J'ai un GPS USB Globalsat BU-353 branché sur mon serveur OpenSuse 11.3

J'ai vérifié que :
Le port s'est créé automatiquement /dev/ttyUSB0
ll /dev/ttyUSB0 retourne crw-rw---- 1 root dialout 188, 0 mars 6 12:2 /dev/ttyub0

J'ai forcé sa vitesse à 4800 bauds par : stty -F /dev/ttyUSBO 4800

Il fonctionne car un cat /dev/ttyUSB0 me retourne des trames NMEA
...
$GPGSA,A,3,23,13,32,11,24,20,,,,,,,6.1,4.1,4.5*37
$GPRMC,114407.000,A,4853.4178,N,00216.9304,E,0.29, 118.56,060311,,,A*67
$GPGGA,114408.000,4853.4178,N,00216.9304,E,1,06,4. 1,49.8,M,47.3,M,,0000*69
...

J'ai compilé la version 2.95 de gpsd et je lance
gpsd -b -nND6 /dev/ttyUSB0

Il semble que gpsd voit le port passer en veille ou recevoir 0 byte et du coup fait une fermeture, puis plus rien.
Si je lance xgps ou cgps, je ne recois rien.

Je vous joins ci dessous le debut de mon gpsd.

"
gpsd -b -nND6 /dev/ttyUSB0

gpsd: launching (Version 2.95)
gpsd: opening IPv4 socket
gpsd: passivesock_af() -> 3
gpsd: opening IPv6 socket
gpsd: passivesock_af() -> 4
gpsd: listening on port gpsd
gpsd: NTPD shmat(1867796,0,0) succeeded, segment 0
gpsd: NTPD shmat(1900565,0,0) succeeded, segment 1
gpsd: NTPD shmat(1933334,0,0) succeeded, segment 2
gpsd: NTPD shmat(1966103,0,0) succeeded, segment 3
gpsd: running with effective group ID 0
gpsd: running with effective user ID 0
gpsd: opening read-only GPS data source type 3 and at '/dev/ttyUSB0'
gpsd: speed 4800, 8N1
gpsd: open(/dev/ttyUSB0) -> 5 in gpsd_open()
gpsd: attempting USB device enumeration.
gpsd: 1d6b:0002 (bus 1, device 1)
gpsd: 1d6b:0002 (bus 2, device 1)
gpsd: 1d6b:0001 (bus 3, device 1)
gpsd: 1d6b:0001 (bus 4, device 1)
gpsd: 1d6b:0001 (bus 5, device 1)
gpsd: 1d6b:0001 (bus 6, device 1)
gpsd: 1d6b:0001 (bus 7, device 1)
gpsd: 1d6b:0001 (bus 8, device 1)
gpsd: 0bda:0151 (bus 1, device 2)
gpsd: 1058:0730 (bus 2, device 2)
gpsd: 0f25:bfe7 (bus 7, device 2)
gpsd: 1d6b:0003 (bus 9, device 1)
gpsd: 067b:2303 (bus 6, device 2)
gpsd: vendor/product match with 091e:0003 not found
gpsd: Probing TSIP
gpsd: speed 9600, 8O1
gpsd: speed 4800, 8N1
gpsd: no probe matched...
gpsd: gpsd_activate(): opened GPS (fd 5)
gpsd: select() {3 4 5} -> { 5 } at 1299412438.735327 (errno 0)
gpsd: packet_get() fd 5 -> 1 (0)
gpsd: ISGPS word tag not correct, skipping byte
gpsd: select() {3 4 5} -> { 5 } at 1299412438.737323 (errno 0)
gpsd: packet_get() fd 5 -> 1 (0)
gpsd: ISGPS word tag not correct, skipping byte
gpsd: select() {3 4 5} -> { 5 } at 1299412438.740198 (errno 0)
gpsd: packet_get() fd 5 -> 1 (0)
gpsd: ISGPS word tag not correct, skipping byte
gpsd: select() {3 4 5} -> { 5 } at 1299412438.742322 (errno 0)
gpsd: packet_get() fd 5 -> 1 (0)
gpsd: ISGPS lock never achieved
gpsd: select() {3 4 5} -> { 5 } at 1299412438.744197 (errno 0)
gpsd: packet_get() fd 5 -> 1 (0)
gpsd: ISGPS word tag not correct, skipping byte
gpsd: select() {3 4 5} -> { 5 } at 1299412438.746321 (errno 0)
gpsd: packet_get() fd 5 -> 1 (0)
gpsd: ISGPS word tag not correct, skipping byte
gpsd: select() {3 4 5} -> { 5 } at 1299412438.749197 (errno 0)
gpsd: packet_get() fd 5 -> 1 (0)
gpsd: ISGPS word tag not correct, skipping byte
gpsd: select() {3 4 5} -> { 5 } at 1299412438.751321 (errno 0)
gpsd: packet_get() fd 5 -> 1 (0)
gpsd: ISGPS word tag not correct, skipping byte
gpsd: select() {3 4 5} -> { 5 } at 1299412438.753197 (errno 0)
gpsd: packet_get() fd 5 -> 1 (0)
gpsd: ISGPS word tag not correct, skipping byte
gpsd: select() {3 4 5} -> { 5 } at 1299412439.303211 (errno 0)
gpsd: packet_get() fd 5 -> 0 (11)
gpsd: GPS on /dev/ttyUSB0 is offline (0.571551 sec since data)
gpsd: /dev/ttyUSB0 returned zero bytes
gpsd: /dev/ttyUSB0 will be repolled in 0.010000 seconds
gpsd: select() {3 4} -> {} at 1299412440.303450 (errno 0)
gpsd: /dev/ttyUSB0 reawakened after zero-length read
gpsd: select() {3 4 5} -> { 5 } at 1299412440.305325 (errno 0)
gpsd: packet_get() fd 5 -> 0 (11)
gpsd: GPS on /dev/ttyUSB0 is offline (1299412440.305350 sec since data)
gpsd: /dev/ttyUSB0 returned zero bytes
gpsd: closing GPS=/dev/ttyUSB0 (5)
gpsd: close(5) in gpsd_close(/dev/ttyUSB0)
gpsd: select() {3 4} -> {} at 1299412441.315450 (errno 0)
gpsd: select() {3 4} -> {} at 1299412442.316450 (errno 0)
gpsd: select() {3 4} -> {} at 1299412443.317454 (errno 0)
gpsd: select() {3 4} -> {} at 1299412444.318452 (errno 0)
gpsd: select() {3 4} -> {} at 1299412445.319451 (errno 0)
...
"

Une idée?

Merci pour votre aide.
Hervé

Torrent
06/03/2011, 16h33
T'as installé GPSbabel ? Le GPS sous Linux, c'est pas évident, moi j'y suis arrivé avec un localisateur radar automobile (le navirad), mais il faut absolument que le capteur GPS soit en extérieur, sinon nada......
Ici tu trouveras (http://www.maytorrent.com/gps.html) le peu que j'ai pû essayer en la matière

galmiche
06/03/2011, 23h07
Bonjour,

Merci pour la réponse mais je ne vois pas l'utilité de GpsBabel dans mon problème - Je ne cherche pas a convertir mes donner mais à utiliser le daemon gpsd sous Linux (dans le but ensuite de le renvoyer sur nntpd).
A priori c'est un problème de configuration entre /dev/ttyUSB0 et gpsd.
(Et mon GPS est bien calé puisqu'il remonte les trames NMEA completes par cat /dev/ttyUSB0)

Quelqu'un a t'il svp une aide à me fournir plus précisément sur gpsd sous Linux?

Merci
Hervé

Torrent
06/03/2011, 23h35
à priori c'est un problème de transmissions de données que seul gpsbabel sait mettre en forme.
Installes le, ca mange pas de pain