Re: Slow mobile broadband detection



On Sat, 2011-07-02 at 14:10 +0100, Sérgio Basto wrote:
> On Thu, 2011-06-30 at 12:21 -0500, Dan Williams wrote: 
> > On Sun, 2011-06-19 at 15:48 +0200, D. Guandalino wrote:
> > > Hi, any news?
> > 
> > If you're able to test a kernel patch, try this for the option driver.
> > If that works for you I'll submit it upstream.
> > 
> > diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> > index 4e7d3b4..bcd6e90 100644
> > --- a/drivers/usb/serial/option.c
> > +++ b/drivers/usb/serial/option.c
> > @@ -441,6 +441,13 @@ static const struct option_blacklist_info alcatel_x200_blacklist = {
> >  	.reason = OPTION_BLACKLIST_SENDSETUP
> >  };
> >  
> > +static const u8 zte_0037_no_sendsetup[] = { 0, 1 };
> > +static const struct option_blacklist_info zte_0037_blacklist = {
> > +	.infolen = ARRAY_SIZE(zte_0037_no_sendsetup),
> > +	.ifaceinfo = zte_0037_no_sendsetup,
> > +	.reason = OPTION_BLACKLIST_SENDSETUP
> > +};
> > +
> 
> Hi, 
> I try this on my MF622, 
> Looking the code, this function do the same of four_g_w14_blacklist ? 

Yes, basically.  The only possible difference is the specific USB
interfaces that cause the issue.  On all the devices we've blacklisted
so far, that's only interfaces 0 and 1.  But that's not necessarily the
case for all devices out there.

So there's possibility for simplifying the option driver's blacklist
quite a bit; we should really just have a few set blacklists that aren't
device specific, but are USB port specific.  But let me know if this
works for you and then we can upstream this.

Dan


> static const u8 four_g_w14_no_sendsetup[] = { 0, 1 };                                                                                      
> static const struct option_blacklist_info four_g_w14_blacklist = {                                                                         
>     .infolen = ARRAY_SIZE(four_g_w14_no_sendsetup),                                                                                        
>     .ifaceinfo = four_g_w14_no_sendsetup,                                                                                                  
>     .reason = OPTION_BLACKLIST_SENDSETUP                                                                                                   
> };
> 
> so, I do this patch and compile fedora kernel 2.6.38.6-27 with the
> follow patch , but I don't got any improvement on speed detection: 
> 
> --- a/drivers/usb/serial/option.c.old   2011-07-02 12:29:34.033264728 +0100
> +++ b/drivers/usb/serial/option.c       2011-07-02 12:39:06.229743172 +0100
> @@ -622,7 +622,8 @@
>         { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6008) },
>         { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864E) },
>         { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864G) },
> -       { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF622, 0xff, 0xff, 0xff) }, /* ZTE WCDMA products */
> +       { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF622, 0xff, 0xff, 0xff), 
> +        .driver_info = (kernel_ulong_t)&four_g_w14_blacklist  }, /* ZTE WCDMA products */
>         { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0002, 0xff, 0xff, 0xff) },
>         { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0003, 0xff, 0xff, 0xff) },
>         { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0004, 0xff, 0xff, 0xff) },
> @@ -656,12 +657,13 @@
>         { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0028, 0xff, 0xff, 0xff) },
>         { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0029, 0xff, 0xff, 0xff) },
>         { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0030, 0xff, 0xff, 0xff) },
> -       { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF626, 0xff,
> -         0xff, 0xff), .driver_info = (kernel_ulong_t)&four_g_w14_blacklist },
> +       { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF626, 0xff, 0xff, 0xff), 
> +        .driver_info = (kernel_ulong_t)&four_g_w14_blacklist },
>         { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0032, 0xff, 0xff, 0xff) },
>         { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0033, 0xff, 0xff, 0xff) },
>         { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0034, 0xff, 0xff, 0xff) },
> -       { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0037, 0xff, 0xff, 0xff) },
> +       { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0037, 0xff, 0xff, 0xff),
> +        .driver_info = (kernel_ulong_t)&four_g_w14_blacklist },
>         { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0038, 0xff, 0xff, 0xff) },
>         { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0039, 0xff, 0xff, 0xff) },
>         { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0040, 0xff, 0xff, 0xff) }
> 
> > static const struct usb_device_id option_ids[] = {
> >  	{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
> >  	{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) },
> > @@ -671,7 +678,9 @@ static const struct usb_device_id option_ids[] = {
> >  	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0032, 0xff, 0xff, 0xff) },
> >  	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0033, 0xff, 0xff, 0xff) },
> >  	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0034, 0xff, 0xff, 0xff) },
> > -	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0037, 0xff, 0xff, 0xff) },
> > +	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0037, 0xff, 0xff, 0xff),
> > +	  .driver_info = (kernel_ulong_t)&zte_0037_blacklist
> > +	},
> >  	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0038, 0xff, 0xff, 0xff) },
> >  	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0039, 0xff, 0xff, 0xff) },
> >  	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0040, 0xff, 0xff, 0xff) },
> > 
> > 
> 
> Best regards, 




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