Hacker News new | ask | show | jobs
by jonhohle 2946 days ago
What a weekend find! This is a nice piece in a puzzle I'm trying to solve related to a consumer audio device with upgradeable firmware.

The platform of the device is used for both a prosumer audio device, a professional device, as well as other consumer devices. On top of that, the prosumer device appears to have different functionality enabled based on the part of the world you buy the device, but my hypothesis is that the hardware is the same, regardless of region, and the firmware just implements a dark pattern to limit functionality (perhaps to avoid additional FCC certifications, support incidents, etc.).

Anyway, I've spent a few nights extracting the firmware from other regions, found a great presentation where the company details the hardware and platform, and discovered that the audio capabilities of the hardware for the prosumer device approach that of the professional device (higher sampling frequencies and resolution during recording).

My hope was to be able to flash the device with a modified file system that enabled the features, but ran into the firmware appearing to be encrypted, but potentially decrypted on the host before being pushed to the device. I've been decompiling the drivers to see if I could dump keys or the decrypted payloads, but also thought about sniffing the USB I/O and dumping that way. It looks like this is a nice intro to help me on my way.

3 comments

Reminds me of some popular headphones (I forget the name) that had two models. One was the standard model and one was the pro model. Someone went to repair their headphones and found that the only difference between the two models was some extra foam that was installed to distort the sound bit in the standard model... I wish I could remember who that was.
It was Sennheiser headphones: https://news.ycombinator.com/item?id=2214158
Thank you!
Sounds like a real classic market segmentation tactic.

I recall reading about a oscilloscope or something that had two models, one monochrome and slightly worse performance, one color and slightly better better.

Turns out that if you flashed the firmware of the latter onto the former, the performance improved to match the latter's.

Basic thing is that by doing this, the marketing people has calculated that they may reach a larger total customer pool than by only offering the more expensive variant.

You might be thinking of the Rigol DS1054Z digital oscilloscope. It's pretty popular with hobbyists because it's an inexpensive entry-level scope that can easily be "unlocked" to act like a much more expensive model, including better-than-advertised bandwidth.
I heard the difference might be because testing determines lesser quality builds which then are limited in software to meet the respective specs within a broad error margin. The unlocked ones might work and display but you loose all guarantees on precision. This process is called binning, and is done with many electronic parts, most famously cpus that are binned according to energy efficiency, clock frequency, or cache size.

Of course that doesn't excempt them from attempting price differentiation, e.g. under the veil of this process.

Quite a few people have tested the bandwidth of their hacked DS1054Z oscilloscopes and found they exceed the specs of even the better model.

Not saying this isn't happening, but it seems not to be.

and a full protocol decoder! For $350!
I can definitely understand the marketing/psychology appeal of it.. but it also feels like a bit of a rip that I either end up with a) a less good product, or b) paid more for the same thing. That is.. until we figure out the ways to DIY upgrade them ;)
> b) paid more for the same thing

I find it interesting that, here of all places, people consider two different software applications to be "the same thing" just because they run on the same hardware.

I dare say a significant percentage of the development budget for any smart piece of equipment these days goes into the software, not the hardware.

Putting "#ifdef PROSUMER" or something to this effect into the source code shouldn't be too costly. Disabling existing functionality is easy and it feels like cheating even if it's called "market segmentation".
This is what developers like us tend to think. But consider this: the development cost of the sodtware does not change much in order to create feature reduced versions of most products. But if you are in a small market where the volume of expected sales for the full version of the product can barely lead to proftability, creating a cheaper version for a higher volume market is a sound business strategy. This would not work with a single undifferentiated product.
I'm not saying that it is not a viable strategy. But it needs to be taken into account that tech-savvy users will not see it as a fair play, and probably will not think twice before making the most of a cheaper version.
I think of it as people paying the higher price subsidizing people paying the lower price
I'd be really leery about reflashing a $X,000 scope. The NRE on those are huge so just because it's the same hw doesn't mean you aren't still paying for something when you buy the more expensive version.
And then get slapped with DMCA or something, because "circumvention"?
Sounds like a really interesting project! Hopefully you manage to figure it out. Glad I could help start your own rabbithole of a journey! ;p