Yea, but that’s why it’s useful. For reducing overhead on an eGPU (oculink or usb-c). Or just using your FW16 as a makeshift external display. We already have plenty of avenues for display output.
So I checked the drawings and what is available in terms of RJ45s and with the right mid mounted RJ45 it would indeed fit in the shell of the graphics module.
If you have a pcie lane to spare you could even make it 10gbit.
With the design Im working on rn there would only theoretically be PCIe lanes to spare, but practically not. While the USB host controller Im using only uses 1 lane, the 8x port can only be bifurcated into 2 4x “slots”, one of which will go to the OcuLink port and one lane of the other one will go to the USB host controller. The remaining 3 lanes, while theoretically not used, can practically never be used as they belong with the 4th one and cannot be further bifurcated.
But a USB 3.0 connection can do 5Gbit/s, so in theory a network port could be 2.5Gbit with the correct controller.
Ah yes, that makes sense. eGPU on the OcuLink port and then a DP coming back from the eGPU and plugging into an external miniDP input.
Ill have to check if its possible to do that without permanently disabling the builting graphics just by having the expansion bay module in, but Ill think about it…
It could be bifurcated however you’d want but the ec only has profiles for 1x8 and 2x4 so there is that indeed.
actually a bit more if you use an 5gbit usb to ethernet chipset. But going with a 5gbit host controller seems like a waste anyway, 10gbit usb has been pretty common for ages now with 20 being not that rare. My 5 year old desktop mainboard had a asm3242 20gbit host controller on it.
The reason why Im going with a USB 3.0 host controller and nothing faster is because I have to be able to actually get the chip and I am not a company that can order 100s of thousands of a chip at once and I have been unable to find anything faster with 4 ports from any european distributor that sells to individuals.
whether it can be bifurcated further depends on the CPU, because thats where the PCIe lanes originate. But yes, the EC only lets you configure 8x1, 4x1 or 4x2. idk if the CPU could technically support further bifurcation, but that doesnt matter as long as the EC doesnt allow us to configure it that way…
That is a shame
it can.
Well the ec is open source but needing a modded ic is sub-obtimal for a bunch fo reasons.
Ok, I think the plan now for me will be this:
- Externally:
- 3x Expansion Card Slot
- 1x OcuLink port
- 1x mini DP IN port
- Internally:
- 1x USB 2.0 Type A for a dongle
- 1x USB 3.0 pin header
- On a small separate PCB:
- 1x Ethernet RJ45 with a USB 3.0 to Ethernet chip and USB 3.0 pin header
- The idea here is that if you buy a empty GPU shell, you can use the same main PCB and add this extra PCB in the back to get the ethernet port and if you dont have the larger shell, you can do whatever with the internal USB 3 port. I will try to design the main PCB with dual footprints for the connectors to match the size of either shell - I have not looked into if this is possible without much issue yet and will report when I know more.
Small progress update:
I havent spent a ton of time working on this, but have made some progress.
- mini DP connectors are surprisingly hard to find (I guess everyone kind of decided to go with full-size DP instead?). So far I was only able to find one model that I could get from within europe, but that one wouldnt fit due to being wider in the back where the contacts are
- I have fully locked in the locations of a few components (expansion cards, OcuLink, dongle connector)
- I am now going to use a ribbon-cable connector instead of a standard USB 3.0 pinheader as the later wouldnt quite fit, but using a ribbon cable for this is going to be better/easier anyways
- I started running the first traces (fans, DP, EEProm)
- I 3d printed a few of the holder pieces I designed and made a cardboard template/placeholder for the PCB and did some basic fitment and usability tests with those and am positively surprise.
- I dont have the locking things at the moment, but these holders/rails are actually surprisingly strong despite their very small size. It looks like this will work pretty well.
- The only little issue I found is that I will need to find some type C connectors that are approx 2mm raised above the PCB as the ports on the expansion cards are a bit too high to go into connectors sitting directly on the PCB
- Small sidenote: for this to really work well, all three slots need to be filled. It may be possible to improve things by glueing the little holders/rails to the shell with superglue, but Im not going to try this
No retention mechanism for the middle card?
If this mechanism I designed works, there will be locking for all cards. It would involve 4 small screws accessible from the bottom (through a hole drilled for them) with the screws on either side of the card to be released having to be loosened.
The reason why I havent 3d printed those bits yet is that a) I would need to really dial in the settings for printing them first and b) I think those bits should ideally be made of something stronger and would not work reliably if 3d printed…
An Ethernet ix connector might fit. Needs a different cable though. HARTING ix Industrial® | HARTING Technology Group
I think height wise one of those might fit yeah, but at this point in the “normal” expansion bay shell there isnt any space horizontally left. Id have to get rid of probably the OcuLink connector to put one of those in.
And also, if you can find a mid-mounted one of those I think they could fit into a modified/custom expansion card actually, so I think if someone wants to use that type of connector, that would be the way to go.
With the shell for one of the graphics modules, a regular RJ45 just barely fits in, so there is no point in using a connector that would require a custom cable like that…
So another quick update:
I have been working on the PCB layout and have started connecting some traces.
I have also once again looked into the possibility of PD, but now I dont think it will really be worth the effort. The 5V rail only supports a max of 2.5A, which is not a lot and I would have to limit PD output to 2A max as the other 4 USB ports could all be drawing power simultaneously as well and its not good to put the interposer to its limit. To get any more output current would require building a DC to DC converter to step down the VSYS voltage to 5V (or potentially other output voltages), which would be a whole lot more effort…
PD in is imo not really worth the effort as the interposer allows a absolute max of 85W on the VADP rail for power going into the laptop. To not overload the interposer I would limit the power there to 80W max and considering the slots in the laptop support up to 240W input, thats a tiny amount in comparison.
Considering the work and cost that has to go into this to make PD possible, I dont think it would be worth it with these limits.
If you all here insist on it, maybe I will consider adding 2A max 5V PD out on one of the ports, but no guarantees…
Next update: I am still working on the layout and today I have finished laying out everything related to the USB connections.
Next I “just” need to do the connections for the OcuLink connector and the mini DP connector, as well as power and ground.
I have been looking for a PCIe retimer/redriver IC to place in front of the OcuLink connector, but have not really found a fitting part.
For one of the USB C connectors I have included the option to have it either at low power or at up to 1.5A 5V output via PD by adding or removing a specific resistor.
This looks great! I would vote for the 3 Extension Cards and a cellular modem (with externally accessible SIM tray). I think it would also be interesting to have the OcuLink but also an M.2 slot and the option to use either of those (internal M.2 or External OcuLink).
The absolute ideal would be a bay that allows for the above plus an Ethernet jack and an extra internal battery and the standard locking mechanism on the Extension cards. A bit of a bigger project but that would be amazing!
All that sounds great on paper, but isnt really feasable I think.
Like even using a GPU shell instead of the regular one as the basis, it would only maybe be barely possible to fit an M.2 in addition to extension cards in the thing, let alone a battery.
Im also not sure how a like OcuLink/M.2 switch would be implemented. I suppose a PCIe multiplexer might be a thing that exists, but not sure?
To be able to add a battery you would probably have to make the shell extend like 10cm from the back… lol
The available space is a lot less then what it looks like if you look at the laptop from the bottom or even at just the expansion bay shell…
The standard locking mechanism would again require a bigger shell, as it needs more space between the extension cards and would also require at the very least the actual locking bar thing to be custom injection molded or machined, as there is no way that can be 3d printed in a way that it wouldnt be much bigger and strong enough at the same time.
The rest is reasonably achievable.
Like if you wanted you could totally take the design Im making and then add the Ethernet to the USB 3 extension connector Im including and the cellular modem to the dongle USB 2 connector. USB 2 bandwidth is still going to be pretty good for cellular…
Youd just need a custom shell (maybe with a lot of effort you could fit that into a GPU shell?)…
Just to clarify: Im dont want to be discouraging, just trying to be realistic. ![]()
As for another update on what Im working on: I have now done the main power planes and some routing for the other power rails and now have been procrastinating doing the impedance matching for the PCIe traces…
I did look for a PCIe retimer/conditioner chip to possibly put infront of the OcuLink connector, but was only able to find a single one and that one is a) way to big, being for a 16x PCIe and b) way to expensive at like 70€ for one chip…
Ill have a look at some ESD protection though and then Ill have to eventually bite the bullet and just do the routing for all of that…
Still havent found a mini DP connector that I can use. It really seems like basically the whole world decided that we dont need those connectors any more. Even DigiKey, Mouser and LCSC only have like 3-5 models available each, but DigiKey and Mouser are kind of completely out of the question for me at the moment due to US import/export restrictions, taxes, etc and LCSC is pretty expensive once I factor in shipping…

