Activation Codes and Methods, Hardware Details, Sniffing
-
crisman
- Posts: 4
- Joined: 26 Jan 2013, 00:43
Post
by crisman » 26 Jan 2013, 00:48
Hello, I would like to share with you the info needed to support this new device.
Device is Onda TM201 sold by TIM Italy; it's a 14.4Mb device.
Initially, it appears with 0x1ee8 as vendor id and 0x0063 as product id.
This is my config file "1ee8:0063":
Code: Select all
# Onda TM201 14.4 (TIM Italy)
TargetVendor = 0x1ee8
TargetProduct = 0x0064
MessageEndpoint = 0x01
MessageContent = "555342431849128600000000000008FF000000000000030000000000000000"
this is the log of successful switch:
Code: Select all
Jan 25 23:38:52 L4pt0p logger: usb_modeswitch: using overriding config file /etc/usb_modeswitch.d/1ee8:0063; make sure this is intended
Jan 25 23:38:52 L4pt0p logger: usb_modeswitch: please report any new or corrected settings; otherwise, check for outdated files
Jan 25 23:38:52 L4pt0p usb_modeswitch: switching device 1ee8:0063 on 002/004
Jan 25 23:38:59 L4pt0p logger: usb_modeswitch: switched to 1ee8:0064 on 002/005
Best regards
Cristian
-
LOM
- Posts: 1404
- Joined: 11 Jul 2012, 15:14
- Location: Koh Samui, TH
Post
by LOM » 26 Jan 2013, 04:27
Can you please provide some more info about this device so it can be included in the linux drivers.
Output from lsusb -v -d 1ee8:0063 , lsusb -v -d 1ee8:0064 , and the Windows .inf files for the device.
You can usually find the .inf files in the directory where the Windows connection manager for the device has been installed, look for a driver subdir there.
-
crisman
- Posts: 4
- Joined: 26 Jan 2013, 00:43
Post
by crisman » 26 Jan 2013, 09:31
it's already supported, once switched it works with cdc_acm module
However this is lsusb -v -d 1ee8
Code: Select all
Bus 002 Device 005: ID 1ee8:0063
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1ee8
idProduct 0x0063
bcdDevice 0.01
iManufacturer 2
iProduct 1
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk (Zip)
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
and this is lsusb -v -d 1ee8
Code: Select all
Bus 002 Device 007: ID 1ee8:0064
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x1ee8
idProduct 0x0064
bcdDevice 0.01
iManufacturer 3
iProduct 2
iSerial 4
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 307
bNumInterfaces 9
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 0
bFunctionProtocol 0
iFunction 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 0
CDC Header:
bcdCDC 1.10
CDC ACM:
bmCapabilities 0x07
sends break
line coding and serial state
get/set/clear comm features
CDC Call Management:
bmCapabilities 0x03
call management
use DataInterface
bDataInterface 1
CDC Union:
bMasterInterface 0
bSlaveInterface 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0020 1x 32 bytes
bInterval 5
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
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 0x0200 1x 512 bytes
bInterval 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 2
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 0
bFunctionProtocol 0
iFunction 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 0
CDC Header:
bcdCDC 1.10
CDC ACM:
bmCapabilities 0x07
sends break
line coding and serial state
get/set/clear comm features
CDC Call Management:
bmCapabilities 0x03
call management
use DataInterface
bDataInterface 3
CDC Union:
bMasterInterface 2
bSlaveInterface 3
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0020 1x 32 bytes
bInterval 5
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 4
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 0
bFunctionProtocol 0
iFunction 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 6 Ethernet Networking
bInterfaceProtocol 0
iInterface 0
CDC Header:
bcdCDC 1.10
CDC Ethernet:
iMacAddress 1 (??)
bmEthernetStatistics 0x0000000f
wMaxSegmentSize 1514
wNumberMCFilters 0x0003
bNumberPowerFilters 1
CDC Union:
bMasterInterface 4
bSlaveInterface 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0020 1x 32 bytes
bInterval 5
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 5
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 5
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x86 EP 6 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 6
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk (Zip)
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 7
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 0
bFunctionProtocol 0
iFunction 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 7
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 2 Communications
bInterfaceSubClass 11 OBEX
bInterfaceProtocol 0
iInterface 0
CDC Header:
bcdCDC 1.10
CDC OBEX:
bcdVersion 1.00
CDC Union:
bMasterInterface 7
bSlaveInterface 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 8
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 8
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x88 EP 8 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x05 EP 5 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 32
Here you can find relative inf files:
Code: Select all
https://www.dropbox.com/sh/hq5fjzvpdk2lrk1/39wMQXQ6Xa
Regards
-
crisman
- Posts: 4
- Joined: 26 Jan 2013, 00:43
Post
by crisman » 26 Jan 2013, 10:37
Sometimes auto switching doesn't work and there is this error in my logs:
Code: Select all
Jan 26 09:33:02 L4pt0p usb_modeswitch_dispatcher: *** glibc detected *** usb_modeswitch_dispatcher: double free or corruption (!prev): 0x0956a760 ***
Jan 26 09:33:02 L4pt0p logger: usb_modeswitch: using overriding config file /etc/usb_modeswitch.d/1ee8:0063; make sure this is intended
Jan 26 09:33:02 L4pt0p abrt[3099]: Saved core dump of pid 3037 (/usr/sbin/usb_modeswitch_dispatcher) to /var/spool/abrt/ccpp-2013-01-26-09:33:02-3037 (638976 bytes)
it seems a bug in modeswitch code and I think is unrelated to the above switching config file.
I'm on Fedora 17 i686, kernel 3.7.3.
Let me know if you need more informations to correct this bug
Regards
-
bmork
- Posts: 167
- Joined: 15 Mar 2012, 22:47
- Location: Oslo, Norway
Post
by bmork » 26 Jan 2013, 11:52
crisman wrote:it's already supported, once switched it works with cdc_acm module
Yes, and probably also the cdc_ether module? Although I guess you need to use some magic vendor specific AT commands to actually be able to use that as there is no standard way to manage 3G CDC Ethernet connections. But if the modem works good enough with PPP over the ttyACMx ports then there really isn't any reason to mess with the cdc_ether interface, other than out of curiousity. Depends on how geeky you want to be
It is definitely good to see a device using standard USB classes like this, making it all just work with the Linux class drivers. No need to mess with vendor specific drivers and per-device entries to load them.
Bjørn
-
crisman
- Posts: 4
- Joined: 26 Jan 2013, 00:43
Post
by crisman » 26 Jan 2013, 12:53
bmork wrote:
Yes, and probably also the cdc_ether module?
correct, but device is not mine, so I just made it work under linux, so my friend can use it and I'm pleased to share the result with you. Actually I have no time to investigate the cdc_ether part...
-
LOM
- Posts: 1404
- Joined: 11 Jul 2012, 15:14
- Location: Koh Samui, TH
Post
by LOM » 26 Jan 2013, 14:55
Thank you very much for the lsusb listings and especially for the .inf files.
They contain interface usage info not only for this device but for another 10 or so devices - it will be useful in the future when other users have problem with one of those.
Last edited by
LOM on 26 Jan 2013, 16:39, edited 1 time in total.
-
Josh
- Site Admin
- Posts: 6572
- Joined: 03 Nov 2007, 00:30
Post
by Josh » 26 Jan 2013, 16:28
crisman wrote:Sometimes auto switching doesn't work and there is this error in my logs:
Code: Select all
Jan 26 09:33:02 L4pt0p usb_modeswitch_dispatcher: *** glibc detected *** usb_modeswitch_dispatcher: double free or corruption (!prev): 0x0956a760 ***
it seems a bug in modeswitch code and I think is unrelated to the above switching config file.
I'm on Fedora 17 i686, kernel 3.7.3.
Let me know if you need more informations to correct this bug
Since the original usb_modeswitch_dispatcher is a script (and not a binary program), Fedora seems to have made changes. This is clearly a case for a bug report to the Fedora packager.