Tuesday, December 30, 2008

Hacking the USB Headset connector

[Updated 20090105 - see below]
Well - much to my disappointment, my device (claimed as - nearly new, factory refurbished) was delivered with a set of non-original parts. I received a Blackberry charger which has the option to exchange the plug for the mains-socket, so it also works in my continental sockets in Germany - no problem here, especially as all my other chargers (from my older HTC devices) also work.

BUT: the delivered headset was a cheap Motorola S200 replacement - which has the same plug, but different connectors inside. No way to get it working :-(
I knew that I will not use the original headset, but I need a blueprint to understand what is going on to build an USB-3.5mm adaptor. As I do not have that (yet - hopefully), I have checked other options to debug the duplicate purpose of the standard mini-USB (5 pin) plug.

The good part is that you have big variety of Motorola Headsets or adaptors that you can start working with - just look for the Razor-V3, it has the same physical connector.
The bad part is that the multiple use of the same socket for different purposes creates the need to have the device switch between these modes. Also here it is advised to have a look at related Motorola resources, e.g. here: http://wiki.openezx.org/EMU
Unfortunately the described options do NOT work for the E72 - but they give a clue on what to investigate...

Terminology:
The USB socket has 5 pins + shield, sometimes the numbering is 1,2,3,x,4, but I prefer to number the pins in sequence, i.e. 1,2,3,4,5 - just like the EMU wiki above does.

Findings:
  1. Connecting a resistor in the range of 50 to 200 kB between (5+Shield) and (1) will raise the level at (1) from 0,3V to the full power of the battery (you can drive a light with this!) for exactly 10 seconds.
  2. Pin (3) (the middle one) will generate a stepping voltage output (1 Hz) as long as (1) is up - here I suspect an action is required to confirm the operation mode.
  3. nothing more - I had to give up here...
Conclusion:
  • The temporary presence of (a fully powered) supply voltage at pin (1) and the activity at pin (3) may indicate an active wired headset (just like the Motorola). It is however impossible to tell without a real E72 headset at hand...
[Updated 20090105:]
Thanks to the community in Taiwan, see this post, the connection strategy is now settled :-)
Continuing my discussion above the "protocol" on pin(3) is very simple - just connect a resistor (below about 250 ohm) to grounds - that's all - the device will go into headset mode (can also be seen at HKLM\System\State\Hardware - the value of the "Headset" property changes to "1".
After the device is in headset mode, pin(3) can be released again (what I did to identify the other speaker channel and microphone connection). So the final result is then for the numbered pins of the USB connector (1-5):

  1. Must be connected with a resistor less than 200 kOhms (but more than 10k - not to drain the battery) to ground. The voltage will rise briefly to battery level (so if you short cut this to ground it may kill it) but then drop back to 0,16 V to stay there. I suspect that accepting calls with the headset button will introduce new functionality here...
  2. Speaker channel (l,r not checked, source indicates right here) - must be connected to a speaker or a pulldown resistor at device-headset connection time.
  3. Speaker channel (l,r not checked, source indicates left here)
  4. Microphone channel (checked to work with Audionotes)
  5. Grounds
So luckily no complicated electronics - get your soldering irons ready!

Mind that the drawing in the Taiwanese post labels the "V+" and "GND" incorrect - they have to be reversed. The "NC" (microphone) pin is close to the - (GND) pin.

No comments:

Post a Comment