Motorola V325i and V323i

From Noah.org
Revision as of 06:34, 4 November 2008 by Root (talk | contribs)
Jump to navigationJump to search

Eventually I gave up on `kmobiletools`. I just connected manually using a terminal. I used `screen`, but you could also use `minicom` or whatever you like. First confirm that when you plug your phone into the USB port that it shows up as /dev/ttyACM0.

screen /dev/ttyACM0 19200,cs8,-parenb,-cstopb,-hupcl
ATZ                                                                             
OK                                                                              
AT+MPIN                                                                         
ERROR                                                                           
AT+MODE?                                                                        
+MODE: 0                                                                        
                                                                                
OK                                                                              
AT+MODE=2                                                                       
OK                                                                              
                                                                                
+MBAN: Copyright 2000-2004 Motorola, Inc.                                       
AT+CPBS=?                                                                       
+CPBS: ("ME","SM","MT","ON","DC","MC","RC","AD","QD")                           
                                                                                
OK
AT+CPBS=AD                                                                      
OK
AT+MPBR=?                                                                       
+MPBR: 1-500,32,24,10,0-21,48,(0,5-9,11-15,30,32-35,38-42,59-92,255),(0),(0-1),0
                                                                                
OK
AT+MPBR=1
+MPBR: 1,"*86",129,"Voicemail",3,0,255,0,1,1,255,255,0,"",0,0,"","","","","","","","",""

OK
AT+MPBR=2
+MPBR: 2,"4155559533",129,"Tee Cell",3,0,255,255,1,1,255,0,0,"",0,0,"","","","","","","","",""

OK
AT+MPBR=3
+MPBR: 3,"4155559541",129,"Dad",3,0,255,255,1,1,255,0,0,"",0,0,"","","","","","","","",""

OK
AT+MPBF="D"
+MPBF: 3,"4155559541",129,"Dad",3,0,255,255,1,1,255,0,0,"",0,0,"","","","","","","","",""                                                                                           
                                                                                                                                                                                   
+MPBF: 4,"4155555286",129,"Dad temp",3,0,255,0,1,1,255,255,0,"",0,0,"","","","","","","","",""                                                                                     
                                                                                                                                                                                   
OK
AT+MPBR=1,500                                                                                                                                                                      
+MPBR: 1,"*86",129,"Voicemail",3,0,255,0,1,1,255,255,0,"",0,0,"","","","","","","","",""                                                                                           
                                                                                                                                                                                   
+MPBR: 2,"4155559533",129,"Tee Cell",3,0,255,255,1,1,255,0,0,"",0,0,"","","","","","","","",""                                                                              
                                                                                                                                                                                   
+MPBR: 3,"4155559541",129,"Dad",3,0,255,255,1,1,255,0,0,"",0,0,"","","","","","","","",""                                                                                           

+MPBF: 4,"4155555286",129,"Dad temp",3,0,255,0,1,1,255,255,0,"",0,0,"","","","","","","","",""                                                                                     
                                                                                                                                                                                   
+MPBR: 5,"4155165991",129,"Matt",3,0,255,255,1,1,255,0,0,"",0,0,"","","","","","","","",""                                                                                    
                                                                                                                                                                                  
+MPBR: 498,"#225",129,"#BAL",3,0,255,0,1,1,255,255,0,"",0,0,"","","","","","","","",""                                                                                             
                                                                                                                                                                                   
+MPBR: 499,"#646",129,"#MIN",3,0,255,0,1,1,255,255,0,"",0,0,"","","","","","","","",""                                                                                             
                                                                                                                                                                                   
+MPBR: 500,"#768",129,"#PMT",3,0,255,0,1,1,255,255,0,"",0,0,"","","","","","","","",""                                                                                             

Search Google for "Motorola AT commands".

Stuff that didn't work

I managed to get KMobileTools to talk to a Motorola V323i/V325i mobile phone. It was not hard, but it was very flaky. Sometimes it would work. Sometimes it would not.

The V323i appears to use an ordinary USB-to-MiniUSB connector. This will also charge the phone from a USB port.

Verify that the following device appears when you plug in the phone:

