MOREFINE M6S BIOS dump (and a question)

I bought a few of these nodes and had to rescue one of them. While trying to rescue one of the nodes, I looked around for official/stock BIOS image …

I can’t find a copy of BIOS for Morefine M6S computers. Their website doesn’t have any link, or the links I can find are for the “non-s” variant

So for “the next guy”, here’s a dump of BIOS from one of the “working” nodes that I used to rescue the dead one

(Apparently new users can’t upload attachments. I’ll edit this post / create a reply with the zip file in a moment…)
EDIT: see below

My question

For EACH of the rescue nodes, I dumped the full 16MB flash twice and compared the sha256 hash to make sure that BOTH dumps matched.

While doing this, I noticed that the hash changed depending on the node that the dump came from… but the hashes did not change for each dump from the same node.

This got me wondering … the computers are all the same; really just the wifi/eth/bt MAC addresses that are different… so the bin files from each node should be almost identicaly save for a few bytes difference… right?

Nope. Not even close!

❯ diff -y <(xxd m6s.01.bin) <(xxd m6s02.bin) | wc -l
1048576

Can somebody weigh in on exactly why there’d be SO MUCH difference between the two dumps?

Looking at a visual diff of the two, some of the difference is one will have sections of 0xff and the other will have random bytes in the same section … but these differences are usually pretty small (few hundred bytes) and almost at random offsets. It’s not like a clear “oh, clearly everything above 0xf000… is not used and the flash chip was never fully blanked before BIOS was written so that’s where most of the diff is…”


EDIT: I can upload files, now :).

Since WeTransfer links can go dead at any time, here’s a dump that I took from TWO m6s nodes.

(Together, the zip is ~12 MB but I was getting an error on upload saying that files had to be under 15.7 MB :confused: )

m6s01.zip (6.3 MB)
m6s02.zip (6.3 MB)

sha256 of each BIN file is in the file name

❯ unzip -l m6s02.zip
Archive:  m6s02.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
 16777216  2023-11-22 19:12   m6s.02.b24fa9d7a2109ef64feafbd79e103abf0bd91db047fb135de920526e865c4101.bin
---------                     -------
 16777216                     1 file
❯ unzip -l m6s01.zip
Archive:  m6s01.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
 16777216  2023-11-22 19:46   m6s.01.1c455fd376bbfc504fa8f947b527710240ee9ee7e33f1dd639e908f92bc82756.bin
---------                     -------
 16777216                     1 file

I don’t know how long I have to wait until I no longer get the “sorry, new users can’t upload attachments” message.

Here’s a link to external host:

Inside the zip you should have a single file:

m6s.reset.1c455fd376bbfc504fa8f947b527710240ee9ee7e33f1dd639e908f92bc82756.bin
The sha256 hash is in the file name for easy verification.

Thank you for sharing.
You joined the forum 1 hour ago only…
Read the rules, at least 3 posts need to reach trust level.

There is a trust level system for all members of winraid and level1techs forums.

You are currently trust level 0 and you must reach trust level 1 to upload attachments.

You can get to trust level 1 by:

  • Entering at least 5 topics
  • Reading at least 30 posts
  • Spend a total of 10 minutes reading posts
1 Like

My account’s several days old:

Joined: Nov 23

But this will make 3 posts :D.

(there’s no mention of post levels here: FAQ - Win-Raid Forum)

ME and NVRAM. Otherwise it’s difficult to say something about where differences are with just one file.

Thanks for replying!

ME being management engine?

Linked in this post is a zip file containing bin files from two machines:

❯ unzip -vl m6s-twonodes.zip
Archive:  m6s-twonodes.zip
 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
16777216  Defl:N  6631591  61% 2023-11-22 19:46 5a32df3c  m6s.01.1c455fd376bbfc504fa8f947b527710240ee9ee7e33f1dd639e908f92bc82756.bin
16777216  Defl:N  6622355  61% 2023-11-22 19:12 1fe3d70a  m6s.02.b24fa9d7a2109ef64feafbd79e103abf0bd91db047fb135de920526e865c4101.bin
--------          -------  ---                            -------
33554432         13253946  61%                            2 files

Use UEFIToolNE; ME has a data partition, bios region has its non- volatile ram in SPI- NVRAM, often 2 volumes.

With special interest: Compare files in HxD (Ctrl-K), take address, ‘select item at base’ (Ctrl-G) in UEFIToolNE marks the corresponding volume/ item.

1 Like

‘select item at base’ (Ctrl-G) in UEFIToolNE marks the corresponding volume/ item.

Ahhhh. THAT was the little bit of “how to” that I was missing.

I don’t have easy access to a windows machine at the moment and I thought all the BIOS modding tools were pretty much windows based / didn’t look too hard to see that UEFITool/NE has linux binaries.

Now that I have a way to actually “see” what bytes in a particular area do, it’ll be easier to figure out what the difference(s) are.

1 Like