On Mon, May 14, 2012 at 06:14:14PM +0300, Olli Helin wrote: > > > I recently got myself a 3G USB modem, which uses the usbserial driver. > > > I have to give the usbserial module the vendor and product IDs as > > > command line arguments for the driver to work with my modem. > > > > Stop right there. Why do you need to do this? You shouldn't, it should > > "just work" without this. What type of device is this, and what driver > > are you adding the device id to (hint, it can't be the generic > > usb-serial one, that is not for a "real" device, but only for testing.) > > It indeed is the generic usb-serial one. Ick, that makes use of it very slow, as the generic usb-serial driver is designed to be slow and not for real devices at all. > The device in question is > Telewell TW-3G HSPA+, and I'm loading usbserial with vendor=0x1c9e > product=0x9801 to get it to work. It is a "traditional" 3G modem which > is seen as a CD rom device first, and as a modem after modeswitch. > However, it doesn't have usb_modeswitch rules readily available > (that's why it does not "just work"), so I made one for myself. I know > I should submit it to usb_modeswitch devs, however I haven't yet as > using the usbserial driver for it seemed quite weird, and I started > testing with a custom Gobi Serial driver first. With it everything > seems to work fine. When using the usbserial driver, with my Ubuntu > 10.04 and its older kernel (2.6.x) the system was frozen until I > disconnected the modem. Using Gentoo with 3.x kernel, both usbserial > and Gobi Serial work. The manufacturer says that it is a known problem > "with older kernels and their usbserial module"; about more specific > version numbers I have no clue. That's really wierd, and I do not know of any such "known problems" at all. It would be nice if the vendors actually talked to the people supporting and writing their drivers, now wouldn't it :( > > > My 3G modem actually worked with the Gobi Serial (CodeAurora) driver > > > after setting the device ID in the MODULE_DEVICE_TABLE, so I wouldn't > > > have a problem right now even if I had another device using the > > > usbserial driver directly. I also understand this would be a rare > > > situation and hardly a practical problem, but I'm just asking. > > > > Care to send a patch that adds your device id to this driver so it will > > work for everyone? > > I downloaded the Gobi Serial driver "template" from CodeAurora home > page, added the product info USB_DEVICE( 0x1c9e, 0x9801 ), and added > an include clause for compiling on Linux 3.x. So far no problems. What > would be the correct module to patch in the Linux kernel then? I guess > USB Qualcomm Serial modem, no? No, try the option driver. You can add the device id to the new_id sysfs file for the driver and see if that works out properly. If so, create a patch following the information in the Documentation/SubmittingPatches file and send it to us so I can apply it. > > And as for a solution, again, the generic usb-serial driver is not for a > > real device, that is why it can accept only one device id through the > > module parameters. > > I guess the hardware manufacturers have abused the ability to give > modules parameters then, huh? It looks like they have. > They specifically instruct one to use the usbserial driver with the > module parameters for their device. The information about using the > Gobi Serial driver I only got after asking them what's the deal with > using the generic usbserial driver. Where online is this information? And yes, it sounds completely incorrect and wrong. thanks, greg k-h -- 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