"Put 'em up, put 'em up! Which one of you first? I'll fight you both together if you want. I'll fight you with one paw tied behind my back. I'll fight you standing on one foot. I'll fight you with my eyes closed... ohh, pullin' an axe on me, eh? Sneaking up on me, eh? Why, I'll... Ruff!"

~ Cowardly Lion ~

newsblog

2010-05-09

HTC HD2 Dialing Last Dialed Number Problem

When I bought the phone one of the driving forces in my mind was that I wanted to get rid of my piece of junk Creative Zen MP3 Player. I've hated that since I bought it. At first the HD2 seemed to be fine but one problem I had was that the provided headphones always fell out of my ears. I skateboard all over the place so I'll be using the Music playing functionality for at least an hour a day. I've always had problems with headphones poping out of my ears, always seems to be the left one. I decided to buy some "Panasonic RP-HS33E Lightweight Headphones" from play.com as they were mega cheap and hook around my ears. I had a bunch of others in my list but decided to start with the cheapest and work my way up. Luckily I struck gold with my first shot so I thought I was sorted.

Over the past few months however the HD2 has been acting up when I'm out and about. Here's the scenario, I'm skating down the street, listening to some tunes with Nitrogen (the music player I like on the HD2), the music suddenly cuts out and I can hear the ring tone like I've just called someone. I have to quickly stop skating, whip the phone out of my pocket and lo-and-behold, I've dialed the last number in my call history. It's well pissed me off. It will do it over and over again. It also does other cooky stuff like starts playing the HTC Music player. That one is a really bad glitch since the HTC player uses the phones global volume whilst Nitrogen seems to use a percentage of the main volume. That's a bit better explained like this. I prefer to set the phone volume to 100%. In Nitrogen I set the volume to 50%. This means my music plays at 50% of the global phone volume which is fine. If I set the global phone volume to 50% then Nitrogen, being set to 50% then plays at 25% of the global volume. I hope this makes sense to you. So, I'm skating down the road, listening to something nice and chilled with Nitrogen set to about 35% global volume. All of the sudden whatever last track was played in the HTC player will kick in at 100% volume. Yesterday, going down a rather steep hill I practically jumped off my board when that happened. I made a yelping noise that the people I passed thought was either really funny or a case of turrets as I followed it be a lot of loud swearing.

...

Note that I did end up settling on a solution that works for me. If you want to just skip to that then click here.

In the past I've put this down to the side volume buttons or the bottom hardware keys being buggy and somehow bypassing the slide lock screen. I tried to put a numerical password on and that didn't work either. Somehow, the phone was unlocking itself and either calling the last person in my phone history or controling the MP3 player. I looked into trying one of the alternative lock screens such as TouchLock Pro (which is free despite the "pro" bit of the name). I was going to install this last night but since I was going out I thought it best not to mess around with my phone beforehand. I was going to do it today when I stumbled across an XDA thread where someone had the same problem. In the past when I searched I must of kept missing the right search terms. I followed the trail of threads and it seems that the consensus is that my problem is caused by the fact the HD2 is expecting a 3.5 headphone jack with 4 poles and the Panasonic headphones I bought only have 3.

The poles are the chunks of the headphone jack divided by thin plastic lines. If you look at the stock HTC supplied headphones you'll see that the silver bit of the jack is divided into 4 sections. Most plain headphones you buy will only be divided into 3. The extra split is so you can control the phone with the controls on the headphone cable. It seems that certain 3 pole connectors are randomly firing off things inside the phone, like making a bad contact. I don't seem able to force it to happen. When I thought it was the hardware keys I kept trying them in crazy random presses and nothing, now I've been furiously jiggling the headphone plug and again, I can't recreate the problem on demand. In fact, I just killed the phone by sliding over all the hardware keys several times whilst it was locked. Time to pop the battery out. :'(

This leaves me with a few choices. I could look for some more headphones, ones that have a 4 pole connector. I think I'll leave this as my last resort since it took me a while to find some that I like. The other path is to find a 3.5mm 3 pole to 4 pole adapter. I've sucked at finding one of these. All I want is a little stub connector that can sit in between the phone and the headphone cable. The closest I've found are really short splitter cables. Here are the ones I found:

They are all US based which is totally wank since it means shipping will more than likely cost more than the actual adapters which may or may not even work. The other downside is that even if I bought one of these it means having a bunch of extra cabling and adapter heads in my pocket. It slowly defeats the fact that the phone is nice and slim so it can fit in my pocket.

I found the Exspect iPhone Audio Adapter from Amazon for £2.19 with free shipping. That is a 4 pole to 4 pole adapter. What does it adapt if both ends are 4 pole? The out jack is really thin so it can fit within the bounds of protective cases or inset sockets. The clear case I bought for my Creative Zen had this problem. Fat jacks wouldn't fit in [insert sex joke here :>>]. From what I've read the iPhone has the same problem.

