▲ 62 r/homelab

Why is SMB so damned slow

I am getting my 40Gbit fiber network back up. I typically run the mellanox ConnectX-3 and -4 cards through M.2 slots or eGPU enclosures so it tends to limit their throughput to 22Gbits max. In practice with iperf3 testing I achieve between 13 and 20 Gbps.

That all is fine. Totally fine. Because the old 40Gbit gear is still a lot cheaper than "normal" 10Gbit gear, and I'm exceeding 10Gbit.

But transfer speeds over SMB (Linux to windows in particular) are simply atrocious. It regularly throttles below 1Gbit speed. I currently have 7 spindles in my main ZFS pool so I can sustain a healthy 1GB/s sustained read copying out of the pool, which matches up more or less with about 200MB/s from each disk and 5 disks worth of data being read concurrently. I just did a test serving a file to my windows machine with a simple python3 server and receiving it with curl and it managed 925MB/s. But robocopy can only do like 80MB/s. simply copying with windows explorer manages to average also less than 100MB/s (the speed compared to robocopy ramps up and down a lot while robocopy goes at the same rate, also robocopy would be accessing it through samba)

I think I'm ready to just ditch samba entirely, but I want to access my huge zfs pool from macos and windows machines on the network. Any recommendations?

reddit.com
u/michaelsoft__binbows — 14 hours ago
▲ 1 r/OWC

What is Innergize and why is the language so cryptic?

I have:

  • OWC Atlas CFexpress 4.0 Type B Card Reader
  • One Nextorage A2 SE 512GB CFexpress 4.0 Type A card

