# EM9191 - NMEA GPS Stream - Can not find the ttyUSB Interface

**URL:** <https://forum.sierrawireless.com/t/em9191-nmea-gps-stream-can-not-find-the-ttyusb-interface/28701>\
**Category:** MC/EM Series\
**Tags:** feature-request, debug, fw-upgrade\
**Created:** [January 6, 2023, 12:25pm UTC](https://forum.sierrawireless.com/t/em9191-nmea-gps-stream-can-not-find-the-ttyusb-interface/28701 "2023-01-06T12:25:47Z")\
**Posts on this page:** 1\
**Showing post:** 12

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [January 12, 2023, 12:15pm UTC](https://forum.sierrawireless.com/t/em9191-nmea-gps-stream-can-not-find-the-ttyusb-interface/28701/12 "2023-01-12T12:15:54Z")

</div>

I have just tried the virtual port, it is working fine for my Ubuntu 18 to output NMEA frame in virtual port:

1. sudo apt-get install libmbim-utils
2. make sure MBIM port is enabled in AT!USBCOMP?
3. connect antenna to AUX antenna port
4. power on the EM9191 with FW SWIX55C\_03.09.11.00
5. Make sure GPSENABLE has been enabled in AT!CUSTOM?
6. type AT!GPSAUTOSTART=1
7. kernel log should show the following:

```auto
[355.731518] usb 3-2.1: Product: Sierra Wireless EM9191
[355.731519] usb 3-2.1: Manufacturer: Sierra Wireless, Incorporated
[355.731520] usb 3-2.1: SerialNumber: 7821475120012345
[355.842587] usbcore: registered new interface driver cdc_ncm
[355.844384] usbcore: registered new interface driver cdc_wdm
[355.975016] cdc_mbim 3-2.1:1.0: setting rx_max = 16384
[356.012935] usbcore: registered new interface driver usbserial
[356.013726] usbcore: registered new interface driver usbserial_generic
[356.013811] usbserial: USB Serial support registered for generic
[356.017132] usb_wwan: loading out-of-tree module taints kernel.
[356.017170] usb_wwan: module verification failed: signature and/or required key missing - tainting kernel
[356.020363] usbcore: registered new interface driver qcserial
[356.021087] usbserial: USB Serial support registered for Qualcomm USB modem
[356.021156] usbserial: USB Serial support registered for Qualcomm USB modem
[356.023816] cdc_mbim 3-2.1:1.0: cdc-wdm0: USB WDM device
[356.024230] cdc_mbim 3-2.1:1.0 wwan0: register 'cdc_mbim' at usb-0000:03:00.0-2.1, CDC MBIM, 5a:49:43:0c:a8:d1
[356.025267] usbcore: registered new interface driver cdc_mbim
[356.026301] qcserial 3-2.1:1.3: Qualcomm USB modem converter detected
[356.026444] usb 3-2.1: Qualcomm USB modem converter now attached to ttyUSB0
[356.030435] qcserial 3-2.1:1.4: Qualcomm USB modem converter detected
[356.030631] usb 3-2.1: Qualcomm USB modem converter now attached to ttyUSB1

```

1. Get the CID

```auto
owner@ubuntu:~/Downloads$ sudo qmicli -p --device=/dev/cdc-wdm0 --loc-start --client-no-release-cid --loc-session-id=53
[sudo] password for owner: 
[/dev/cdc-wdm0] Successfully started location tracking (session id 53)
[/dev/cdc-wdm0] Client ID not released:
	Service: 'loc'
	    CID: '4'

```

1. Put the CID in the following command and NMEA frame should be coming out.

```auto
owner@ubuntu:~/Downloads$ sudo qmicli -p --device=/dev/cdc-wdm0 --loc-follow-nmea --client-cid=4 --client-no-release-cid --loc-session-id=53 
$GPGSV,1,1,03,30,26,203,13,07,10,178,,08,,,,1*63
$GQGSV,1,1,02,02,56,143,24,04,,,28,1*58
$GBGSV,2,1,08,01,47,122,,02,45,234,,03,63,188,,04,33,108,,1*72
$GBGSV,2,2,08,22,30,125,,24,44,286,,25,,,,26,50,209,,1*4C
$GAGSV,1,1,01,21,,,27,7*74
$GNDTM,P90,,,N,,W,,W84*4F
$GPGGA,034719.00,,,,,0,,,,,,,,*40
$GBGGA,034719.00,,,,,0,,,,,,,,*52
$GNGGA,034719.00,,,,,0,,,,,,,,*5E
$GNGNS,034719.00,,,,,NNN,,,,,,,V*41
$GBVTG,,T,,M,,N,,K,N*3E
$GNVTG,,T,,M,,N,,K,N*32
$GPRMC,,V,,,,,,,,,,N,V*29
$GBRMC,,V,,,,,,,,,,N,V*3B
$GNRMC,,V,,,,,,,,,,N*4D
$GBGSA,A,1,,,,,,,,,,,,,,,,*20
$GNGSA,A,1,,,,,,,,,,,,,,,,*2C
$GPGSV,1,1,03,30,26,203,13,07,10,178,,08,,,,1*63
$GQGSV,1,1,02,02,56,143,23,04,,,30,1*56
$GBGSV,2,1,08,01,47,122,,02,45,234,,03,63,188,,04,33,108,,1*72
$GBGSV,2,2,08,22,30,125,,24,44,286,,25,,,,26,50,209,,1*4C
$GAGSV,1,1,01,21,,,27,7*74
$GNDTM,P90,,,N,,W,,W84*4F
$GPGGA,034720.00,,,,,0,,,,,,,,*4A
$GBGGA,034720.00,,,,,0,,,,,,,,*58
$GNGGA,034720.00,,,,,0,,,,,,,,*54
$GNGNS,034720.00,,,,,NNN,,,,,,,V*4B
$GBVTG,,T,,M,,N,,K,N*3E
$GNVTG,,T,,M,,N,,K,N*32
$GPRMC,,V,,,,,,,,,,N,V*29
$GBRMC,,V,,,,,,,,,,N,V*3B
$GNRMC,,V,,,,,,,,,,N*4D
$GBGSA,A,1,,,,,,,,,,,,,,,,*20
$GNGSA,A,1,,,,,,,,,,,,,,,,*2C
^Ccancelling the operation...
[/dev/cdc-wdm0] Client ID not released:
	Service: 'loc'
	    CID: '4'

```

1. install socat by “sudo apt-get install socat”
2. sudo socat -d -d PTY,raw,echo=0,link=/dev/ttyVA00 PTY,raw,echo=0,link=/dev/ttyVB00
3. now /dev/pts/1 and /dev/pts/2 should be generated
4. sudo chmod 777 /dev/pts/1
5. sudo chmod 777 /dev/pts/2
6. to make sure these virtual ports work, you can use minicom to open these two ports and type some characters to verify
7. use minicom to open /dev/pts/2
8. sudo qmicli -p --device=/dev/cdc-wdm0 --loc-follow-nmea --client-cid=4 --client-no-release-cid --loc-session-id=53 \> /dev/pts/1
9. now the port /dev/pts/2 in minicom should output NMEA frame

---

_[View the full topic](https://forum.sierrawireless.com/t/em9191-nmea-gps-stream-can-not-find-the-ttyusb-interface/28701)._