There's also a Mini Jack 3.5mm Plug Right Angled AV 4-POLE adapter on eBay from AudioSpares. It seems similar except it is L shaped so the output socket is angled at 90 degrees. That's £1.99 + 99p for postage.

These last two choices are more like what I'm after, although still not bang on. It really depends on where the problem is. If it is because the actual Panasonic headphones jack is somehow flakey then I'd imagine the phone will still act up on me. If on the other hand it is the phones output jack being iffy then hopefully using a 4 pole plug will sort it out. I'm going to buy them both and see how I fair.

Edit: Both the adapters arrived today.

L Adapter Boxed

L Adapter Socket

L Adapter Is Crap


The L shaped one is a totaly piece of garbage. Big padded envelope with nothing in it except the adapter. I couldn't fit the headphone jack into the socket at all. The actual adapter turns out to be a total duff. The inner metal bit is just held in place because the plastic coating is so tight. I pulled it apart by just wiggling it a bit. I don't see how this would ever work. The only place where the metal makes contact is the two raised barbs where the jack is supposed to plug in. The actual 4 Pole jack that stick out actually has a piece of plastic sticking up where the jack you plug in is supposed to make contact with it. There's no way this was ever intended to actually work. The seller "audio-spares" has got a solid record looking at their seller reviews so I'm going to assume they are unaware that this product is total junk. I'm going to mail them to let them know.


4 Pole Gold Adapter Boxed

4 Pole Gold Adapter Length


The iPhone headphone adapter arrived in a padded envelope which contained the actual box. It's very well presented. When it's plugged into the phone it sticks out by just under 4 centimeters. This makes it feel a bit arkward in your pocket, especially if you have tight pants on. I'm a baggy pants kinda guy though so hopefully it will be ok. My main concern is that it's going to get bent or snapped. Well I'm less concerned about the adapter and more concerned about warping the 3.5mm socket on my phone. The 3 pole headphones plug in just fine and the connection is very tight. I'm off to training in a few hours so that will be the first road test for it.

Edit: Epic Fail
Almost as soon as I plugged everything together my phone auto dialed someone. It flickered the call symbol 3 or 4 times but kept seeming to automatically hang up very quickly. It's quite a frustrating glitch as it can happen in quick succession like that but then I can't force it to happen for the camera. I sat there jiggling the jack for ages and it wouldn't happen again. Then when I left the house it happened in my pocket about 50 feet down the road! Removed the iPhone headphone adapter and just went with my headphones directly, it was clear the adapter was a total failure.

Also got a reply from audio-spares. It seems I have been an idiot and bought a cable head meant for soldering. The minute I read it I saw the obviousness straight away. I just got so fixed on the fact it was supposed to be a L adapter I totally didn't think about what else it could of been. Sometimes I suck at being a geek. Geekfu--

So last night I decided to approach it from another angle. If I can't get the hardware to deal with this then maybe I can tackle it with software. My first trail was to see if I could remap the buttons that it thinks are firing. So say when you press play on the actual HTC headphones, instead of that playing I'd just tell it to do nothing, then do the same for the rest of the buttons on the headphone cable. Then, when I'm using my normal headphones which keep triggering the button actions it will do nothing. I think the logic makes sense. I got a utility called AllKeys from the Microsoft dev blog (the blog is offline at the time of me writing this). That traces out the WM keycode for each button that gets pressed. The thing that makes it cool is that it can capture even the ones that are caught by the system so you can call your own functions before any other applications get called. This lets you read the hardware buttons as they are pressed. It worked for all of the ones on the actual phone but it didn't read the buttons on the headphone cable at all. Quite dissapointing. After a bit more searching I found a thread about another HTC phone where someone suggested that the wired headphones use the bluetooth commands i.e. the phone cheats and pretends that wired headphones are actually bluetooth headphones. That's given me some hope as it may explain whey I couldn't get a WM keycode.

The next step is to download the BTW-CE Bluetooth SDK formally known as the WIDCOMM Bluetooth SDK. WIDCOMM charged money for the SDK back in the day from what I've read but BroadCom have released it for free which is mint. They, as a company, seem to have done loads of good things. I always had problems with the WIDCOMM bluetooth software on my PC, as soon as I moved over to the BroadCom version everything has worked really well. That was ages ago but still, two good things from the same people is nice. I'll download the SDK when I have some spare time and see if I can knock up a bluetooth keycode type reader (for want of a better name). If that actually works then the challenge is still to see if I can rewrite what the buttons are doing and prevent the event getting bubbled to the HTC Sense wrapper.

