2005-09-01 15:11:16

by genoni

[permalink] [raw]
Subject: HELP: unable to use I-MATE SP3 as USB (HTC) gprs modem



Hi,

I've got am I-mate SP3, running wince.

It works very well with every linux 2.6 kernel I tried (actually 2.6.13,
using the ipaq driver and synce. The phone is accessed trought ttyUSB0.

dmesg shows:

ipaq 1-1:1.0: PocketPC PDA converter detected
usb 1-1: PocketPC PDA converter now attached to ttyUSB0


in /proc/bus/usb/devices I read:

T: Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 24 Spd=12 MxCh= 0
D: Ver= 1.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs= 3
P: Vendor=0bb4 ProdID=0a51 Rev= 0.00
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ipaq
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
C: #Ifs= 1 Cfg#= 2 Atr=80 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
C: #Ifs= 1 Cfg#= 3 Atr=c0 MxPwr= 2mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms


But I have a big problem.

I should use as an USB gprs modem.

Since it is possible to configure it to be a (HTC) modem, using it's menu,
when I enable it to act as a modem on the usb port the content of
/proc/bus/usb/devices who refers to the phone changes to: I


T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 37 Spd=12 MxCh= 0
D: Ver= 1.00 Cls=02(comm.) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0bb4 ProdID=00cf Rev= 0.90
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=02(comm.) Sub=ff Prot=ff Driver=(none)
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=86(I) Atr=03(Int.) MxPS= 16 Ivl=80ms

The hotplug does not work anymore using the ipaq driver (as I exspected),
and the device is not attacched to ttyUSB0.

I read Cls=02(comm.). I suppose there should be a way to use something
like cdc-acm driver. Unfortunatelly this driver does not seem to like my
phone.
All I get is a sad:

usb 1-1: new full speed USB device using uhci_hcd and address 39


Is there a way to solve this problem and to use I-mate SP3 smartphone as
gprs modem for linux or should I surrender?

Thanx in advance

Luigi Genoni




2005-09-01 20:22:05

by Luigi Genoni

[permalink] [raw]
Subject: Re: HELP: unable to use I-MATE SP3 as USB (HTC) gprs modem

lsusb -v gives:

Bus 001 Device 003: ID 0bb4:00cf High Tech Computer Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0bb4 High Tech Computer Corp.
idProduct 0x00cf
bcdDevice 0.90
iManufacturer 0
iProduct 0
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 2 Communications
bInterfaceSubClass 255
bInterfaceProtocol 255
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x86 EP 6 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 80

As I said, cdc-acm is not satisfied with this kind of device. I do not know
how to make it work. Also usbserial didn't work. How could I make them work?

Please, note that the same command, used when the gprs modem is disabled (so i
am using ipaq module in this case), gives:

Bus 001 Device 005: ID 0bb4:0a51 High Tech Computer Corp. SPV C400 / T-Mobile
SDA GSM/GPRS Pocket PC
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 255 Vendor Specific Subclass
bDeviceProtocol 255 Vendor Specific Protocol
bMaxPacketSize0 64
idVendor 0x0bb4 High Tech Computer Corp.
idProduct 0x0a51 SPV C400 / T-Mobile SDA GSM/GPRS Pocket PC
bcdDevice 0.00
iManufacturer 0
iProduct 0
iSerial 0
bNumConfigurations 3
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 2
iConfiguration 0
bmAttributes 0x80
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 3
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 2mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0

which is, for what I understand (not to mutch to say the truth) really
different.

Obviously I will be happy to make all the test you will ask me.

Luigi Genoni

On Thursday 01 September 2005 19:32, Vojtech Pavlik wrote:
> On Thu, Sep 01, 2005 at 07:22:04PM +0200, Oliver Neukum wrote:
> > > I should use as an USB gprs modem.
> > >
> > > Since it is possible to configure it to be a (HTC) modem, using it's
> > > menu, when I enable it to act as a modem on the usb port the content of
> > > /proc/bus/usb/devices who refers to the phone changes to: I
> > >
> > >
> > > T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 37 Spd=12 MxCh= 0
> > > D: Ver= 1.00 Cls=02(comm.) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
> > > P: Vendor=0bb4 ProdID=00cf Rev= 0.90
> > > C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
> > > I: If#= 0 Alt= 0 #EPs= 3 Cls=02(comm.) Sub=ff Prot=ff Driver=(none)
> > > E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
> > > E: Ad=03(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
> > > E: Ad=86(I) Atr=03(Int.) MxPS= 16 Ivl=80ms
> > >
> > > The hotplug does not work anymore using the ipaq driver (as I
> > > exspected), and the device is not attacched to ttyUSB0.
> > >
> > > I read Cls=02(comm.). I suppose there should be a way to use something
> > > like cdc-acm driver. Unfortunatelly this driver does not seem to like
> > > my phone.
> > > All I get is a sad:
> > >
> > > usb 1-1: new full speed USB device using uhci_hcd and address 39
> > >
> > >
> > > Is there a way to solve this problem and to use I-mate SP3 smartphone
> > > as gprs modem for linux or should I surrender?
> >
> > Is there just one interface?
> > If so, looks like somebody tried to be clever and collapsed the control
> > and the data interfaces of the acm specification. The ACM driver can be
> > hacked to support that.
>
> That is, if the ACM command set actually works, otherwise it's a job for
> usb-serial.
>
> > Can you confirm that there's just one interface and no extra descriptors?
> > (lsusb -v)
> >
> > Regards
> > Oliver