Live data from Hacker News

USB Reverse Engineering: Down the Rabbit Hole

devalias.net

21–30 of 48 posts

Re: USB Reverse Engineering: Down the Rabbit Hole

#21
> I won't get deep on describing all of the facts, since that's what Wikipedia is good at

Sigh. So many links, so much reading, and not one to the USB spec (that I found by skimming and searching). It's not just this article, but seemingly every 'deep dive does it'. Why do people read everything on the Internet, no matter the source and quality, but skip (what is usually) the best, most important source?

Re: USB Reverse Engineering: Down the Rabbit Hole

#22

> I won't get deep on describing all of the facts, since that's what Wikipedia is good at Sigh. So many links, so much reading, and not one to the USB spec (that I found by skimming and searching). It's not just this article, but seemingly every 'deep dive does it'. Why do people read everything on the Internet, no matter the source and quality, but skip (what is usually) the best, most important source?

I originally wrote this as a way to collate all of the things I was reading as I went from zero knowledge on the subject. I like to document the path I took, and don't really see the point in reimplementing the wheel when someone else has already done a good job of it. That might not align with everyones style.. but can't please everyone.

Re: USB Reverse Engineering: Down the Rabbit Hole

#23
post #20
post #13

Earlier quoted context omitted.

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".

Re: USB Reverse Engineering: Down the Rabbit Hole

#24
post #8
post #2

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 t…

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 r…

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.

Re: USB Reverse Engineering: Down the Rabbit Hole

#25
post #5

I've sunk countless hours looking for a way to emulate USB devices in software under Windows. Two years ago there were many different ways. Today there are zero ways that I know of, apparently all removed within the last two years by an astounding tragic coincidence. To elaborate on this section: http://devalias.net/devalias/2018/05/13/usb-reverse-engineer... - There are two versions of the USB/IP drivers. The initia…

This might be a dumb question but why not downgrade Windows?

Because then you would be suggesting your customer base to use insecure software. There is a reason IE6 still won't die.

Re: USB Reverse Engineering: Down the Rabbit Hole

#26

> I won't get deep on describing all of the facts, since that's what Wikipedia is good at Sigh. So many links, so much reading, and not one to the USB spec (that I found by skimming and searching). It's not just this article, but seemingly every 'deep dive does it'. Why do people read everything on the Internet, no matter the source and quality, but skip (what is usually) the best, most important source?

To be fair, specs and standards generally aren't written as introductions, so they're kind of hard to make sense of when starting from zero. USB, with its infernal descriptors and endpoints, benefits mightily from third-party explanations.

Re: USB Reverse Engineering: Down the Rabbit Hole

#27
post #20

Earlier quoted context omitted.

> 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.

Re: USB Reverse Engineering: Down the Rabbit Hole

#28
post #2

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 t…

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.

Re: USB Reverse Engineering: Down the Rabbit Hole

#29
post #22

> I won't get deep on describing all of the facts, since that's what Wikipedia is good at Sigh. So many links, so much reading, and not one to the USB spec (that I found by skimming and searching). It's not just this article, but seemingly every 'deep dive does it'. Why do people read everything on the Internet, no matter the source and quality, but skip (what is usually) the best, most important source?

I originally wrote this as a way to collate all of the things I was reading as I went from zero knowledge on the subject. I like to document the path I took, and don't really see the point in reimplementing the wheel when someone else has already done a good job of it. That might not align with everyones style.. but can't please everyone.

> can't please everyone

Absolutely; and pleasing an audience of one (me) isn't a great business move. Thanks for your exceptional effort.

> I like to document the path I took

I think people learn more from this kind of inductive approach.

Re: USB Reverse Engineering: Down the Rabbit Hole

#30
post #26

> I won't get deep on describing all of the facts, since that's what Wikipedia is good at Sigh. So many links, so much reading, and not one to the USB spec (that I found by skimming and searching). It's not just this article, but seemingly every 'deep dive does it'. Why do people read everything on the Internet, no matter the source and quality, but skip (what is usually) the best, most important source?

To be fair, specs and standards generally aren't written as introductions, so they're kind of hard to make sense of when starting from zero. USB, with its infernal descriptors and endpoints, benefits mightily from third-party explanations.

> specs and standards generally aren't written as introductions

Sometimes, but I often find them to be pretty good, and if I look at third party sources first, I usually wish I'd come to the spec much sooner in the process; the actual spec tends to make most third party sources redundant or plainly erroneous.

But of course, not all specs are equal; some are unreadable or poor introductions.

Post reply on HN