So I have this #USB #SATA controller from #asmedia . I want to flip some bits in the #firmware for great good. But when I do, the flashing utility fails.

Does anyone have a clue how they might checksum their firmware?

It uses the ASM1053E chip.

#ReverseEngineering

More detail: the controller advertises being self-powered in the USB descriptor and uses a separate 12V power supply.
Carrying that supply is annoying me and I want to change the descriptor to the same as my 2.5 inch enclosure, which *does not* need a separate power supply.
Worst case, things catch on fire I guess.

Show thread

@dcz Changing the descriptor isn't magically going to make it bus-powered though, it's just a hint for the host in case it needed to do some power budgeting.

@dos How does USB power work then? Does the host limit the current or is it entirely device side?
Right now I soldered a bypass wire from USB to the 12V power supply, but it doesn't really do much on its own.

@dcz There are some rules and mechanisms for budgeting in the standard, but in practice, you just get 5V on USB's VBus and that's it; the standard tells you how much power you can expect to safely draw from there in various circumstances. Descriptors are mostly to be able to tell the user that they connected too much.

Follow

@dcz That's assuming no PD of course, but while PD is technically possible with USB-A, in practice you'll only ever encounter it with USB-C.

@dos Thanks. I guess the SMPS converting 12V to 5V can't handle the load if I provide 5V. I'll try to solder somewhere on the output instead.

@dos Well, that worked! Now I have a noncompliant but useful device.

Kinda worried about backfeeding current.

@dos Wait, PD technically possible with USB-A? I want to know all about it!

@dcz Won't help you as you'd need the host to support it. I think I heard about some Asian device implementing it. Never seen one :P

PD 1.0 used BFSK modulation over Vbus, which is completely different to USB-C's BMC over CC lines. Only the higher level protocol got reused. BFSK was still a (optional) part of USB-PD 2.0 spec which introduced USB-C support, but it got completely removed in 3.0. Wouldn't be surprised if there wasn't a single PD 2.0 implementation that supported it out there.

Sign in to participate in the conversation
Librem Social

Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.

Stay safe. Please abide by our code of conduct.

(Source code)

image/svg+xml Librem Chat image/svg+xml