Hi, on the working hardware (its an older h/w version ) we got it fixed by the H/W vendor to class "ff" and our request to change the class to "ff" was denied by the vendor for the newer version (reasons unknown). So, I am exploring the alternative methods to load the "usbserial-generic" for the newer hardware too. coming to your suggestion, how do I select the proper configuration? This modem Hardware has some storage space too. This is recognized as a storage device on WIN XP as well as Ubuntu. Thanks & regards Murali On Mon, 2010-03-08 at 09:42 +0800, Rajaram R wrote: > On Mon, Mar 8, 2010 at 8:39 AM, Murali K. Vemuri <murali@xxxxxxxxxxx> wrote: > > > > Hi, > > I am using linux kernel 2.6.19 ported onto a proprietary hardware. > > I am connecting a USB Modem that is being recognized by the driver as : > > "storage card". > > > > I did "cat /proc/bus/usb/devices" to find the information about the > > driver and found these lines: > > > > C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA > > I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 > > Driver=usb-storage > > > > I checked the same values for another modem which was working good for > > application: and I got this output: > > > > C:* #Ifs= 4 Cfg#= 1 Atr=80 MxPwr=500mA > > I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff > > Driver=usbserial_generic > > > > > > As you can see, the driver that is loaded in the working case is > > different from the non-working. > > Why your "modem" showing cls = 08 ? Is it a composite device ? i guess > you need to select the proper configuration. > > Is the device not working on a standard Linux PC ? > > > > > Is it possible to force load the drver as usbserial-generic? > > > > I tried to dig a little further to dump the following data structure for > > both the modems and to my surprise all the fields were same except > > bcdUSB. > > > > struct usb_device_descriptor { > > __u8 bLength; > > __u8 bDescriptorType; > > > > __le16 bcdUSB; > > __u8 bDeviceClass; > > __u8 bDeviceSubClass; > > __u8 bDeviceProtocol; > > __u8 bMaxPacketSize0; > > __le16 idVendor; > > __le16 idProduct; > > __le16 bcdDevice; > > __u8 iManufacturer; > > __u8 iProduct; > > __u8 iSerialNumber; > > __u8 bNumConfigurations; > > } __attribute__ ((packed)); > > > > Is there some other place where I can force the kernel to load the > > driver differently? > > > > Thanks in advance > > Murali > > -- > > 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 > > > -- 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