MJCS Studios
Posted By: Mitchell J. Skurnik
Created On: 1/25/2012 @ 11:35 PM

A wild functioning compass appears...before mango :(

Introduction

Engineering Mode Compass ApplicationIf you have not been following what has been going on with the Dell Venue Pro, Dell has been doing some pretty shaddy things. Dell manufactured, advertised, sold, and distributed sold phones with an electronic compass built in. When the phone first came out the only way to access it was by means of the Dell diagnostics utility (engineering mode). Microsoft had yet to release an updated SDK with access to the Compass. As a developer I had access to the Mango beta update around June/July of this year and was finally able to access the compass via the SDK. Everything was great until the Final version of the mango update (the one released to the public came out). The compass was stuck at 100 degrees. By accessing Dell’s internal diagnostics application and performing the "E-Compass" test on a phone without the mango updates results in a working compass!

Evidence

So why on earth did the compass break between Mango beta and the RTM of Mango? Well I did some digging around and found out that Dell removed the compassDrv.dll during the 7720 Mango update. The deletion of the DLL effectively broke the compass on the device. You can do this by: dumping the phone’s log files with the Update Windows Phone command line utility, extracting the cab file with 7-Zip, and then browsing the log files in notepad++. This is what I found while first digging around:

NkUpdate succeeded.
NkUpdate: Writing the NK partition...
NkUpdate: Successfully wrote the NK partition.
**** Starting IMGFS Update @ 16:46:58 ****
Deleting file compassDrv.dll.

Engineering Mode File Browser Then with some further digging by using the hidden file browser I found that Dell uploaded a file called CompassDrv_ms.dll but all the programs are trying to use CompassDrv.dll (via the API). This is at least my current understanding of how it works. Without access to the code being used when the API calls for the compass there is no real way to know.

Now in devices that flat out have no compass like an HTC Radar, the OEM’s have a registry flag of zero set for "Do I have as Compass". In the case of the Dell Venue Pro, this is still set to one (true). This causes applications that to think you have a compass (which is true) but it does nothing but point to 100°. All augmented reality applications as well as some navigation (GPS) applications will not work without a compass.

Informing Dell

Now this had me wondering if it was just an accident on Dell or Microsoft’s part so I called up Dell Technical support and conversed with them for a little while. I would have been fine if it was a mistake and that Microsoft and Dell were working on a solution.

So I call up Dell Customer service thinking I could get this quickly resolved; Boy was I wrong. First off the technician thought I was using an Android phone (I guess it is easy to mistake as the "Dell Venue" is their android version of the phone) but then the technician had no idea what a compass was. After finally convincing him that it was part of the phone he says he needs to check with his manager/supervisor and I am placed on hold. After a few minutes he came back and said that it was "A compatibility issue". Yeah well I know that is complete bullshit as someone at Dell made the decision to delete the fucking DLL. So instead of ripping into a low level technician who has no idea what I was talking about I hung up and sent the following e-mail to Dell mobility support and to some of Dell’s board of directors:

Initial E-Mail

Dell:
Today I called Tech support up to see if there was any information on the Dell Venue Pro’s compass not working after upgrading to Windows Phone Mango / 7.5. It took a good 5 minutes to explain to the technician what a compass was, that it was a part of the phone, and then he thought I was talking about an android phone. Finally he talked to a supervisor and told me it was "A compatibility issue". I do not like being lied to! I know for a certain fact that the compassDrv.dll was deleted during the update process. It was the only file to be deleted!!! My logs and the File Copy tool in the engineering mode application provided with the phone back this fact up.

Here is an excerpt from the UpdateApp.Log from my device

================================================
START OF UPDATEAPP INFO MESSAGES
================================================
SETTING THE INSTALLING UPDATE STATE.

**** STARTING IMGFS UPDATE SIMULATION @ 16:46:32 ****
DELETING FILE COMPASSDRV.DLL.

Now with almost any other WM7.5 phone on the market, I could simply deploy the compassDrv.dll file from another phone. But since Dell has yet to release any applications that support homebrew/advanced development for their phone this is impossible.

Please either fix the issue by the end of the month and/or give us a way to edit the registry to get the interop unlock working so we can have native com access and fix it ourselves. Us developers like to tinker with our phones so please give us the option to do so.

Lastly, I am a developer and I was planning on making an application that uses the compass. Now I can’t and am potentially losing revenue for my company. This is not acceptable.

Thank you,
Mitchell J. Skurnik
Windows Phone Developer and Disgruntled Fan

Call response from Dell

So I got a call from Dell Executive Support. I was told they should know something by Saturday and will contact me then. They were "working" on the problem and would be informed by Saturday if they had any news.

E-Mail Response From Dell

Dear Mr. Skurnik,
This email is in reference to the email that reached our Corporate Office. Please accept my sincere apologies for any disappointment you may have experienced during your transactions with us. Your Feedback has been send to Microsoft and the software department will get back to you and update you on the next software release.

Once again, I thank you for sharing your experience with us. Whether the feedback we receive is positive or negative, it remains a crucial tool for determining how we can best improve our products and services. We truly regret any inconvenience or frustration this matter may have caused. We value you as our customer and your satisfaction is very important to us. If you have any further questions or concerns, please do not hesitate to contact us.

Thanks and Regards

Follow-up Call from Dell

I received a call that weekend and was told that Dell has no update but they e-mailed Microsoft and the ball was now in Microsoft’s hands…So I patiently waited…and waited…and waited.

Nothing…

Twitter Update

On November 17th I notice that @LionelatDell on twitter posted something:

First Twitter Update

The update hasn't yet happened on the AT&T version of the #dellvenuepro. The compass function will not be supported.

Ok that is fine. Maybe they were already testing the broken version and would release a fix later down the road.

Then on the 22nd another notice:

Want to clarify things re: the compass feature and the #dellvenuepro: The compass feature was not supported at the OS level before Mango.

I guess not…

And another notice on the 22nd:

While the Mango OS offers magnetometer and compass support, it is optional for OEMs to support via software #dellvenuepro

Optional yes but you have been advertising it on your website for over a fucking year right below the 1400mAh battery (they removed this a few days ago).

Dell Venue Pro Website

Hey look at that.

And another:

Dell will not be providing compass support for the #dellvenuepro. I will clarify more details via a Direct2Dell blog post later next week.

What in God’s name is there to clarify?

  • Dell creates phone with compass (Late 2009)
  • Dell advertises phone with compass (Early-mid 2010)
  • Dell deletes compass driver (August 2011)
  • Dell says on twitter no more compass (November 2011)

That post on Direct2Dell never came.

What is your next step to blame Microsoft on this?

Email to Microsoft

At this point I am fucking livid. So I did what any pissed off nerd would do about a product partly made by Microsoft, I emailed the CEO (Steve Ballmer). I then exchange emails with the support group the following day.

Initial Email sent to Steve Ballmer

Mr. Ballmer:

It is not often that I get really pissed off but when I do it is usually when a company falsely advertises their product. I purchased a Dell Venue Pro over a year ago on launch day at the Mission Viejo Microsoft Store. I was one of the first there in line to get one. I got this because I liked the large screen, it had gorilla glass, a portrait keyboard, and it had a compass built in. Now Dell is saying on Twitter that "Dell will not be providing compass support for the #dellvenuepro" (this was from today by @LionelatDell). I have contacted Dell Executive Support and told them how to simply fix the problem as I found out that they renamed their compass driver during the mango update. See I am a developer and I built a test application during the beta period to try out the compass. It was working just fine during the beta period. Then Dell removed the feature with the full release of Mango.

I love my Dell Venue Pro but I absolutely HATE the way that Dell has treated me over the last few months. Dell should be ashamed and pressured to release a simple cab.pks update that fixes this. I am ready to seek legal action against Dell if I can’t get this resolved by the end of the year. I am not the only one that is angry about this. I hope that you can help me resolve this simple issue.

Mitchell J. Skurnik
Developer

Email response

Hello Mr. Skurnik,

I have received your //GetHelp escalation regarding the issue you are having using the compass application on your Dell Venue Pro. I understand that this can be extremely frustrating and inconvenient and want you to rest assured that I will do everything I can to provide you with the most accurate and up to date information. After reading through your submission details, I am having difficulty understanding Microsoft’s role in your issue. I see that Dell has informed their customer’s that they will no longer be supporting the compass application on the Dell Venue Pro. I also understand that you contact Dell support to tell them how they can fix the problem. Despite this, Dell has decided not to support the compass on Mango.

That being said, I want to be sure you understand that Dell is an Independent Software/Hardware vendor and makes their own decisions on what to develop/support on Microsoft platforms. Microsoft has no influence whatsoever on the business decisions that Dell makes with their products. The fact that Dell has made the decision to not support the compass app on Mango is solely their decision.

I would like to ask you if there is a more specific ask that you would like Microsoft to look into. If not, there is very little that Microsoft can do in this situation. I will wait for your response. Please let me know if you have any additional questions.

Thank you

My Reply

Well in contacting them they said they were waiting to hear back from Microsoft so I am just trying to figure on what happened here.

2nd Reply from Microsoft

Hello Mr. Skurnik,

Unfortunately I have no visibility into this…do you happen to have a case number or contact that you were working with at Dell? Do you have any communications (email, etc.) between you and Dell that I could review to get abreast of the communications you refer to between Microsoft and Dell?

Thank you

I forward them the only email I got from them.

I was told verbally by Dell that Microsoft would fix this and do not have any recordings (but Dell does).

Attached is an email between myself and [REDACTED] from the Dell Executive Customer Support Team.

3rd and final reply from Microsoft

Thank you Mr. Skurnik,

After reading through the thread you provided me of the communication you had with Dell, I do not see anywhere that says Dell is working with Microsoft in any way regarding this issue. The only thing I see is that they were going to forward your complaint to Microsoft…which is most likely how I received your escalation.

That being said, there is nothing that we can do at this point to influence or change the decision Dell has made to not support the compass app on Mango. The only thing I could suggest is to try and follow up with Dell Support again and see if they would be willing to work with you and have you assist them in developing a version of the application that is supported on Mango.

I do wish there was more I could do to help you, but unfortunately this lies with Dell. Is there any other items I can address for you at this time?

Thank you

Conclusion

It truly looks like Dell is screwing us over. All I want is to be about to use the compass on my phone. I really do not think I am asking much. I want Dell to honor what they have been advertising for well over a year now. It is such an insanely simple thing to fix. Just ask Microsoft to create an update package that deploys the correctly named CompassDrv.dll into the \Windows folder and then push it to the phones over Zune. This does not affect the cellular providers such as T-Mobile or AT&T so we do not need to have them test this and delay the release. I see no reason why this can’t be fixed by next month.

Dell, if you are reading this you might be able to keep me on as a customer if you fix this. I was planning on purchasing a few blade servers later this year from you or one of your competitors but now it is looking like your competitors will win my business.

blog comments powered by Disqus