Open jaredmauch opened 9 months ago
Hi @jaredmauch,
Thanks for sending this in.
A weird thing, the failure stack trace happens while reading the firmware version before the tool has tried any flash operations. The same request is sent for every command, but in the case of chip_info
and read_flash
they seem to have succeeded.
If you power cycle the enclosure and try writing again, does it behave any differently?
This isn't actually an enclosure but a USB <-> M2 adapter i can find it in my purchase history or post a photo, but it's basically a bare exposed PCB w/ NVME on it
Oh, interesting! I guess same question, though - if you try power cycling it and writing flash immediately, does it get any further than the stack trace you sent?
yeah, i beat on it pretty hard with a lot of different tools, I'm wondering if it actually has a user updatable flash area or if it's fixed, i tried it in both arm(pi5) and x86 hardware to see if there was some endian related issues as well. The Nvme is a WD SN 530 2240 and the adapter is https://www.amazon.com/gp/product/B07JKWHFRC/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
Ok the plot thickens, while it presents as:
Bus 001 Device 003: ID 152d:0562 JMicron Technology Corp. / JMicron USA Technology Corp. JMS567 SATA 6Gb/s bridge
A photo of it shows JMS583 on the chip
Ah OK, if this is a different USB/NVMe chip then it might use a different protocol - it's clearly very similar, but hardware companies often tweak details as they move forward. You might need to do some reversing/development work to use this tool with it.
There is almost certainly a flash chip visible in one of the photos on Amazon, it's the 8-pin SOIC package next to the bigger JMS chip.
There is almost certainly a flash chip visible in one of the photos on Amazon, it's the 8-pin SOIC package next to the bigger JMS chip.
Hmm, actually it's hard to tell as they've photoshopped an arrow on top of it but it might be the power supply chip instead.
If you have a high res photo of the real board then I'd be curious to take a look at it for you, but would also understand if this is the end of the line for now. :)
Ok, I'm doing a bit more digging into things as I have another device that also looks to be a 583 - What I'm seeing is that when the firmware is more than 65536 in size that might get written out there's some underlying issues. I'm willing to pop the chips off and read them in another device as I have flash and ability to rework the PCBs (but time is somewhat limited so this went on the back burner for a bit)
Here's a slightly different board that also has slightly different layout: (https://amzn.to/3OPEahN)
This one seems to have the FM25Q0 SOIC-8
I'm also going to look at the pin header to see if it's actually a TTL console port for the 563 which may provide a path to debug further what is going on
Good luck, interested to see where you get to!
I think most likely there will be some small difference(s) in the USB protocol for JMS583 compared to 567. The most direct way to update this tool is probably to get a USB packet capture from an official updater and reverse engineer from there, but it's a bit of a pain.
while writing out JMS567_SSI_v20.06.00.01.bin to a USB device I received the following bug/traceback
the existing firmware/device identifies as:
with the following kernel messages as the device is inserted:
the existing firmware from a read_firmware md5sum is as follows with the md5sum as well of the image I was attempting to write out - it doesn't seem to erase/write at all.