Re: qcserial: AT unsolicited response codes missing with Dell Wireless 5808e

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 31, 2015 at 07:18:05PM +0000, Ward, David - 0665 - MITLL wrote:
> On 01/06/2015 03:58 AM, Bjørn Mork wrote:
> > Johan Hovold <johan@xxxxxxxxxx> writes:
> >
> >> Ok, let's move the PID to option and if it turns out that more of these
> >> devices require the modem-control signals (e.g. with more recent
> >> firmware) we can consider moving it back after adding such support to
> >> qcserial.
> >>   
> >> Bjørn, do you see any problems with this? Are there more interface
> >> layouts for these devices out there perhaps (making options blacklisting
> >> a bad fit)?
> > No, I don't see any problem.  It seems like the reasonable thing to do.
> > I would have added these devices to the option driver in the first place
> > had I known about the setup requirements.  Sorry for not catching that
> > earlier.  And thanks to Reinhard for tracking this down.
> >
> > There are plenty of different interface layouts for these devices, but
> > Sierra Wireless use consistent interface numbering for different
> > functions, so the blacklist_info should work fine regardless.
> >
> > Note however that these devices also have multiple PID identities (and
> > possibly also different VIDs?). The other identities may or may not have
> > similar issues with the qcserial driver. I don't know. But some of these
> > identities are shared with other devices, which complicates matters a
> > bit.
> >
> 
> This also affects the Dell Wireless 5808e, a branded version of the 
> Sierra Wireless EM7355. Again, moving it from the qcserial driver to the 
> option driver, which calls send_setup, allows URCs to appear.
> 
> Is it possible to test if the MC7710 also works with the option driver 
> (does send_setup cause problems with it)? If that still works, are there 
> any reasons not to move all of the devices using the Sierra Wireless 
> layout (DEVICE_SWI) from the qcserial driver to the option driver?
> 
> David

Hi David,

due to lack of time I could not test your patch

> diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> index 876423b..035335c 100644
> --- a/drivers/usb/serial/option.c
> +++ b/drivers/usb/serial/option.c
> @@ -1098,4 +1098,6 @@ static const struct usb_device_id option_ids[] = {
>  	{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */
>  	{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000)}, /* SIMCom SIM5218 */
> +	{ USB_DEVICE_INTERFACE_CLASS(SIERRA_VENDOR_ID, 0x68a2, 0xff),
> +	  .driver_info = (kernel_ulong_t)&sierra_mc73xx_blacklist }, /* MC7710 */
>  	{ USB_DEVICE_INTERFACE_CLASS(SIERRA_VENDOR_ID, 0x68c0, 0xff),
>  	  .driver_info = (kernel_ulong_t)&sierra_mc73xx_blacklist }, /* MC73xx */
> diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c
> index ebcec8c..7b0de41 100644
> --- a/drivers/usb/serial/qcserial.c
> +++ b/drivers/usb/serial/qcserial.c
> @@ -143,5 +143,4 @@ static const struct usb_device_id id_table[] = {
>  	{DEVICE_SWI(0x0f3d, 0x68a2)},	/* Sierra Wireless MC7700 */
>  	{DEVICE_SWI(0x114f, 0x68a2)},	/* Sierra Wireless MC7750 */
> -	{DEVICE_SWI(0x1199, 0x68a2)},	/* Sierra Wireless MC7710 */
>  	{DEVICE_SWI(0x1199, 0x901c)},	/* Sierra Wireless EM7700 */
>  	{DEVICE_SWI(0x1199, 0x901f)},	/* Sierra Wireless EM7355 */
> -- 
> 1.7.1

you sent me yesterday. I checked however using

# rmmod qcserial 
# modprobe option 
# echo 1199 68a2 > /sys/bus/usb-serial/drivers/option1/new_id 

that AT URCs with a MC7710 still work when option_send_setup() is used.

Since AT URCs already work with the qcserial driver for the MC7710
"out of the box"

at+gmr
SWI9200X_03.05.29.03ap r6485 CNSHZ-ED-XP0031 2014/12/02 17:53:15
OK
at+cscs="GSM"
OK
at+cusd=1,"*101#",15
OK

+CUSD: 0,"Ihr Guthaben betr{gt: 42,00. Jetzt auch Ihr Guthaben aufladen: einfach *103*Aufladenummer# und die H|rertaste eingeben.",15

my suggestion would be to keep the MC77xx in the qcserial driver to
avoid having to add additional blacklist entries. The current
version of your patch incorrectly uses the MC73xx blacklist also for
the MC77xx which would cause the option driver to bind to the MC77xx
QMI interfaces on USB IF 19 and 20 which it should not do.

Instead of moving the MC77xx to the option driver it might be more
worthwhile to check whether other EM7305/EM7355-based devices like the
recently added Dell Wireless 5809e device are also affected by the
missing AT URCs and should be moved from the qcserial to the option driver.

Regards,
Reinhard
--
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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux