[HTC Droid DNA] Serinety:
Before I address the "money hungry" comment, let me first start by saying that I am glad that you provide your service to the community. Any time a member of this community can help others is a good thing, that is what we are here for. Additionally, providing a method that helps people recover from a hard-brick is indispensable. You have a good business model here.

One comment on the webpage regarding the s-off service that bothers me is this one:

"This is currently a one of a kind solution that can not currently be replicated via a one click or command line solution". This suggests to me that your company is the only one that can perform this type of service. I don't claim to know how you are doing the JTAG interface, is it your own rig, or do you use a consumer available RiFF box. As a EE, I use JTAG standards daily for debugging inhouse designed ICs, PCBs and so on. I also know that manipulating the device is different for different devices, so while JTAG is standard, the specific method that works for the DNA is not. If you choose not to share that particular detail, thats your call, but I don't agree. If you are using a RIFF box, then all of that is taken care of for you, since the box itself is pre-programmed to accomplish many tasks already.

Perhaps your specific method is a trade secret that distinguishes mobiltechvideos from the competition, if thats the case then so be it. It would be up to other people to figure it out on their own. But if not, there is no sense in someone like me starting from scratch if someone else has already done it. In engineering, we often stand on the shoulders of those before us. Re-engineering something that someone has already done is not only a waste of time, it hinders progress and growth.

My original comment(s) can be summarized as, "your service is great, but either release your method, or understand that it comes across as a business venture, with XDA being used as the advertisement medium". I understand that you did not set this up on XDA, nor do I hold you responsible for such action, however, the fact remains that here is a method that others could use and possibly improve on, such that others in this community could benefit.

This is simply not the case. While a phone repair shop may have a riff box, they may or may not even know what s-off is. Furthermore, this only leads to the argument that if someone knows how to do this, then the information on the method is not a trade secret and could/should be shared.

Nobody (at least, not me) is saying that we should get anything for free. You are inferring that I believe they should offer their service for free, which is just not true. It would be ridiculous to assume Josh should provide free S-off service to people. As for possibly providing a "how too", or at the very least, linking some useful information.. I don't think that is unreasonable. If XDA is being used as an advertising medium , regardless of who drug XDA into it, then some useful information should be provided to the community in return. After all, if this thread, and others like it, generate additional revenue for mobiletechvideo, then at the very least, lets get a -video- on how to do it ourselves should we be so bold. This does not prevent people (like you) from using their service should you so desire, and it allows others who wish to try it themselves. If those people fail.. mobiletechvideos still makes $45 :)

First, yes, you CAN find info about JTAG on google. It is an industry standard debugging transport mechanism used for debugging embedded systems. For the layman, debugging means running instructions on the processor 1 instruction at a time, and stepping through them like one would step through frames of a DVD movie, pausing each time, showing register values, variables, and other relative information at that particular moment. Instructions are displayed in machine code and must be interpreted to assembly (unless you can read the individual bytecode) in order to be useful. This is usually done with software that was written specifically for the embedded system one is trying to debug.

Jtag is like USB in a lot of ways. USB is just a connection protocol. Any piece of hardware with a USB connection can communicate with other devices that accept USB connections. JTAG is no different other than its not a simple connection. You need to know where the jtag pads are, and what function each pad is assigned in order to connect and interpret the data.

As far as which instruction contains the s-off flag, which instruction set it is attached too, how far into the boot cycle does that instruction occur, and what value it should be changed too once it is encountered.. well... thats that hard part. If you find THAT on google, please let me know.

RIFF boxes are expensive because all the work has been done, in most cases, one need only make the device specific JTAG connection, hook up the riff box, and then use a standard computer running the riff box software to do what you would like to do.

If I had the information on the the JTAG pad configuration on the DNA, and the approx location of the s-off command, I could come up with a much cheaper, "riff box" made specifically for the DNA using nothing more than 30 bucks in parts anyone could buy. I have not taken the DNA apart yet to even look to see if it has clearly defined jtag points, it may have them.. but most likely it does not, which means tons of trial and error to figure it out. With no data sheet to look at, it would really come down to luck.