6/22/2012

If Host PC do not set DTR high on rmnet interface, how to set it to high by default in AMSS

Question: If Host PC do not set DTR high on rmnet interface, how to set it to high by default in AMSS.
Detail:A2 Rmnet interface depends on DTR high signal, it do not work if DTR low. In standard USB ECM driver(Linux/Mac), there is no operation for setting DTR in host driver side, so we call invoke_app_enable_disable_cbs directly in hsu_al_ecm_enabled_cb.



if (hsu_al_ecm_is_standard)

{

invoke_app_enable_disable_cbs(context_ptr);

}



When customer refer to ECM to implement QC rmnet driver in Linux/Mac, they are likely not set DTR high, thus invoke_app_enable_disable_cbs will never be called in hsu_al_ecm_set_control_line_state_cb.




BTW, when it's not set, MDM9200 could have problem like receive "1" byte no matter how long data packet is sent from host side.



Answer:

We could add a line in the end of hsu_al_ecm_enabled_cb.

hsu_al_ecm_set_control_line_state_cb(1, ctx).



Then it will be called when modem get SET_CONFIGURATION command during enumeration.

It's also a good idea to suggest customer add SET_DTR high command in host driver side.

No comments:

Post a Comment