• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

Size doesn't matter... or a non-boring adventure of modding M73p Tiny.

silentbogo

Moderator
Staff member
Joined
Nov 20, 2013
Messages
5,663 (1.35/day)
Location
Kyiv, Ukraine
System Name WS#1337
Processor Ryzen 7 5700X3D
Motherboard ASUS X570-PLUS TUF Gaming
Cooling Xigmatek Scylla 240mm AIO
Memory 64GB DDR4-3600(4x16)
Video Card(s) MSI RTX 3070 Gaming X Trio
Storage ADATA Legend 2TB
Display(s) Samsung Viewfinity Ultra S6 (34" UW)
Case ghetto CM Cosmos RC-1000
Audio Device(s) ALC1220
Power Supply SeaSonic SSR-550FX (80+ GOLD)
Mouse Logitech G603
Keyboard Modecom Volcano Blade (Kailh choc LP)
VR HMD Google dreamview headset(aka fancy cardboard)
Software Windows 11, Ubuntu 24.04 LTS
Hello, TPU!
It's me again with my boring nerdy tech stuff.

The story starts like this...
A long-long time ago in a far-far away kingdom I stumbled upon an interesting forum post with an even more interesting article (in Chinese) about modding Lenovo M93p Tiny to have a fully-functioning mSATA port. At the time I was a bit busy with my stuff, and totally forgot about it until a few weeks ago, when I saw someone on YT following the article and making this mod with positive result.
Coincidentally a few days after I watched that vid, me and our head engineer had a discussion about replacing shitty laptops with sturdy mini-PCs for our drive tests. Immediately I thought of the video, and an article, and Chinese nerds, and it clicked - I'm gonna make that! Even better - I'm gonna make that and add a shitton of USB ports without daisy-chaining.

So, my hunt started.
First, I searched for the cheapest but functional M73/M93 the money could buy, and my glance immediately fell on a dusty and slightly worn M73p unit that's been tirelessly working in some warehouse. It was a base config w/ Core i3-4130T and 4GB DDR3, no SSD and pretty boring, with an exception of an included DVD expansion module. I contacted the seller, he told me that this unit is already on the way to the new owner, but they might have another one w/ similar config gathering dust somewhere in the storage room. Motherboard is exactly the same as M93p(IS8XT), so I said "whytahellnot" and gave him my $85.
Got my box in mail the next day, and to my surprise I've got this:

IMG_20210305_190702.jpgIMG_20210305_190711.jpgIMG_20210305_190724.jpg

Brand-spanking-new, still in factory wrapping M73P! With Q87 Q85 chipset instead of boring H81! And it has cool options like Intel 7260 WiFi adapter and an extra DisplayPort!
I almost shed a tear, thinking that in the next few days it'll have to undergo several surgeries in my dusty workshop...

MODS AND UPGRADES

First, I'll start with easy stuff: upgrades.
Our new measurement rig requires some serious compute power, so that puny i3 has to go, and to be replaced with Core i7-4785T. Something like Xeon E3-1275LV3 would be much better (and it'll work 100%), but in my area it's almost as common as pink unicorns. Along with 16GB RAM and a decent SSD it'll be a bad-ass tiny beast, almost like my aunt's yorkie :D:D:D

Already got the CPU. I'll post some pics when I get the rest of the stuff.

Next, we'll do some mods.

ADDING mSATA
This is by far the easiest part.... to f#$% up, even if you can solder. I couldn't find any brand new mini-PCIe slots locally, so I had to resort to my donor pile.
With a little bit of magic from Rose's metal(specialized alloy that melts even in boiling water) that slot came off no problem.
Now it's time to disassemble that M73p and put the slot over here:
IMG_20210306_165344.jpg

Wingardium Leviosa! And the slot is already in place.

IMG_20210306_170930.jpg

Next, I have to follow this not-so-confusing cheat sheet and make it do useful stuff, not just sit pretty on the board:
40280000p5p93460p0rr.jpg

But that's a task for tomorrow cause it's getting dark here, and local vampires might come out soon.
I'll keep you, guys and gals, posted! :toast:
 
Last edited:
Interesting. Curious to see where this goes.
 
DAY 2
The first thing I did today was digging up that donor board which bravely donated its mini-PCIe slot yesterday, and dug around some more for matching caps and resistors.
IMG_20210307_143425.jpg
The entire process is quite similar to the video from my first post, so I'll just show you the end result on top and the bottom of the board.
I've also added a J17 jumper, cause why the heck not. I've seen it on some M93p boards, but I have no idea what it does(yet).
IMG_20210307_143000.jpgIMG_20210307_180419.jpg

Next, a little bench-test to see if anything changed. I'm not sure if it's supposed to be like that, or if I've messed up straps near SuperIO, but instead of mSATA I've got two additional SATA devices and another eSATA (which neither variant of this board has). I'll try to dig around and see if I need to flash BIOS to M93p or M4500Q in order to have proper ATA device detection. Plus, I didn't receive my mSATA SSD yet.
The good news are - nothing exploded, nothing burned down, and I didn't lose any of my working peripherals in the process.
IMG_20210307_181935.jpgIMG_20210307_180742.jpg

Meanwhile, I've disassembled a DVD module to see if I can stick something in it. There might be enough space to accommodate another USB Host controller card, or something more interesting, like a mikrotik routerboard or a compact 4-port ethernet switch.
IMG_20210307_181945.jpg
I've also found some more info about few unused board headers. Apparently there's one right next to SATA power port for an additional 1x USB2.0. There used to be a factory option for this, which takes up the spot where I have a second Displayport.

UPDATE:
Holy crap! Urgent update!
Mi iz a slik kat. Mi findz schematiks on the internetz :D :D :D

Not sure if I can post the whole thing here, so I'll copy-paste a tiny part related to this mod:
msata.PNG

With this piece of documentation I expect a lot more HW modding over the course of this week.


P.S. Now the mystery of J17 jumper is unveiled. It's SMBus header (definitely useful for something :rolleyes:).
 

Attachments

  • IMG_20210307_180742.jpg
    IMG_20210307_180742.jpg
    1.4 MB · Views: 389
  • IMG_20210307_181935.jpg
    IMG_20210307_181935.jpg
    7.7 MB · Views: 388
  • IMG_20210307_181945.jpg
    IMG_20210307_181945.jpg
    7.1 MB · Views: 288
Last edited:
you should try and do an external GPu mod on that thing if the mini PCI-Ex works. super mega ultra portable gaming station.
I'm gonna do that when I get a personal M73. This one is a "proof of concept" or a "poof of money" for work. Basically our head engineer asked to have, and I quote, "a shitload of USB ports".

BTW, I sold my couple of spare mini-PCIe risers just a few weeks ago.... Fortunately I found a very-very compact laptop riser that's gonna be even better.
421711059_w640_h640_riser-1x-rajzer.jpg

Just need to figure out how to supply enough power on +5V rail.
Claimed 9.6A on +5VDUAL rail may seem reasonable, but with at least 10 phones connected I'll be pushing it close to the danger zone. May need to fall back on USB2.0 host controller, so I can limit it to 500mA per port, or do a little workaround on my extra ports.
 
DAY 4
I'll skip day 3, cause I haven't really done anything productive. It was a holiday here, and like any normal person I spent it setting up a reverse SSH tunnel to one of our work servers :banghead:

Today, however, I've got some movement in the right direction. Still don't have my mSATA drive (and I think that SATA detection anomaly is tied to MSATA_DET_P51# signal, which is absent without a drive).
Besides that, I've made big strides on other hardware modifications.
First of all, I've made my own USB expansion pigtail, which still needs a jacket with screwholes or standoffs, so it can be mounted in place of the second Displayport.
I've decided not to destroy any original parts, which may be handy once I get my personal M73/83/93 Tiny. So, tomorrow I'll cast the rest from epoxy or plastic. BTW, I've used wiring and connector from a broken laptop fan that's been dug out of my trash pile. Perfect fit, except it has no shield pin connected (it's optional, and will actually be shielded by chassis itself). Lenovo also skimped on USB_DET functionality, so it doesn't matter anyways.
Also, before you yell "why don't you have a heatsink on", note that it's a 35W CPU with no load. It's barely warm to the touch, and heatsink gets on the way of my pseudo-scientific measurements.
IMG_20210309_134339.jpgIMG_20210309_134320.jpg
And the final test on the bench:
IMG_20210309_185528.jpgIMG_20210309_185607.jpg

Second, I've added a 5VDC jack in place of WiFi antenna, so I can slap a 5-port GbE switch on top of M73. Hopefully with all the trinkets on USB bus I'll still be able to stay below 9.6A total limit on that rail (I'm planning on using one of the newer TP-Link "green" switches with 0.6A maximum current draw). This will allow us to connect various measurement equipment via ethernet, and be able to connect via RDP to the machine itself. No need for extra power cables or additional DC-DC converters. Just a good-ole 90W Lenovo car charger will do just fine for the whole rig.
The actual power source is going to be a SATA power connector, which also gives me the ability to switch it to +12V just by swapping some pins on the header, or making a physical switch.
IMG_20210309_184209.jpg
 
DAY <???>

After almost a month of crazy unforeseen hiccups at work, and being occupied by building a mini-DataCenter in my apartment I finally managed to pull my head out of the ass set my mind back on track and finish this project.

Long story short: my M73p didn't work, even though it should've. Maybe it was some weird variant of the board, or it had some unknown issue that prevented straps from working correctly, but the end result was 3 extra "virtual" SATA instead of one fully-working mSATA. This meant I had to use a boring 2.5" SSD.... and adding an extra host controller was also out of question due to space constraints.... :banghead:

My first idea was to get a bare-bones M93p Tiny, which is a tad over $150 w/ Pentium G, 4GB RAM and without storage. But a few hours later I stumbled upon a listing of used IS8XT boards. After a few words with the seller he "reassured" me that these were parted-out pieces from M93p tiny (maxed-out w/ Q87 chipset), and that all of them were tested and 100% working. The price was very good (~$25)... Actually it was too good, but I made myself an example of how common wisdom works. I wasn't even slightly suspicious of why would someone part-out a mini-PC with proprietary parts that you can't use anywhere else (unless it was ran over by a tank), or why it was so friggin' cheap. "Greedy pays twice" my grandma used to say, and I did pay exactly twice. First order - I've got a wrong motherboard. Fortunately for me it was a fully-working M700 (skylake-based successor which costs several times more). I contacted the seller, and he didn't mind me keeping this MoBo (which will be a critical part of my next project), so I've placed a second order and he promised that this time they'll get the right thing.

I got "the right thing" alright... only the issue - it didn't boot. Standby LED on the flipside did light up, but no signs of life. Refund was an option, but I got tired of dealing with idiots and decided to fix it myself. After an initial inspection I found signs of shitty repair: someone tried to replace an audio codec, but did not solder it properly. Didn't even bother cleaning up their stinky sticky garbage-flux. 3 minutes of work with my hot air station, some scrubbing with IPA, and voila! My replacement board booted!

Regarding the actual mod: I'll skip boring details, since I simply repeated the procedure from posts #1 and #2, replaced an M73p board with a new one, and.... lo and behold, I have mSATA!!!!
Apparently there are differences not just between revisions, but also between M73/83/93p boards. For example, M93p has five USB3.0 ports on-board, while 73 has 4xUSB3.0 and 1xUSB2.0. What's even weirder, is that all of these ports are going from the same host controller(except USB2.0 header). Which means without my homebrew pigtail I'd cap out at 8 devices regardless of how many hubs I hook up to this machine (more on that later).
IMG_20210417_184722.jpgIMG_20210417_184716.jpg
source.gif


My USB2.0 expansion still works as intended, the only thing that's left is adding an extra USB host controller, so I can have my "shitton of USB ports".
I've removed a header for a secondary DisplayPort pigtail (who's rightful spot is now occupied by my homemade USB expansion). It was getting on the way of installing a full-height mini-PCIe card.
All I have left is to stick that shortened host controller, find 5V source for it and drill some holes for a front panel USB bracket.
IMG_20210417_185408.jpg
Also, what we've also discovered last week, is that Lenovo decided not to include any xHCI/EHCI options in BIOS, and our old board was always hitting the limit of either USB devices, or USB endpoints.
Next week(or maybe sooner) I'll do some tests on Q87 chipset and see how well it does against my old Q85 board. In theory it makes no difference, but in practice one of our laptops w/ Q87 did handle 13 phones (~40 or so endpoints) without disabling xHCI or USB3.0 altogether. A lot more, if you disable USB3.0.

I think that was a decent-enough update.
Thank you for your attention. 'Till next time!
 
Back
Top