This memory card is for use in my Sony A7RV. It's an impressive card and I'm glad I got this reader (from OWC's sales site) rather than amazon since prices were similar and I trust the OWC brand very highly. It should be the most futureproof possible option as it comes with the B to A adapter card which I am using now, but it means I can use this reader if I end up with a CFe type B card in the future. I observed blistering 2200MB/s write speed and 1500MB/s reads with the reader and card.

I just have a pretty specific question. The manual for this reader states:

>The OWC Atlas USB4 CFexpress 4.0 Type B Card Reader contains a switch that enables Innergize support when connected over USB4 | Thunderbolt 4 | Thunderbolt 3. Toggling the OWC Innergize support switch from "USB4" to the "OWC Innergize support" symbol enables OWC Innergize support.

- The card reader connection converts from "USB4 | Thunderbolt 4 | Thunderbolt 3" to "USB 3.2 Gen 2 (10Gb/s)".
- Toggling the switch to enable Innergize support additionally provides macOS 10.13 and later compatibility.
- The switch doesn't need to be toggled to the Innergize symbol if the card reader is connected over USB 3.2 | USB 3.0 | USB 2.0.

This is needlessly cryptic, I just wanted a human to validate for me my interpretation:

  1. Innergize is a software that can provide some useful features for OWC branded storage media like see endurance levels, perform "media optimization", perform firmware updates. None of which I intend to or would be able to use
  2. enabling innergize prevents fast USB4/TB3/TB4 connectivity mode, locking to USB3.2 Gen 2 10Gb/s mode. The understanding is that the circuitry in place for providing the innergize functionality and capabilities cannot function over PCIe and need USB3 to work.
  3. The reason it specifically goes to USB3.2 Gen 2 10Gb/s is that that is supposed to be also supported on USB4/TB host systems but normally the connection would auto negotiate to the faster USB4/TB mode.

I just think the documentation could be a lot more clear with users about how they should be turning that mode off under typical usage, if they want to enjoy full read/write speed with their CFexpress cards. I think only CFexpress Type A 2.0 cards wouldn't be held back by a USB3.2 Gen 2 10Gb/s connection.

reddit.com
u/michaelsoft__binbows — 3 days ago
▲ 2 r/eGPU

Aoostar EG02 when enabled prevents X870I Aorus Pro Ice from booting

Hi, I am using an eGPU gadget in order to run my Mellanox 40Gbit NIC external to my SFFPC case. Ordinarily I dedicate one of the M.2 slots in my main SFF workstation to the mellanox card so I can get fast network access to my NAS and the rest of my LAN. However with my latest upgrade to X870 providing USB4 it is much more preferable to use USB4 for this purpose, so I can keep the network card externally and both M.2 in the computer can be used for NVMe's.

The issue is that the EG02 I bought, it totally works but whenever it is switched on and i reboot the machine, it prevents it from being able to post. I can actually cause it to continue and boot up fine if i manually turn the power switch off. I can of course turn it back on once inside the OS and it begins working no problem.

You can see how for a workstation setup this is less than ideal if simply leaving it connected prevents the computer from rebooting. I want to understand if this is a fundamental problem with a TB5 eGPU setup connected over USB4 or if I have any hope of avoiding this behavior by changing BIOS/UEFI settings or updating various firmwares.

The usual workflow is that the computer might be booted to windows and I game on it, and then I have a single command over ssh i can easily run to reboot to linux and I can use it as a compute node (the 5090 runs LLMs and generative AI blazing fast). If the eGPU setup that gives the fast network device to the computer prevents it from even booting up at all, that's a big issue.

reddit.com
u/michaelsoft__binbows — 8 days ago

Cheapest eGPU adapter: $100?

I've been looking for a thunderbolt "eGPU" adapter to bring up a second mellanox connect-x4 thunderbolt appliance. My first one works great, it's an old Sonnet 550W eGPU box. If you're not aware, macOS provides mlx5 drivers so any CX4 or newer will work out of the box connected to the computer over thunderbolt. So I am able to put both Intel and Apple Silicon macs as old as M1 onto my 40Gbit fiber infrastructure at home. Some newer Mac Studios come with 10Gbit, which is very welcome, but 10G copper ethernet transceivers are hotter and "worse" than fiber ones and DACs, which I do find to be pretty hilarious.

Anyway now that I finally have USB4 on X870 on my newly configured 9800X3D SFFPC it is finally time to set up the second one of these. Prior to this I would generally dedicate a x4 slot or secondary M.2 in the case of ITX in my machines for a mellanox NIC.

I found, surprisingly, on Amazon this item: "PCIE 3.0 x16 22Gbps eGPU DOCK, Thunderbolt 4 cable, compatible with external GPU NVIDIA AMD Graphics Card for Windows Laptop Console featuring Thunderbolt 3/4 USB 4, Powered by PD/8PinCPU/Molex/DC5521"

which is under $100. It has a JHL6340 Alpine Ridge in it.

I have been occasionally searching for such an item on aliexpress but it's always $150 minimum. So I dunno how it can be so cheap.

On amazon there are also others for $150 with JHL7440 which provide some more breakout USB ports. Seems nice to have that, but maybe not worth an extra $50. Although maybe I will go for that for the mounting bracket.

My other question is: do these really work by plugging in a 12v wall wart to the barrel plug? That will be so nice...

Trying to find more info about this setup, but it seems like it isn't talked about here and only on MacRumors forums.

reddit.com
u/michaelsoft__binbows — 13 days ago
▲ 34 r/sffpc

~50mm class CPU cooler strategy 2026, is AXP90 still best-in-class?

I am moving from 5800X3D to 9800X3D in my S60i carbon fiber case. So I am doing a little due diligence on cooling it.

So far it seems my AXP90 Full copper is still a top notch choice. Indeed with this class of CPU running around 90W under a heavy gaming type load, and a TDP of 105/120W these CPU (tuned appropriately with e.g. curve optimizer -30) will throttle on an AXP90 under synthetic loads but in most games will stay away from throttling.

I am not a super expert on how best to approach CPU cooling (so I would like to summon people like u/dubar84) but I can offer my own experience recently, which has been:

  • I avoided Blackridge due to invariably needing to shove 120mm fan on it and it not being practical to source VLP RAM, esp today it would be out of the question
  • I ran AXP90 for a few years under a NF-A9 chromax black. It was okay. I am also unsure if this fan is actually superior to the stock fan. it seems really close. Maybe mildly better noise.
  • The latest development of mine on my AXP90 full copper was the introduction of Silverstone Air Slimmer 120mm slim fan:

What prompted me to explore this was I saw the surface temp of my mobo tended to get pretty hot, like 60+C hot, with a thermal camera, and I realized that there was this unutilized space in the gap between the HSF and the mobo's VRM heatsink walls. My mobo (X570-I Strix) also has a chipset fan under there. I think I did have to remove a layer of stuff on the mobo to make it fit well, but it's only a few mm and wouldn't've stopped me even if i couldn't lower the VRM cooling wall, i'd have raised the panel or something.

So... all i had to do was remove the 92mm fan and put in this 120mm fan and it's an absolute beast. The noise is much quieter, it is lower frequency and more pleasant (though not quite yet pleasant in absolute terms), but importantly my CPU boosts to a couple hundred Mhz higher in-game, my temps are also a bit better (more 80-83 than 85+), and the temps seen below on the mobo surface in that entire chamber are down 10C from before.

As such I wonder if stock AXP90 and Panorama 2 (btw i still cannot find an answer as to whether these two are on equal footing or not...) are the best in class choices, then it appears like the air slimmer would remain the best way to squeeze even more performance out of it.

In my case I could go further by enlarging the cutouts in this area of the panel more and look into ducting it. My understanding is that 9800X3D will put out more heat but it's able to do it more effectively, so I will end up in much the same spot of insta-throttling under cinebench but games will push it to and maintain 80 to 90C under a reasonable curve optimizer setting. I assume PBO will be out of the question.

u/michaelsoft__binbows — 19 days ago
▲ 6 r/sffpc

Deciding between 9800X3D or 265K on AXP90 Copper

Finally upgrading 5800X3D/5090FE setup.

My real target is Zen 6 11800X3D for 12 cores to ride into the sunset. It is because of this clean upgrade path, that I am leaning 9800X3D right now. Otherwise, 265K appears to give a few neat goodies for me to play with:

  • NPU, although whatever is coming up in the next gen is actually the one that looks like it may be actually worth something
  • QuickSync? (very low value for me)
  • Intel Processor Trace

Case is Oath S60i (from taobao, I obtained it secondhand from somebody here), which explains the constrained CPU cooler situation.

I can also consider maybe 9950X3D by shoehorning an AXP120 type cooler in there and modding the side panel to "hot rod" the CPU fan onto it. I don't mind compromising the volume slightly if it can get me a lot more productivity performance.

Machine will do 80% gaming and 20% workstation productivity (compiling...) so I don't have much of a desire for more than 8 cores but it would definitely not hurt to have. Zen 6 12 core X3D will be an absolute dream upgrade path.

I am less certain about intel, but, if the Intel Z890 path gives me Arrow Lake now (which seems mildly competitive, esp with tuned ram I heard Arrow Lake can go toe to toe with 9800X3D in gaming; I recently picked up 64GB of Flare X5 DDR5-6800) AND an upgrade path to Nova Lake, and the big if of if Nova Lake can keep up with Zen 6, then this could also pan out well.

Kinda feeling I could probably win going either way and will see massive fps increases over 5800X3D in at least BF6 (I run 4k240 and that CPU limits me to basically 120 there)

I was thinking maybe I do go Intel to save a few hundred bucks this time, but I now learned Nova Lake is already confirmed to need a new mobo, so since it's not out yet and I need to do this switchover asap, I think Intel is about to lose a customer to their platform transience issue.

reddit.com
u/michaelsoft__binbows — 20 days ago
▲ 4 r/zfs

RAIDZ Expansion: To do or not to do

I think I have a borderline situation as to whether I should attempt a raidz expansion or not.

I have a 6x14TB Z2 vdev pool, which I thought I was going to be good with for a while, but then I grabbed a pair of 28TB disks for just over $300 each last year. And now I want more... I want to expand it from 56TB usable to 84TB by leveraging the two new spindles; I will partition 14TB out of each new 28TB disk to build a 8-wide Z2.

I have 19 or so TB (say 20) utilized in the 6 wide pool.

My new disks will give me 2x14TB partitions of scratch. I have available to vacate from my older disks, 8, 6, 2, 2, 2 TB. I can partition the 8 into a 6 and 2, giving me the ability to make a scratch pool that has 1-disk redundancy, e.g. with a topology made of mirrors of 6TB and 14TB and the 4 remaining slices of 2TB into something... since i only need 20, I may just do mirrors instead of raidz with those 2TB disks/parts.

So then the idea would be to spin that scratch pool up, send/recv from my 6-wide pool into it, and i will have redundancy present in all copies of my data at this point which will fit into the 24 or so TB of scratch pool space i'm creating this way.

Then I can destroy the 6 wide and create the 8 wide (by adding in the two new 14TB partitions) and send/recv a final time into the 8-wide. I estimate my 20TB should take 2 days to transfer so this will take like a whole week. I base this estimate on the fact that I just used rsync to complete my long running 14tb mirror to 6 wide 14tb z2 expansion I was doing (i kept one of the original pool's mirror disks around for validation) and the 14 or so TB took 37 hours to scan through with checksums. OTOH i have its resilver proceeding and the estimate puts it at about 8 hours total for 14TB of content...

The alternative is to just use RAIDZ expansion with my 2 additional partitions. It's a lot cleaner and I could also then delay fully cleaning out my older smaller disks which is a plus. I figure if the raidz expansion is going to be hands off it should lead to better quality of life, even if it takes longer than a week to crunch through the two 14TB partitions I'm looking to add.

What would you do in this situation? I know that expansion will leave me with unevenly distributed data that might be a bit awkward to fully redistribute. The USUAL situation is that the backup is there and it's easy, but in this case it's borderline. It's definitely a frankenstein and I have to design and build the frankenstein before I can use it. That part is fun for me though. It does have full redundancy, just not very high quality redundancy...

I already did the aforementioned shuffle where I was able to take a 2x14TB mirror that was completely full and with 4 fresh 14TB disks was able to finagle it into a final state of 6x14TB Z2 without any need for additional backup, which was until this upcoming one the most complex zfs operation i've attempted. luckily due to good planning it went smoothly, and I expect either of these paths I take will also go smoothly, I guess the question is maybe which is both safer and easier (as it would be silly to go against the option that is both easier and safer) and I suspect that the answer will be the expansion rather than the scratch disk frankensteining. It's just that most threads i see here say that expansion is a pain, so I'd like to learn more about what exactly makes it a pain?

I also have an extra wrinkle with the "traditional" pool upgrade: my 28TB disks' spindles will be shared by the scratch pool and the target 8-wide pool. This will make the final replication really slow and probably noisy even though it should not compromise safety much. I also wonder if it would overly wear the disk write heads with unrelenting thrash.

I guess I may as well go and clean up my spare disks to make the scratch pool so i can leverage it as an additional backup and i might still try the raidz expansion. So... the maximum pain and absolute maximum safety route.

I'm not really interested in cloud or offsite backup yet. this is too much data and will take too long and cost too much. i want to be efficient about putting my dollars into real hardware i can leverage for work, not renting stuff. Long term I do want that but it's for when I get around to reorganizing the stuff I actually care about into its own dataset so i can replicate that (and only that) off to offsite and cloud.

reddit.com
u/michaelsoft__binbows — 1 month ago

B-Hyve WiFi Hub cannot connect

The WiFi hub is what allows me to use my 4 port water hose timer controller when i am away from the house.

Bluetooth works fine with this controller but i must be home to do it. Maybe i can figure out some way to relay bluetooth signals over the internet, i don't know, but i want to get this wifi hub working.

To clarify: it was working all last year and 2 weeks ago when i set it up.

u/michaelsoft__binbows — 1 month ago

I got a new apple watch (S11) and still have my old one (S7) on hand and it is pretty useful to put on when the new one is on the charger.

But what I noticed is that alarms go off even on the watch i am not wearing. It's not the end of the world but if they are not silenced it gets annoying. Even having to turn off the alarm is more work than I'd like.

Is there really no way to make the alarms simply not go off if not being worn?

reddit.com
u/michaelsoft__binbows — 2 months ago

I think there is a slight change that would lead to better behavior, especially for loneocean's UDR drivers like Lume X1 where the lights can have almost arbitrarily low moonlight modes.

The way Anduril 2 behaves, for lockout 1H and 2H levels:

  • 1H: lowest floor of stepped and smooth ramps
  • 2H: highest floor of stepped and smooth ramps, overridden by memorized level if it's set.

I think the memorized ("hybrid") level is full featured enough to make the 2H setting very useful already. I can dial it in exactly as i want for use by the lockout 2H level, then I can set the memorization period to be as many minutes as I want so it does not have to have a large impact always overriding the memorized level during day to day use.

But when we want the ramp to be able to go very low, the trouble is that this makes 1H unusably low. We have to make this tradeoff because of this logic.

So I propose:

  • 1H changes to highest floor of stepped and smooth ramps

I like this because most people are usually going to stick to either stepped or smooth ramping, so the ramp mode that we don't use often can now be tweaked with a suitable moonlight level setting for use in lockout. That way our primary ramping method can still have as low of a floor for moonlight as we want while we can get a more reasonable practical moonlight level for lockout 1H.

Since it's so easy to do these days I have a PR out here.

u/michaelsoft__binbows — 2 months ago

This monitor self-reports as a EM160 Touch. I obtained it on aliexpress over a year ago.

What I've noticed is that running it at the max spec with my macbook (e.g. 100W PD power input to monitor, and thunderbolt 3 cable to my macbook, so it charges my macbook, and setting it to 120hz) it works until the monitor gets too hot (bottom right side feels like 45C or so to the hand) and it starts cutting out and coming back at about a 20 seconds or so frequency. I'm now testing with it set to 100hz and lowering its brightness to see if my hunch is correct that this is a thermal limit related issue.

Has anyone else experienced this issue with this monitor?

Another thing that is interesting for macos usage is that the touchscreen function works however i guess due to some lack of polish on macOS's side, it doesn't actually properly send the touch events to the correct display all the time. so if i touch it while a window on the main macbook display is focused it will send touches over there. If the mac is controlling an ipad through universal control, the display sends some sort of mouse movement event into there as well, but it's not even mapping correctly.

reddit.com
u/michaelsoft__binbows — 3 months ago