# Sony Ericson / USB phone  [UNSOLVED/TERMINATED]

## HeXiLeD

Related to Sony Ericson / Bluetooth phone

Brand /Model:

http://phone.mobile9.com/img/sony-ericsson-z520-3.jpg

http://www.gsmarena.com/sony_ericsson_z520-1202.php

If you read the related topic about this phone, now i am also trying to set it up by usb.

And i seem to lack some driver  for its support.

This is what usbview shows me:

```
Sony Ericsson Z520

Manufacturer: Sony Ericsson

Serial Number: 357197002378357_0

Speed: 12Mb/s (full)

USB Version:  2.00

Device Class: 02(comm.)

Device Subclass: 00

Device Protocol: 00

Maximum Default Endpoint Size: 64

Number of Configurations: 1

Vendor Id: 0fce

Product Id: d025

Revision Number:  0.00

Config Number: 1

   Number of Interfaces: 8

   Attributes: 80

   MaxPower Needed: 500mA

   Interface Number: 0

      Name: (none)

      Alternate Number: 0

      Class: 02(comm.) 

      Sub Class: 8

      Protocol: 0

      Number of Endpoints: 0

   Interface Number: 1

      Name: cdc_acm

      Alternate Number: 0

      Class: 02(comm.) 

      Sub Class: 2

      Protocol: 1

      Number of Endpoints: 1

         Endpoint Address: 81

         Direction: in

         Attribute: 3

         Type: Int.

         Max Packet Size: 16

         Interval: 16ms

   Interface Number: 2

      Name: cdc_acm

      Alternate Number: 0

      Class: 0a(data ) 

      Sub Class: 0

      Protocol: 0

      Number of Endpoints: 2

         Endpoint Address: 02

         Direction: out

         Attribute: 2

         Type: Bulk

         Max Packet Size: 64

         Interval: 0ms

         Endpoint Address: 82

         Direction: in

         Attribute: 2

         Type: Bulk

         Max Packet Size: 64

         Interval: 0ms

   Interface Number: 3

      Name: cdc_acm

      Alternate Number: 0

      Class: 02(comm.) 

      Sub Class: 2

      Protocol: 1

      Number of Endpoints: 1

         Endpoint Address: 83

         Direction: in

         Attribute: 3

         Type: Int.

         Max Packet Size: 16

         Interval: 16ms

   Interface Number: 4

      Name: cdc_acm

      Alternate Number: 0

      Class: 0a(data ) 

      Sub Class: 0

      Protocol: 0

      Number of Endpoints: 2

         Endpoint Address: 04

         Direction: out

         Attribute: 2

         Type: Bulk

         Max Packet Size: 64

         Interval: 0ms

         Endpoint Address: 84

         Direction: in

         Attribute: 2

         Type: Bulk

         Max Packet Size: 64

         Interval: 0ms

   Interface Number: 5

      Name: (none)

      Alternate Number: 0

      Class: 02(comm.) 

      Sub Class: 0

      Protocol: 0

      Number of Endpoints: 0

   Interface Number: 6

      Name: (none)

      Alternate Number: 0

      Class: 0a(data ) 

      Sub Class: 0

      Protocol: 0

      Number of Endpoints: 0

   Interface Number: 6

      Name: (none)

      Alternate Number: 1

      Class: 0a(data ) 

      Sub Class: 0

      Protocol: 0

      Number of Endpoints: 2

         Endpoint Address: 05

         Direction: out

         Attribute: 2

         Type: Bulk

         Max Packet Size: 64

         Interval: 0ms

         Endpoint Address: 85

         Direction: in

         Attribute: 2

         Type: Bulk

         Max Packet Size: 64

         Interval: 0ms

   Interface Number: 7

      Name: (none)

      Alternate Number: 0

      Class: 02(comm.) 

      Sub Class: 9

      Protocol: 1

      Number of Endpoints: 1

         Endpoint Address: 86

         Direction: in

         Attribute: 3

         Type: Int.

         Max Packet Size: 16

         Interval: 16ms
```

