[PATCH 5/8][RFC] STATUS, FETCH and TERMINAL RESPONSE for AT driver.

Denis Kenzior denkenz at gmail.com
Wed Mar 17 13:56:27 PDT 2010


Hi Andrew,

> Fix ENVELOPE implementation.
> @@ -753,7 +794,7 @@ static void at_sim_envelope(struct ofono_sim *sim, int
>  length, ofono_sim_read_cb_t cb, void *data)
>  {
>  	struct sim_data *sd = ofono_sim_get_data(sim);
> -	struct cb_data *cbd = cb_data_new(cb, data);
> +	struct sim_cb_data *cbd = sim_cb_data_new(sd, cb, data);
>  	char *buf = g_try_new(char, 64 + length * 2);
>  	int len, ret;
> 
> @@ -761,12 +802,14 @@ static void at_sim_envelope(struct ofono_sim *sim,
>  int length, goto error;
> 
>  	len = sprintf(buf, "AT+CSIM=%i,A0C20000%02hhX",
> -			10 + length * 2, length);
> +			12 + length * 2, length);
> 
>  	for (; length; length--)
>  		len += sprintf(buf + len, "%02hhX", *command++);
> 
> -	ret = g_at_chat_send(sd->chat, buf, crsm_prefix,
> +	len += sprintf(buf + len, "FF");
> +
> +	ret = g_at_chat_send(sd->chat, buf, csim_prefix,
>  				at_csim_envelope_cb, cbd, g_free);

I really need more detailed explanation why appending FF here is necessary.  
And this really belongs in a separate patch.

> 
>  	g_free(buf);
> @@ -785,6 +828,219 @@ error:
>  	CALLBACK_WITH_FAILURE(cb, NULL, 0, data);
>  }
> 
> 

Regards,
-Denis


More information about the ofono mailing list