Activation Codes and Methods, Hardware Details, Sniffing
Post Reply
crisman
Posts: 4
Joined: 26 Jan 2013, 00:43

New Device Onda TM201

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

Re: New Device Onda TM201

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

Re: New Device Onda TM201

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:0063:

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:0064:

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

Re: New Device Onda TM201

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

Re: New Device Onda TM201

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

Re: New Device Onda TM201

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

Re: New Device Onda TM201

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

Re: New Device Onda TM201

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.

Post Reply