1

A little background: I have a One Plus One phone currently running LineageOS 14.1 (Android 7.1.2). The SoC the phone uses is a Qualcomm MSM8974ACPro with a baseband version of mpss.di.3.0.c6-00241-m8974aaaaanazm-1. I wrote a little serial console in python which I use to issue AT commands to the device '/dev/smd11' (the modem) at 115200 baud. According to the response from the command 'AT+CGMM' the model number of the modem is simply '4083' from Qualcomm.

The question: For experimental purposes I am attempting to make a call to a BBS (or any other serial data modem) through the console, to see what sort of response I can get. The command 'AT+FCLASS' returns 0,2.0 indicating the modem supports the fax class 2.0. I think that this could imply the modem has some sort of ADC capabilities. I also remember seeing v.24 and v.25 support but cant remember for the life of me which command resulted in that.

The issue arises when I place a call using the ATDxxxxxxxxxx command. I can place voice calls by appending a semicolon to the number, however it is my understanding that you need to exclude that when placing a data call. When excluded the modem immediately returns a 'NO CARRIER' message.

So, is there a way to verify what I am doing is possible? I am looking for less of a yes or no answer but rather other commands that could help me better understand my phone's modem or if I am wrong in my command usage, what I should do to correct it.

Any help is greatly appreciated!

1 Answers1

0

Testing AT+FCLASS is a bit unrelated when you actually want to test for support of CSD, circuit switched data (actually NTCSD). So to check for that the first command to check support for is AT+RLP because that contains CSD protocol parameters, and must be present when a modem supports NTCSD. The AT+CBST command is mandatory for any type of data call support.

If those two are unsupported, your modem does not support CSD.

As a bonus I give you a list of all the other commands that are related to CSD calls (excluding those that are common with voice calls, e.g. AT+CLIP etc): All the HSCSD (High Speed Circuit Switched Data) commands: AT+CHSN, AT+CHSD, AT+CHSC, AT+CHSR, AT+CHSU, AT+CHSA. as well as AT+DS AT+CR AT+ILRR AT+V120 and ATO.

You can by the way list all available commands with AT+CLAC (optinal command, but usually implemented).

For the case when you get NO CARRIER you could try to enable extended error reporting with AT+CMEE=2, although that typically does not affect ATD.

hlovdal
  • 26,565
  • 10
  • 94
  • 165
  • The 'at+rsp' command only returns an ERROR indicating that the command isn't supported. However the command 'at+cbst?' returns (0,0,1) and 'at+cbst=?' Returns (0,7,12,14,16,17,39,43,48,51,71,75,80,81,83,84,116,134),(0,1,4),(0,1). So evidently I can select a sbt. After enabling the extended error reporting I still only receive 'no carrier' from the ATD call. It would seem like the capabilities exist outside of the 'at+rlp' command. Very strange, outside of the ATD command. Do you know of any neccesary combination of commands to configure the modem prior to a data call? – Swizzy Studio Jun 11 '18 at 00:32
  • I spoke to soon, 'at+rlp' doesn't exist but 'at+crlp' does. 'At+crlp=?' Returns +CRLP: (0-61),(0-61),(38-255),(1-255),0 +CRLP: (0-61),(0-61),(38-255),(1-255),1 +CRLP: (0-488),(0-488),(42-255),(1-255),2. – Swizzy Studio Jun 11 '18 at 12:07
  • That is good news with regards to supporting NTCSD, because it clearly does. RLP version 0 and 1 are identical except that version 1 implies V.42bis compression (controlled by `AT+DS`). Version 2 supports speeds higher than 9600 and is required for HSCSD. – hlovdal Jun 11 '18 at 22:36
  • FYI: The phone will automatically negotiate the RLP version to use with the MSC in the network, based on how the call is configured, e.g. a plain 9600 can be version 0, 1 or 2, while HSCSD speeds require version 2. RLP version cannot change during a call, so if the call starts version 2 and the mobile hands over to a network only supporting version 0/1 then the call will be dropped. – hlovdal Jun 11 '18 at 22:37