Hi,
I've been looking into an issue with network interfaces failing to come
up on a particular NCM device, a Nokia 701 mobile phone. The issue is
that the phone does not send the ConnectionSpeedChange and
NetworkConnection notifications (NCM specification section 6.3) if the
host isn't trying to read from the control interrupt endpoint in the
first few seconds after the data interface alternate setting is selected.
This results in the behavior of the network interface always remaining
disconnected unless you bring the interface up immediately after the
device is connected.
Before I submit a patch I wanted to check the preferred solution for the
Linux CDC NCM driver. I can think of a few solutions and thought it best
to get feedback instead of just submitting a patch without discussion.
The way I'm currently working around this issue is to add a
cdc_ncm_reset to the cdc_ncm_info and moving the setting of the data
interface alternate setting (and related code) from cdc_ncm_bind to
cdc_ncm_reset. Does this seem the sensible solution?
The other possibility I was thinking of was to add a list of quirky
devices to the NCM driver, much like the mass storage unusual device
table, but this seems like it would needlessly complicate the driver.
Or are both of these suggestions undesirable and we should just work
around this issue in user-space by making sure to bring up the interface
quickly enough.
Regards,
Toby
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html