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