# Can't plug my Droid in again



## pioto (Nov 20, 2009)

It seems that I can only successfully connect my droid to my workstation once per boot. If I want it to connect again, I need to reboot.

I don't even care about mounting it, I just want to charge it.

When I successfully connected it last, this was spammed in /var/log/messages for a little bit until things settled down:


```
Nov 19 12:30:32 pit84 kernel: xptioctl: pass driver is not in the kernel
Nov 19 12:30:32 pit84 kernel: xptioctl: put "device pass" in your kernel config file
```

I don't have the pass driver available, it seems, and I don't really have permission to change the kernel on this workstation.

camcontrol devlist -v still lists the droid right now, even though it isn't connected.


```
scbus0 on umass-sim0 bus 0:
<Motorola A855 0001>               at scbus0 target 0 lun 0 ()
scbus-1 on xpt0 bus 0:
<  >                               at scbus-1 target -1 lun -1 (xpt0)
```

Also, when I plugged my droid in this morning, I saw this one message in /var/log/messages:


```
Nov 20 09:12:18 pit84 kernel: umass0: at uhub3 port 5 (addr 2) disconnected
```

Any further plugs/unplugs do nothing. I've tried different ports, it doesn't help. It isn't detected as connecting/disconnecting anywhere else.

My droid seems to sorta notice that it's been plugged into usb (Locale thinks it's on AC power), but it isn't receiving sufficient power to actually charge / do any sorta data connection.

Any assistance would be appreciated.


----------



## pioto (Nov 20, 2009)

I should also mention that attempts to rescan/reset things don't work:


```
$ sudo camcontrol rescan all
Re-scan of bus 0 returned error 0x39

$ sudo camcontrol reset all
Reset of bus 0 returned error 0x39
```


----------



## pioto (Nov 20, 2009)

Oh, and, I'm on FreeBSD 7.2-STABLE.


----------



## aragon (Nov 20, 2009)

You can try cover up the two middle contacts in the USB plug with a bit of masking tape - that'll prevent the phone from connecting to the USB bus, but still let it draw power.


----------



## pioto (Nov 20, 2009)

aragon said:
			
		

> You can try cover up the two middle contacts in the USB plug with a bit of masking tape - that'll prevent the phone from connecting to the USB bus, but still let it draw power.



That's hardly a solution. If I get desperate I'll give it a try. Otherwise, I'll just dig up the USB power brick I got for my old iPod.


----------



## tingo (Nov 20, 2009)

What is this "droid" you are talking about? We know it has an usb port, but otherwise we're in the dark here.


----------



## pioto (Nov 20, 2009)

tingo said:
			
		

> What is this "droid" you are talking about? We know it has an usb port, but otherwise we're in the dark here.



Sorry. The Motorola Droid, it's an Android-based smart phone: http://en.wikipedia.org/wiki/Motorola_Droid

It presents itself as both a USB mass storage device, and a USB modem, IIRC. The storage device claims to have removable media, which is not presented as inserted until I click "mount" on the device itself. At that point, the device presents the SD card as the first partition of the device.

At least, that's how it works on my Linux laptop at home.


----------



## aragon (Nov 21, 2009)

pioto said:
			
		

> Oh, and, I'm on FreeBSD 7.2-STABLE.


If you can convince the admin for that workstation to upgrade to FreeBSD 8.0, do it.  Completely new USB stack in 8.0 which might work better with your Droid.

Not much you can do yourself without root access, hence my initial suggestion.


----------



## pioto (Nov 21, 2009)

aragon said:
			
		

> If you can convince the admin for that workstation to upgrade to FreeBSD 8.0, do it.  Completely new USB stack in 8.0 which might work better with your Droid.
> 
> Not much you can do yourself without root access, hence my initial suggestion.



Well, I have root. But, I'm not supposed to do an upgrade of the base system (mainly, I'm allowed to install whatever other ports and such I need). So if there's some possible intermediate solution which doesn't require me to replace the kernel / base system, I can give it a try.


----------



## elgrande (Jan 6, 2010)

*Same behaviour in 8.0-p1*

I can report the same behavior in 8.0-p1. (with milestone the e.u. droid)
So upgrading would not help.

Any ideas what to do, e.g. a harder reset?


----------



## elgrande (Jan 6, 2010)

*Workaround Solution for 8.0*

There is a workaround:

Use

```
usbconfig list
```
to find out the usb bus data.

In my example it is

```
ugen7.2: <product 0x41d9 Motorola> at usbus7, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
```

Then use usbconfig reset with the corresponding ugen numbers (in this example 7 and 2)

```
usbconfig -u 7 -a 2 reset
```
*
NOTE:*
If reset fails, you may have to do in this order:
- switch phone to no connection mode
- usb reset
- switch phone to usb mode
- usb reset


----------



## elgrande (Apr 6, 2011)

*Another solution for 8.2*

The last solution does not seem to work with 8.2 anymore.
For my Milestone (European Droid), Open Recovery 1.46 with usb disk mode works like a charm. (No usb quirks needed)


----------

