Novatel Status Port
From CLUG Wiki
The Novatel Merlin U740 GPRS/EDGE/3G HSDPA cardbus adapter exposes two usbserial devices via a NEC ohci device.
The first port can be used as a standard modem port, with AT commands and PPP. The second port is used by the windows utility to for out-of-band communication with the card while the first port is occupied by the PPP link.
Linux users could benefit from a similar utility that can query signal strength, cell information, send/receive SMS'es etc.
The Problem
While one can use minicom or hyperterminal to access the first port without any problem, but not the second port, in either OS. The port is simply unresponsive to AT commands.
Using PortMon (from sysinternals.com) reveals that the utility opens the port with com settings (115200,N81).
Next, it then sends 6 binary bytes, then reads 6 *different* bytes back from the port, and immediately it is able to use regular AT commands. It always reads the same 6 bytes back from the port. I also noticed that it prepends [4B FA 03 00] before the AT commands, but I'm not sure if this is a PortMon artifact.
0 0.15137231 VMConnect.exe IRP_MJ_CREATE QCUSB_COM4_1 SUCCESS Options: Open 1 0.00000782 VMConnect.exe IOCTL_SERIAL_GET_BAUD_RATE QCUSB_COM4_1 SUCCESS 2 0.00000363 VMConnect.exe IOCTL_SERIAL_GET_LINE_CONTROL QCUSB_COM4_1 SUCCESS 3 0.00000363 VMConnect.exe IOCTL_SERIAL_GET_CHARS QCUSB_COM4_1 SUCCESS 4 0.00000363 VMConnect.exe IOCTL_SERIAL_GET_HANDFLOW QCUSB_COM4_1 SUCCESS 5 0.00000363 VMConnect.exe IOCTL_SERIAL_GET_BAUD_RATE QCUSB_COM4_1 SUCCESS 6 0.00000335 VMConnect.exe IOCTL_SERIAL_GET_LINE_CONTROL QCUSB_COM4_1 SUCCESS 7 0.00000335 VMConnect.exe IOCTL_SERIAL_GET_CHARS QCUSB_COM4_1 SUCCESS 8 0.00000307 VMConnect.exe IOCTL_SERIAL_GET_HANDFLOW QCUSB_COM4_1 SUCCESS 9 0.00000419 VMConnect.exe IOCTL_SERIAL_SET_BAUD_RATE QCUSB_COM4_1 SUCCESS Rate: 115200 10 0.00000475 VMConnect.exe IOCTL_SERIAL_CLR_RTS QCUSB_COM4_1 SUCCESS 11 0.00000419 VMConnect.exe IOCTL_SERIAL_CLR_DTR QCUSB_COM4_1 SUCCESS 12 0.00000363 VMConnect.exe IOCTL_SERIAL_SET_LINE_CONTROL QCUSB_COM4_1 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 13 0.00000335 VMConnect.exe IOCTL_SERIAL_SET_CHAR QCUSB_COM4_1 SUCCESS EOF:0 ERR:0 BRK:0 EVT:0 XON:0 XOFF:0 14 0.00000363 VMConnect.exe IOCTL_SERIAL_SET_HANDFLOW QCUSB_COM4_1 SUCCESS Shake:0 Replace:0 XonLimit:0 XoffLimit:0 15 0.00000447 VMConnect.exe IOCTL_SERIAL_SET_TIMEOUTS QCUSB_COM4_1 SUCCESS RI:0 RM:0 RC:10 WM:0 WC:5000 16 0.00000838 VMConnect.exe IOCTL_SERIAL_PURGE QCUSB_COM4_1 SUCCESS Purge: TXABORT RXABORT TXCLEAR RXCLEAR 17 0.00002235 VMConnect.exe IOCTL_SERIAL_PURGE QCUSB_COM4_1 SUCCESS Purge: TXABORT RXABORT TXCLEAR RXCLEAR 18 0.00090682 VMConnect.exe IRP_MJ_WRITE QCUSB_COM4_1 SUCCESS Length 6: 30 00 01 EB 51 7E 19 0.00000866 VMConnect.exe IOCTL_SERIAL_GET_COMMSTATUS QCUSB_COM4_1 SUCCESS 20 0.00001229 VMConnect.exe IOCTL_SERIAL_GET_COMMSTATUS QCUSB_COM4_1 SUCCESS 21 0.00993618 VMConnect.exe IRP_MJ_READ QCUSB_COM4_1 TIMEOUT Length 6: 30 00 00 62 40 7E 22 0.00001397 VMConnect.exe IOCTL_SERIAL_PURGE QCUSB_COM4_1 SUCCESS Purge: TXCLEAR RXCLEAR 23 0.00002794 VMConnect.exe IOCTL_SERIAL_PURGE QCUSB_COM4_1 SUCCESS Purge: TXABORT RXABORT TXCLEAR RXCLEAR 24 0.00208071 VMConnect.exe IRP_MJ_WRITE QCUSB_COM4_1 SUCCESS Length 651: 4B FA 03 00 41 54 49 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 25 0.00001564 VMConnect.exe IOCTL_SERIAL_GET_COMMSTATUS QCUSB_COM4_1 SUCCESS 26 0.01001077 VMConnect.exe IRP_MJ_READ QCUSB_COM4_1 TIMEOUT Length 651: 4B FA 03 00 0D 0A 4D 61 6E 75 66 61 63 74 75 72 65 72 3A 20 4E
Sending those same 6 bytes to the port using minicom/hyperterminal or gtkterm gets the card to respond with 6 bytes, but *not* the same 6 bytes as it responded with above. Also, each time I get a different set of 6 bytes back. After I do this, it still does not respond to AT commands, not even with the [4B FA 03 00] prepended.
Send : 30 00 01 EB 51 7E Read : 30 00 1F 08 F8 65 Send : 30 00 01 EB 51 7E Read : 30 00 11 08 A8 44
Clearly Novatel has a "binary mode" and a "AT command mode".
Novatel is not helpful
There is no documentation available on how to interface with the card. I logged a tech support question on their website (reference W002983-051706) on 05/17/2006 03:49 AM, which they still have not responded to. I also sent an email to their sales team requesting the SDK for the card, as advertised on their website, but still no response.
Novatel is listed at http://www.vendorwatch.org/index.php?title=Novatel as being an unfriendly vendor.
What now?
Some ideas on how to proceed:
- The card uses a Qualcomm CDMA chipset, perhaps the datasheets could help, but they're probably subject to NDA's.
- Someone could send Novatel a FAX or make a phone call?
- Vodacom could help?
- I've posted a forum message om Myadsl.co.za, apparently a (Vodacom) person there called vodacom3g has been helpful in the past: http://www.mybroadband.co.za/vb/showthread.php?p=661493#post661493