## Without the phone plugged in:
# ls -l /dev/ttyACM0
ls: /dev/ttyACM0: No such file or directory
## With the phone plugged in:
root@alpha: /root 2
# ls -l /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0 2008-11-02 12:39 /dev/ttyACM0

device drivers

You should not need to install any device drivers to support this mobile phone. For reference, this phone supports "USB Communication Device Class - Abstract Control Model" (USB CDC-ACM). The kernel module for this is pretty standard (see usb_core and cdc_acm). The CDC-ACM interface basically means that your USB device will look and act like an old-fashioned modem at support "AT" commands. Some phones show up as "CDC-ECM" which means that they look and act just like an Ethernet NIC. It's possible to switch the V323i into ECM mode.

You can verify that you have the ACM module by looking at `lsmod`:

$ lsmod  | grep -i acm
cdc_acm                17184  0 
usbcore               138632  10 cdc_acm,hci_usb,usb_storage,libusual,usbhid,xpad,appleir,ehci_hcd,uhci_hcd

log files

Keep an eye on /var/log/messages. The same information may also appear separately in /var/log/ker.log. Watch whichever one seems to work. When you plug in the phone you should see something like this:

# tail -f /var/log/messages
Nov  2 12:48:10 alpha kernel: [356011.220000] usb 5-6.2: new full speed USB device using ehci_hcd and address 48
Nov  2 12:48:10 alpha kernel: [356011.364000] usb 5-6.2: configuration #1 chosen from 2 choices
Nov  2 12:48:10 alpha kernel: [356011.364000] cdc_acm 5-6.2:1.0: ttyACM0: USB ACM device

Similar, but different information may also appear in /var/log/syslog:

Nov  2 12:56:21 alpha kernel: [356501.536000] usb 5-6.2: new full speed USB device using ehci_hcd and address 50
Nov  2 12:56:21 alpha kernel: [356501.676000] usb 5-6.2: configuration #1 chosen from 2 choices
Nov  2 12:56:21 alpha kernel: [356501.676000] cdc_acm 5-6.2:1.0: ttyACM0: USB ACM device
Nov  2 12:56:21 alpha NetworkManager: <debug> [1225659381.236345] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_22b8_2ac2_noserial'). 
Nov  2 12:56:21 alpha NetworkManager: <debug> [1225659381.312379] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_ffffffff_ffffffff_noserial'). 

The `lsusb` command is also your friend:

# lsusb -d 22b8:
Bus 005 Device 048: ID 22b8:2ac2 Motorola PCS

verbose USB information

This is a verbose dump of just the device with Motorola's vendor ID:

# lsusb -v -d 22b8:

Bus 005 Device 048: ID 22b8:2ac2 Motorola PCS 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            2 Communications
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        16
  idVendor           0x22b8 Motorola PCS
  idProduct          0x2ac2 
  bcdDevice            0.01
  iManufacturer           1 Motorola, Inc.
  iProduct                2 Motorola A41x/V32x
  iSerial                 0 
  bNumConfigurations      2
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           67
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xc0
      Self Powered
    MaxPower              500mA
    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              4 Motorola Communication Interface
      CDC Header:
        bcdCDC               1.09
      CDC Call Management:
        bmCapabilities       0x03
          call management
          use DataInterface
        bDataInterface          1
      CDC ACM:
        bmCapabilities       0x0f
          connection notifications
          sends break
          line coding and serial state
          get/set/clear comm features
      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     0x0010  1x 16 bytes
        bInterval              32
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface              4 Motorola Communication Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8a  EP 10 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     0x0b  EP 11 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           67
    bNumInterfaces          2
    bConfigurationValue     2
    iConfiguration          0 
    bmAttributes         0xc0
      Self Powered
    MaxPower              100mA
    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              4 Motorola Communication Interface
      CDC Header:
        bcdCDC               1.09
      CDC Call Management:
        bmCapabilities       0x03
          call management
          use DataInterface
        bDataInterface          1
      CDC ACM:
        bmCapabilities       0x0f
          connection notifications
          sends break
          line coding and serial state
          get/set/clear comm features
      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     0x0010  1x 16 bytes
        bInterval              32
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface              4 Motorola Communication Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8a  EP 10 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     0x0b  EP 11 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)