It also shows itself in red; and that kinda tells me that i am missing some "support" for it.

So far i belive i have most support for it in the kernel :

 *Quote:*   

> <*> Support for Host-side USB                                                                 
> 
> [ ]   USB verbose debug messages  
> 
> ---   Miscellaneous USB options       
> ...

 

 *Quote:*   

> <*> SCSI device support                                                                      
> 
> [*]   legacy /proc/scsi/ support                                                                
> 
> ---   SCSI support type (disk, tape, CD-ROM)                                                     
> ...

 

#lsmod 

```
Module                  Size  Used by

lp                     10440  0

parport                24320  1 lp

usb_storage            56000  0

usbhid                 29444  0

usblp                  12544  0

quickcam               69800  0

vmmon                 143244  0

vmnet                  38168  3

arpstar                 9116  0

sk98lin               182140  0

8139too                24064  0

nvidia               4849776  12
```

# dmesg 

```
usb 2-2: new full speed USB device using uhci_hcd and address 7

cdc_acm 2-2:1.1: ttyACM0: USB ACM device

cdc_acm 2-2:1.3: ttyACM1: USB ACM device
```

Another detail that might be or not related to this is about usbd.

everyting its starts i get :

```
FATAL: Module acm not found.

FATAL: Module usb_scsi not found.
```

in fact i always had this message. So today i decied to check things  and compile acm in the kernel as (*)

I found out that the phone needs to use acm as u can see in the usbview output as: 

 *Quote:*   

> Interface Number: 1
> 
> Name: cdc_acm

 

# dmesg also shows me extra info since i compiled  the driver:

 *Quote:*   

> cdc_acm 2-2:1.1: ttyACM0: USB ACM device

 

It also tells me  that its using uhci_hcd, which i have compiled in the kernel:

 *Quote:*   

> <*>   UHCI HCD (most Intel and VIA) support

 

so what am i missing here?

There are a few Interface Number: x seen on usbview that have no info . The only one there with complete info is :

 *Quote:*   

> Interface Number: 1
> 
> Name: cdc_acm

 

Any sugestions ?

----------

## HeXiLeD

So far i found this http://www.windclimber.net/linux/gsm-modem.pcgi.

Might help other people too

----------

## HeXiLeD

A few more details..

In the kernel we have

```
CONFIG_USB_ACM:                                                                                                                                    

  │                                                                                                                                                     

  │ This driver supports USB modems and ISDN adapters which support the                                                                                     │

  │ Communication Device Class Abstract Control Model interface.                                                                                       

  │ Please read <file:Documentation/usb/acm.txt> for details.                                                                                           

  │                                                                                                                                                     

  │ If your modem only reports "Cls=ff(vend.)" in the descriptors in                                                                                   

  │ /proc/bus/usb/devices, then your modem will not work with this                                                                                      

  │ driver.                                                                                                                                            

  │                                                                                                                                                    

  │ To compile this driver as a module, choose M here: the                                                                                             

  │ module will be called cdc-acm.                                                                                                                      

  │                                                                                                                                                   

  │ Symbol: USB_ACM [=m]                                                                                                                               

  │ Prompt: USB Modem (CDC ACM) support                                                                                                               

  │   Defined at drivers/usb/class/Kconfig:54                                                                                                  

  │   Depends on: USB                                                                                                                                

  │   Location:                                                                                                                                       

  │     -> Device Drivers                                                                                                                            

  │       -> USB support                                                                                                                              

  │         -> Support for Host-side USB (USB [=y])        
```

 *Quote:*   

> If your modem only reports "Cls=ff(vend.)" in the descriptors in  /proc/bus/usb/devices, then your modem will not work with this driver.

 

After Checking:

```

# cat   /proc/bus/usb/devices

```