The End?
All the software options and my previous attempt at buying a suitable adapter failed but I have now got a working solution. It is a cheat since I had to spend a bit more cash but it was only £2.50 so I think that's a small price to pay. I bought an adapter from ebay. The name of the product is "iphone 3G headphone Handsfree Adapter Converter + Mic". I can't post a direct link since it will surely expire at some point and leave you with a dead link. There are loads of them listed. I took some pictures of mine so you can compare the pictures and choose one that works for you. The one I bought has a single fake metalic button that pauses/resumes my music track on quick tap or opens the dialer on long hold. There is a little microphone hole above the button. There is no volume control. Personally I just wrap it with it's own cable so that the button is covered. Doing this serves two purpose. The first is that the button doesn't get accidentally pressed in my pocket and the second reason is that it means I have way less loose cable in my pocket.

Adapter Heads
Adapter Heads
All Hooked Up
All Hooked Up
Button and Mic
Button and Mic
Cable Connections
Cable Connections
Connected Closeup
Connected Closeup
Phone and Adapter
Phone and Adapter
Shirt Clip
Shirt Clip
Wrapped Up
Wrapped Up
 


Finally, a working solution!

It took a while but in the end I thought it deserved its own post. HTC HD2 Headphone Adapter Problems.

17 comments

# Dixie on 2010-05-13 at 20:59
It seems we all have various issues with our HD2s - mine is that replies to incoming texts go randomly to the wrong people and never to the person I reply to!

Re: headphones, I bought an Griffin iphone headphone adapter which has a 4 pole plug at one end and a 3 pole socket at the other, which has a switch on it to answer calls. Its OK but I have found that in use the wire is breaking where just along from the plug.

Dixie
# tann san [Member] Email on 2010-05-13 at 21:11
I just want to be able to use any headphones I like. I think if I had controls on my headphones then I'd like to be able to program what they can do. I've done a bit of digging around and it seems you can't assign your own buttons commands. I made a bit of research progress over the past couple of days. I've downloaded the Broadcom bluetooth SDK but now I'm thinking of using Net32 as it has WIDDCOM support now and that is what our HD2s use. That lets me make my test app using C# which is my language of choice. I also found a cool thread at xda called Sense Interface SDK which allows me to create Sense themed controls for testing with. All I really want to do at the moment is trace to the screen any commands that are coming in via bluetooth. I have a bluetooth headset so I can test with that. Then I'll plug in the HTC headphones and press the buttons and see if I receive anything. I'm hoping that I do so then I can try and work out some way of intercepting them and either remapping them or block the events from bubbling. I probably won't get on this again until the end of the weekend or next week. I'll be pretty stumped if the signals aren't going through the bluetooth side of things.
# tann san [Member] Email on 2010-05-13 at 21:12
oh I had a wee tip that sometimes helps with the auto-dialing the last number problem. Before I go out I dial 0 and try calling it. That makes that the top entry in the list. Then when I'm out and listening to music and it suddenly pauses as it dials, it just gets the "not a number" thing and disconnects, going back to the music.
# tann san [Member] Email on 2010-05-18 at 08:48
It seems that HTC have acknowledged the problem to some degree. In the meantime they sent someone a free HTC HD2 HS U350 Audio Adaptor. That lets you plug in your standard headphones into a dongle that then plugs into the phones headphone jack. It has a single large call button. This is probably going to be my last resort since I don't know if you can block the call button. Plus it just looks like loads of extra cable to put in my pocket. I'm still going to give the software route a chance. Hopefully HTC will release a proper fix soon.
# tann san [Member] Email on 2010-05-20 at 20:37
I'm going to leave this till next week as the new Microsoft Windows Phone Express Edition IDE only supports Windows 7 mobiles. To use the Windows Mobile 6.5 templates I need to use the full Visual Studio. Luckily for me MS are relasing a new MAPS package next week called Development and Design. That will include the full Visual Studio 2010. I'm well getting that. Then I can start the blue tooth tests.
# Craig Email on 2010-05-23 at 05:34
Biggest issue for me is that if you answer a call using bluetooth and phone remains in your pocket, the screen doesn't lock. Because it's a touchscreen it starts doing all sorts of things - the worst of course being that it hangs up on people. Infuriating.

Also, if someone calls you when the phone is in your pocket, when you pull it out it either mutes the ring, answers the call (which is not always desirable) or hangs up on them because you get the chance.

# Rishi Email on 2010-05-25 at 09:42
Even O2 UK have admitted the problem. HTC in the UK will not acknowledge the problem even exists. However O2 UK is paying for HS U350 adaptors. I
had mine paid for by O2 UK!

