Hi again,

On 20/12/2011 12:02, Guillaume Zajac wrote:
Hi Deng,

On 20/12/2011 09:44, Deng, Ying An wrote:



We are facing a problem in oFono when using 3G modems:

A CDMA2000 modem can have same PID with WCDMA modem, or TDS-CDMA modem – 3G modem vendors already confirm they do that.

That’s to say, if following current strategy, it will be a problem to install proper driver for this kind of 3G modem.


So, is it feasible to find out a solution such as to probe the modem firstly, find out what kind of network modes it supports, and then install the driver?

The way to probe the modem could be some action as to read the capability or get system mode, or issue some specific AT command that only response to certain network mode?


Indeed, we could use for Huawei modems for instance the AT^SYSINFO command and retrieve the sys_mode field and parse it, I have found this in public Huawei specifications:

<sys_mode>: System mode. The values are as follows:
0 No service.
1 AMPS mode
2 CDMA mode
3 GSM/GPRS mode
4 HDR mode
5 WCDMA mode

Thus we can chose accordingly the drivers to create oFono atoms.

After some investigations, it seems SYSINFO won't be enough to get the modem type because with this AT command we will have to be registered to the network to get the system mode.
The only way I found until now is using the AT+GCAP to check whether the modem is CDMA or GSM type.
However if we do the AT+GCAP request for each constructor plugin (huawei, zte, ...) it will bring some duplicated code.
Does someone see any better solution?


Kind regards,