```
T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0

D:  Ver= 2.00 Cls=e0(unk. ) Sub=01 Prot=01 MxPS=64 #Cfgs=  1

P:  Vendor=0a5c ProdID=2101 Rev= 0.00

S:  Manufacturer=Broadcom Corp

S:  Product=BCM92045DG Non-UHE

C:* #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=100mA

I:  If#= 0 Alt= 0 #EPs= 3 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb

E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms

E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms

E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb

E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms

E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms

I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb

E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms

E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms

I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb

E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms

E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms

I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb

E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms

E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms

I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb

E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms

E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms

I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb

E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms

E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms

I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)

E:  Ad=84(I) Atr=02(Bulk) MxPS=  32 Ivl=0ms

E:  Ad=04(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms

I:  If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=00 Driver=(none)
```

Could it be that because the Modem also reports:

 *Quote:*   

> I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
> 
> E:  Ad=84(I) Atr=02(Bulk) MxPS=  32 Ivl=0ms
> 
> E:  Ad=04(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
> ...

 

that  its not fully supported ?

or the fact that most info about the modem shows hci_usb support; is good enought  to make it work ?

Under USB Network Adapters i have also added some extra kernel support, such as:

<*> Multi-purpose USB Networking Framework

 *Quote:*   

> This driver supports several kinds of network links over USB,                                                                                       
> 
>   │ with "minidrivers" built around a common network driver core                                                                                    
> 
>   │ that supports deep queues for efficient transfers.  (This gives                                                                                  
> ...

 

I also saw this there, but in doubt i did not compiled it.  i guess this is just for cable modems right ?

<> CDC Ethernet support (smart devices such as cable modems) (NEW)

 *Quote:*   

> CONFIG_USB_NET_CDCETHER:                                                                                                                           
> 
>   │                                                                                                                                                    
> 
>   │ This option supports devices conforming to the Communication Device                                                                               
> ...

 

as for this one  i am having some doubts too. is the phone modem seen as ethernet subset ?

< >   Simple USB Network Links (CDC Ethernet subset) (NEW)

```
CONFIG_USB_NET_CDC_SUBSET:                                                                                                                        

  │                                                                                                                                                   

  │ This driver module supports USB network devices that can work                                                                                       

  │ without any device-specific information.  Select it if you have                                                                                   

  │ one of these drivers.                                                                                                                             

  │                                                                                                                                                   

  │ Note that while many USB host-to-host cables can work in this mode,                                                                                

  │ that may mean not being able to talk to Win32 systems or more                                                                                      

  │ commonly not being able to handle certain events (like replugging                                                                                

  │ the host on the other end) very well.  Also, these devices will                                                                                  

  │ not generally have permanently assigned Ethernet addresses.                                                                                        

  │                                                                                                                                                  

  │ Symbol: USB_NET_CDC_SUBSET [=n]                                                                                                                   

  │ Prompt: Simple USB Network Links (CDC Ethernet subset)                                                                                            

  │   Defined at drivers/usb/net/Kconfig:223                                                                                                           

  │   Depends on: USB && NET && USB_USBNET                                                                                                      

  │   Location:                                                                                                                                       

  │     -> Device Drivers                                                                                                                             

  │       -> USB support                                                                                                                               

  │         -> USB Network Adapters                                                                                                                   

  │           -> Multi-purpose USB Networking Framework (USB_USBNET [=y])    
```

i also added :

<*> Support for USB Gadgets

<*> USB Gadget Drivers (Serial Gadget (with CDC ACM support))  --->

Currently dmesg shows me :

 *Quote:*   

> 
> 
> drivers/usb/input/hid-core.c: v2.6:USB HID core driver
> 
> usbcore: registered new driver cdc_acm
> ...

 

right now i am kinda lost with so much details, that i am not sure of what  to do next.

any help is more than welcome

----------

## HeXiLeD

while  i am still working to get this to work 100% in linux i found some usefull software to convert the mobile phone files format into a more conventional format or vice versa.

Screenshots

Linux software @ http://www.miksoft.net/mmc-lin.tar.gz

Website : http://www.miksoft.net/mobileMediaConverter.htm

It would be nice to have it in the portage system.

----------