I am very suprised by the lack of governance and customer service by
HTC on this matter but i guess this is what they want to do, rather
than be upfront about it.
# Bob Email on 2010-05-27 at 11:37
Ive just had a look on the HTC Website and the actually have a fix you can download to solve this problem. If you go to the HTC Europe site, look at 'Support' at the top, find HTC on the list then you can find a patch to download there. Did it myself a week ago and havent had this problem since then
# tann san [Member] Email on 2010-05-27 at 11:43
Which fix is that? I've actually got that page linked on my desktop so I can check it each day. Nothing new is there unless you're referring to the Car Kit Update or the Music Stability Fix. I put both of those on when they first came out and I'm still having the problem.
# tann san [Member] Email on 2010-06-01 at 11:46
I've had to switch to the stock HTC headphones for now. The HD2 is totally unfit for one of its intended purposes when using your own headphones. Well dissapointing. The dialing 0 before going out thing worked for the randomly dialing people problem but now it just freaks out and keeps skipping between tracks. Very very annoyed. My MSDN subscription hasn't gone through yet so I still can't download the full Visual Studio. Hopefully later today or tomorrow it will go through and I can start the bluetooth tests. This well needs sorting.
# tann san [Member] Email on 2010-06-06 at 11:40
Finally got my MSDN subscription through, uninstalled all the MS Express IDEs I had installed and installed my shiney new VS 2010 Pro edition. Did a search for a Win Mo 6.5 development guide and the first page I found was this MSDN page which states.

"Visual Studio 2010 does not support mobile application development for versions of Windows Phone prior to Windows Phone OS 7.0"

Totally mega ultra lame. To make it even more fun it seems my MSDN subscription only entitles me to the latest software versions. All the VS 2008 downloads are marked as "Unavailable". I'm quite stuck now and rather pissed off. Why release VS 2010 when the only mobile support it has is for an OS that isn't even out yet?! I'm going to have a more throrough search and see if I can find some hack around the OS7 limitation.
# tann san [Member] Email on 2010-06-06 at 12:13
I can install the VS 2008 90 day trial alongside the 2010 install I have but as the name implies, I will be limited to 90 days of development. I do have a wee bit of a sneaky plan involving using the Virtual PC app but I can't be arsed with it at the moment. I'm just all pissed off to mess around with it today.
# tann san [Member] Email on 2010-06-20 at 09:25
So the results are in. The HD2 definately uses the WidComm Bluetooth stack but it doesn't seem to recognise the wired headset as a bluetooth device. I ended up using 32feet.NET library to setup a test app on my phone. That library lets you use either the Microsoft or WidComm Bluetooth stacks which is how I identified which one the phone uses. Basically you just do a debug run in VS without putting any extra .dll on the device. Then the app will error out and tell you which stack dll you have to use. In this case, with my HD2 it was the WidComm stack.

I could get a list of all the available bluetooth devices but it didn't see anything extra when I plugged in the headphones. This means I have no way of intercepting the commands since it just doesn't seem to use the bluetooth stack at all.

I'm left with the sneaking suspicion that the buttons on the wired headset cable are actually seen as hardware keys. We've already seen earlier on how some of them (the hadware keys on the phone itself) are not seen as standard key presses when we ran the AllKeys app.

So what now? Well I guess it's either (a) wait for HTC to release a software fix (b) buy one of the 3pole to 4pole adapters or (c) try and solder together my own mini adapater.

Although it was a bit of a failure I'm still glad I got to do it all. I'm now all setup for Windows Mobile development so things are looking very peachy ^_^
# tann san [Member] Email on 2010-06-29 at 18:29
I did find something that works for me in the end. I wrote about it up above in the last paragraph "The End?".

Something I did notice was that when I switched to using the latest Energy rom instead of randomly dialing people the phone would actually fully shut down. The new adapter solves that as well. So far it's been around a week and the problem has not reared its head again.
# tann san [Member] Email on 2010-11-01 at 12:51
Well it turns out the "new" adapter sucked so I ended up making my own: http://www.davidmillington.net/news/index.php/2010/11/01/htc-hd2-headphone-adapter-problems
# CJ on 2011-10-30 at 19:52
Maybe a bit late, but I just came across this website.
I had the exact same problems. I thought my HD2 was breaking down and I was at the verge of madness.
I also deducted it had to be the headset, and noticed that if I cleaned it once in a while with pure alcohol the problem went away again.
# tann san [Member] Email on 2011-11-24 at 11:25
Well, using my own custom made adapter worked for a while but due to wear and tear it kept breaking. I ended up installing HyperdroidGBX on the phone which is a customised Android build and it cured the problem. I did try some other version of Android before that and the problem was gone with those as well. Seems to be an issue with Windows Mobile specifically as the problem has not happened since using Android. I haven't used my custom made adapter since and I've used a few different sets of headphones with no problems.

Leave a comment


Your email address will not be revealed on this site.

Your URL will be displayed.
(Line breaks become <br />)
(Name, email & website)
(Allow users to contact you through a message form (your email will not be revealed.)

search