Android development (was Re: best way to run -RELEASE and -CURRENT on the same machine)

Hans Petter Selasky hselasky at c2i.net
Sun Jan 16 12:58:26 UTC 2011


On Sunday 16 January 2011 13:30:33 Aryeh Friedman wrote:
> On Sun, Jan 16, 2011 at 7:27 AM, Hans Petter Selasky <hselasky at c2i.net> 
wrote:
> > On Sunday 16 January 2011 13:20:39 Aryeh Friedman wrote:
> >> On Sun, Jan 16, 2011 at 7:07 AM, Hans Petter Selasky <hselasky at c2i.net>
> > 
> > wrote:
> >> > On Sunday 16 January 2011 12:59:17 Aryeh Friedman wrote:
> >> >> On Sun, Jan 16, 2011 at 6:48 AM, Hans Petter Selasky
> >> >> <hselasky at c2i.net>
> >> > 
> >> > wrote:
> >> >> > On Sunday 16 January 2011 11:49:28 Hans Petter Selasky wrote:
> >> >> >> if_cdce kernel,
> >> >> > 
> >> >> > if_cdce kernel module
> >> >> > 
> >> >> > --HPS
> >> >> 
> >> >> flosoft-stable# kldload if_cdce
> >> >> kldload: can't load if_cdce: File exists
> >> > 
> >> > Any ueX network interfaces?
> >> 
> >> None
> >> 
> >> > Also:
> > And what about:
> > 
> > usbconfig -d X.Y dump_curr_config_desc
> 
> flosoft-stable# usbconfig -d 5.2 dump_curr_config_desc
> ugen5.2: <Android Phone HTC> at usbus5, cfg=0 md=HOST spd=HIGH (480Mbps)
> pwr=ON
> 
> 
>  Configuration index 0
> 
>     bLength = 0x0009
>     bDescriptorType = 0x0002
>     wTotalLength = 0x0037
>     bNumInterfaces = 0x0002
>     bConfigurationValue = 0x0001
>     iConfiguration = 0x0000  <no string>
>     bmAttributes = 0x0080
>     bMaxPower = 0x0080
> 
>     Interface 0
>       bLength = 0x0009
>       bDescriptorType = 0x0004
>       bInterfaceNumber = 0x0000
>       bAlternateSetting = 0x0000
>       bNumEndpoints = 0x0002
>       bInterfaceClass = 0x0008
>       bInterfaceSubClass = 0x0006
>       bInterfaceProtocol = 0x0050
>       iInterface = 0x0000  <no string>
> 
>      Endpoint 0
>         bLength = 0x0007
>         bDescriptorType = 0x0005
>         bEndpointAddress = 0x0001  <OUT>
>         bmAttributes = 0x0002  <BULK>
>         wMaxPacketSize = 0x0200
>         bInterval = 0x0000
>         bRefresh = 0x0000
>         bSynchAddress = 0x0000
> 
>      Endpoint 1
>         bLength = 0x0007
>         bDescriptorType = 0x0005
>         bEndpointAddress = 0x0081  <IN>
>         bmAttributes = 0x0002  <BULK>
>         wMaxPacketSize = 0x0200
>         bInterval = 0x0000
>         bRefresh = 0x0000
>         bSynchAddress = 0x0000
> 
> 
>     Interface 1
>       bLength = 0x0009
>       bDescriptorType = 0x0004
>       bInterfaceNumber = 0x0001
>       bAlternateSetting = 0x0000
>       bNumEndpoints = 0x0002
>       bInterfaceClass = 0x00ff
>       bInterfaceSubClass = 0x0042
>       bInterfaceProtocol = 0x0001
>       iInterface = 0x0000  <no string>
> 
>      Endpoint 0
>         bLength = 0x0007
>         bDescriptorType = 0x0005
>         bEndpointAddress = 0x0002  <OUT>
>         bmAttributes = 0x0002  <BULK>
>         wMaxPacketSize = 0x0200
>         bInterval = 0x0000
>         bRefresh = 0x0000
>         bSynchAddress = 0x0000
> 
>      Endpoint 1
>         bLength = 0x0007
>         bDescriptorType = 0x0005
>         bEndpointAddress = 0x0082  <IN>
>         bmAttributes = 0x0002  <BULK>
>         wMaxPacketSize = 0x0200
>         bInterval = 0x0000
>         bRefresh = 0x0000
>         bSynchAddress = 0x0000

Looks like interface 1 is the ADB one (vendor specific). If the ADB client is 
not using LibUSB then you might get it working by adding the vendor ID and 
product ID to sys/dev/usb/serial/u3g.c as listed by dump_device_desc . A 
/dev/cuaU0 will then be created which you can use to transfer data.

--HPS


More information about the freebsd-hackers mailing list