GPS перестала работать, gpsctl говорит: «gpsctl: ERROR: время ожидания пакета»

Я некоторое время играю с GPS в Linux, я хотел вывести некоторые конкретные данные из команды cgps -s вместо всего.

Я спросил этот вопрос и получил ответ, как это сделать.

Чтобы выполнить ответ, указанный в вышеупомянутом вопросе, мне пришлось преобразовать выходную форму /dev/ttyUSB0 в NMEA с помощью этой команды:

 sudo gpsctl -f -n /dev/ttyUSB0 

Я успешно справился с этим, но теперь, после выключения компьютера и повторного запуска, я не смог запустить указанную выше команду, и я получаю эту ошибку:

 gpsctl:SHOUT: vendor/product match with 091e:0003 not found gpsctl:ERROR: packet recognition timed out. 

Я пробовал почти все, я пытался убить процессы gpsd и запускать их снова, но не повезло.
С другой стороны, команда cgps -s дает правильный вывод.

Почему я не мог преобразовать двоичный вывод в NMEA?

Обновить:

Мне удается разобраться в проблеме, но я не смог ее исправить,

Вот что на самом деле происходит, когда я запускаю приведенные выше команды,

 gpsctl:INFO: startup at 2013-12-26T13:16:50.000Z (1388063810) gpsctl:PROG: initialization passed. gpsctl:PROG: no etc/gpsd/device-hook present, skipped running ACTIVATE hook gpsctl:INFO: opening GPS data source type 3 at '/dev/ttyUSB0' gpsctl:INFO: speed 9600, 8N1 gpsctl:PROG: Probing "Garmin USB binary" driver... gpsctl:INFO: attempting USB device enumeration. gpsctl:INFO: 0424:9512 (bus 1, device 2) gpsctl:INFO: 1d6b:0002 (bus 1, device 1) gpsctl:INFO: 0424:ec00 (bus 1, device 3) gpsctl:INFO: 0cf3:9271 (bus 1, device 4) gpsctl:INFO: 067b:2303 (bus 1, device 5) gpsctl:SHOUT: vendor/product match with 091e:0003 not found gpsctl:PROG: Probe not found "Garmin USB binary" driver... gpsctl:PROG: Probing "GeoStar binary" driver... gpsctl:PROG: Probe not found "GeoStar binary" driver... gpsctl:PROG: Probing "Trimble TSIP" driver... gpsctl:INFO: speed 9600, 8O1 gpsctl:INFO: speed 9600, 8N1 gpsctl:PROG: Probe not found "Trimble TSIP" driver... gpsctl:PROG: no probe matched... gpsctl:INFO: gpsd_activate(): activated GPS (fd 3) gpsctl:DATA: packet mask = {} gpsctl:DATA: packet mask = {} gpsctl:DATA: packet mask = {} gpsctl:ERROR: packet recognition timed out. 

Gpsctl пытается распознать тип GP, к которому я подключился, но он не смог его найти. Но иногда ему удается узнать тип (который является «SiRF двоичным») и в то время он успешно конвертируется в режим NMEA.

Кроме того, команда gpsctl пытается установить скорость передачи в бодах до 9600, но правильная скорость передачи – 4800.

Я не знаю, почему он не может распознать тип устройства и скорость передачи.

с этой страницы, http://www.catb.org/gpsd/gpsctl.html Я выяснил, что могу заставить тип устройства использовать -t Поэтому я пробовал это,

 gpsctl -n -f -t "SirF binary" -D 4 /dev/ttyUSB0 

но все же получая тот же ответ с одной дополнительной строкой в ​​выходе,

 gpsctl:ERROR: no driver type name matches 'SirF binary'. 

как я упоминал выше, иногда он успешно распознает тип устройства (который является бинарным SiRF) и скорость передачи (4800), в таких случаях успеха результат следующий:

введите описание изображения здесь

Я также пытался заставлять скорость передачи данных до 4800, но это тоже не сработало.

Есть ли способ установить драйвер для бинарного файла SirF и скорости передачи в 4800 по умолчанию, изменив некоторые файлы в Linux?