On Thu, 2010-03-04 at 09:44 -0700, Pete Zaitcev wrote:
On Thu, 04 Mar 2010 01:50:21 +0530 Rahul Sundaram metherid@gmail.com wrote:
(adding linux-usb to cc:, see below)
Increasingly a number of broadband connections require usb_modeswitch to connect online
http://who-t.blogspot.com/2010/03/vodafone-australia-mobile-broadband-and.ht...
Any opposition to adding this to the base group?
I am strongly opposed. IMHO, using usb_modeswitch is not necessary, and we should not package its version 1.0.0 or any other version.
The root of the problem here is that someone thought it was a good idea to make the kernel chase Huawei IDs. But it's not. Even if the linux-next were taking the IDs as Huawei pops them, without any lag, the distro kernels simply have no chance to keep up.
Yeah, that's a dead-end. usb_modeswitch is better here since it can be update much more frequently.
Here is the log from Peter's blog:
usb 1-2: new high speed USB device using ehci_hcd and address 6 usb 1-2: New USB device found, idVendor=12d1, idProduct=1520 usb 1-2: New USB device strings: Mfr=3, Product=2, SerialNumber=0 usb 1-2: Product: HUAWEI Mobile usb 1-2: Manufacturer: HUAWEI Technology
So, the 0x1520. The 2.6.33 ends with 0x143f. No woder Peter resorts to usb_modeswitch! And what's the downside for him? My ulcers?
We ought to put a quirk in usb-storage that deals with Huawei in a particular way. I don't see how screenfuls of garbage in unusual_devs.h is any better than special-casing in usb_stor_acquire_resources.
If we do not do that, users will continue using usb_modeswitch, and then all the kernel code that deals with Huawei now amounts to useless waste.
The problem is that there are a ton more devices that need modeswitching than just Huawei, and upstream USB developers are refusing to take patches that add more devices to the kernel modeswitching code because they assert it should be done in userspace. Thus, usb_modeswitch is the only thing that can handle *all* modems that need modeswitching these days. Honestly we should just stop adding new Huawei IDs to unusual_devs, and just use usb_modeswitch.
Dan