>>
>>>
>>>     DBG("%p", modem);
>>>
>>> -   ofono_devinfo_create(modem, 0, "atmodem", data->pcui);
>>> -   sim = ofono_sim_create(modem, OFONO_VENDOR_HUAWEI,
>>> +   if (data->gsm == TRUE) {
>>> +           ofono_devinfo_create(modem, 0, "atmodem", data->pcui);
>>> +           sim = ofono_sim_create(modem, OFONO_VENDOR_HUAWEI,
>>>                                     "atmodem", data->pcui);
>>> +   } else {
>>> +           ofono_devinfo_create(modem, 0, "cdmamodem", data->pcui);
>>> +           /* Create sim atom only if sim is not embedded */
>>> +           if (data->sim_state != SIM_STATE_ROMSIM)
>>> +                   sim = ofono_sim_create(modem, OFONO_VENDOR_HUAWEI,
>>> +                                           "atmodem", data->pcui);
>> I am really not sure that it is a good idea to just use the GSM SIM atom
>> here. The EF structure will be different and we might cause more harm
>> than doing any good in assuming that we get any proper EF fields.
>>
>> This is clearly the part where we need detailed information from Huawei
>> on how this is suppose to work. And how this is suppose to be done for
>> CDMA in the first place anyway.
>
>I agree, maybe Deng Yin An could ask Huawei how they (plan to) support
>R-UIM in their modem e.g.
>- Do they have some commands to read UIM file system
>- And what does ROMSIM consist in (differences against R-UIM)?

Almost all CDMA modems in Chinese market support UIM/RUIM, including EC1261.
There're commands to check if UIM exists or ROMSIM exists.
The CDMA dongles support AT commands include those to touch SMS, address book,
the values includes field to see if it is from UIM/ROMSIM or NV inside dongle. 
But I didn't see a command to touch raw FS directly.

>
>>> +   }
>>>
>>>     if (sim&&  data->have_sim == TRUE)
>>>             ofono_sim_inserted_notify(sim, TRUE);
>>> @@ -670,6 +719,9 @@ static void huawei_post_sim(struct ofono_modem
>*modem)
>>>
>>>     DBG("%p", modem);
>>>
>>> +   if (data->gsm == FALSE)
>>> +           return;
>>> +
>>>     if (data->voice == TRUE) {
>>>             ofono_voicecall_create(modem, 0, "huaweimodem", data->pcui);
>>>             ofono_audio_settings_create(modem, 0,
>>> @@ -695,6 +747,15 @@ static void huawei_post_online(struct
>ofono_modem *modem)
>>>
>>>     DBG("%p", modem);
>>>
>>> +   if (data->gsm == FALSE) {
>>> +           ofono_cdma_netreg_create(modem, 0, "huaweicdmamodem",
>>> +                                           data->pcui);
>>> +
>>> +           ofono_cdma_connman_create(modem, OFONO_VENDOR_HUAWEI,
>>> +                                           "cdmamodem", data->modem);
>>> +           return;
>>> +   }
>>> +
>>>     ofono_netreg_create(modem, OFONO_VENDOR_HUAWEI,
>"atmodem", data->pcui);
>>>
>>>     ofono_cbs_create(modem, OFONO_VENDOR_QUALCOMM_MSM,
>> Lets do if (data->have_gsm ... and if (data->have_cdma ...) separate
>> here. I rather no degrade GSM to second class citizen.
>>
>> Regards
>>
>> Marce
>
>Kind regards,
>Guillaume
>_______________________________________________
>ofono mailing list
>[email protected]
>http://lists.ofono.org/listinfo/ofono
_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono

Reply via email to