Hotplug is indeed part of the PCIe specification, and Linux kernel has some support for it. I’d assume something simpler like network controller would work already. Display drivers however I gather don’t have any support at the moment. Its however doable - its just software.
There is little article from one of the ESD chip makers:
The layout is simple, easily added to these existing designs.
Maybe a couple of pads can be added to the board so that optional esd protection can be soldered on?
for in line parts zero ohm resistors can stand in when no protection is implemented.
Now this, THIS is why I preordered a FRAMEWORK. I have been thinking of designing my own Oculink 8i expansion bay for the past month since I got my preorder in. @Josh_Cook I would love to purchase a fully populated board or just the bare pcb and hand solder (with needed reflow of some connectors) all of the needed components for your 8i/dp board when it is tested and fully working. If you do not want to sell anything I am OK with that, just wanted to put it out there. I was worried about having to do all of the dirty work that is learning how to design pcbs with high speed signaling in mind. I will be following this thread and anyone else that wants to accomplish this awesome feat very closely.
@Josh_Cook You mentioned you also had a dock of sorts planned? Then I’d assume you can offer that in a bundle /w cable because currently no matter how low the expansion bay card gets, you’d still have to buy the rest which is all marked up individually.
E.g. the 8i to 16x is 55€, the cable (both 8i and dual 4i) is 25-30€.
After doing some calculations the cost of even doing just a batch of 50 with assembly by jlcpcb is much lower (expansion bay cards <300€, cables <800€, PCI-E dock <500€), so a rough raw cost of ~30€. And that’s just with a batch of 50, I assume a lot more people will want this. So if you manage to offer the PCBs + cables for <100€ (+ potential brackets), it makes little sense for me to continue with the dual 4i.
Btw one slight concern is that the only 8i ports I could find are amphenols (even the burndy branded ones), and amphenol only makes internal 8i connectors, which are only rated for 50 insertion cycles. Doubt they’d fail soon after, but still
I’m still considering what to do. I DO want an open source design, and I doubt Josh will release his. On the other hand, an open source design doesn’t help much when it’s exceedingly expensive to manufacture. The dual 4i design IS quite expensive, jlcpcb has each 4i port listed as 4$, whereas the single 8i can be installed for just 1.8$. In other words, a 8i board can be made for <6$, a dual 4i for more like 12$. Plus, if you’re goal is an 8i link to a dock anyway, the Y-split cable is more expensive.
So there’s two options for me:
a) I test the dual 4i and maybe make a small batch for people who want a 4i over a 8i for various reasons - e.g. they already have a 4i dock, or wouldn’t mind the 40€ 4i bundle that are common for the Win Max, etc. Price hopefully 20-30€+shipping
b) I try to make an open-source 8i design that CAN be mass-manufactured more easily. For that, 6layer is fine so even I’d be ok doing it at this point. I’d also be fine doing a corresponding 8i dock. But at that point I would compete with Josh just for the principle of having an open source version.
So I’m a bit conflicted, and would like to hear your opinions on this.
Would you buy a dual 4i version when the 8i bundle is likely cheaper?
Would you prefer a single 4i design + NVMe SSD slot and/or external battery?
How much value do you give an open source design of the 8i (+ dock), allowing for others to do their own such modifications?
Also maybe Josh can give some input on whether he’ll open source his design once he starts selling. I just think it’d be a shame to not have an actually usable open source version, since it allows for other people to get their priorities integrated into the design (and for others to use, too).
The Expansion Bay is perfect for custom use, and each person will want their own combination of features that fits them just right. E.g. you could add a high quality USB2 audio interface in addition to OcuLink, you have all the space you’d need in there, and this would only EVER be done with an open source design. So I am really tempted to do a proper 8i open source version just for those possibilities. I certainly invested enough time learning all this to make this an easy choice if the demand for it is there.
Well, this is just one opinion, but for me the clear preference is maximum bandwith and future proofing, so if I understand correctly that would be one 8i cable (+ dock). Extra SSD is nice, for sure, but I value FPS most ;). Regarding the dock, my main priority would be that it can incorporate a SFX power supply in a nice way, instead of having a small integrated power supply.
So to answer, only because of these personal reasons, and as one opinion:
No.
No.
Well, a lot, because I might get an even more tailored version in the longer term.
PS: I might be mistaken to think that one 8i cable is most future proof. I simply don’t know a lot about specificities of oculink.
So atm, i have no real plan when to buy the framework laptop, so probably i’m not important for this question.
But what i can say is: If you would make a dock (or a bundle with an existing dock), then it would make no sense to use a 2x 4i Oculink port, because when the dock already is 8i, why going then for 2x 4i?
How complex would it be to have a switch to share the bandwidth between several devices?
For example to have an OcuLink 8i interface AND one or two NVMe SSD interfaces so that all can work at the same time and each can have the whole bandwidth when the others are not in use?
Personally, I do not see the need to have a battery there as the space is too limited to make a big difference and having a laptop with too big a battery could cause issues when traveling on a plane.
However I think the space should be used in an efficient way and since the FW16 does not have a second full size NVMe interface, the expansion bay could be used for that.
Dual 4i has the same bandwidth, 8i is just neater if you only ever want to use it for this one dock. If a new motherboard ever used PCIe Gen 5, then as long as the traces had enough headroom, it might be fine. But I doubt my 4 layer version would be really fine, perhaps we already have to move into a more controlled 6 or 8 layer board, idk. Would warrant some research.
That is always the goal, all dock PCBs I’ve seen are designed for this, but how well you can mount them together… well, you can do it cheaply yourself, or get a sheet metal mount (maybe even a preexisting one if we’re clever)
So in the end, you’d find an open source 8i connector valuable, I agree.
Dual 4i should already support splitting between two external devices, and IF you made absolutely sure to not use the dual-use 4i port when an SSD is installed, it might already work. But that’s not worth the risk of potentially damaging devices if you forget. I get the value of a switchable SSD, would very much like that. For a proper implementation (a PCIe MUX, cheap enough) it wouldn’t matter whether the interface is dual 4i or 8i in the end.
So I guess you could connect two external GPUs with the dual 4i already, that’s a teensy advantage.
I believe the batteries count separately, so you’d be fine on the airplane. Especially if you can detach it. I do believe even a 20-30% increase in battery capacity would be beneficial to some people, but even that is stretching it.
Sadly I doubt that’s going to happen, even standalone. Height of 5mm limits it to all but the thinnest drives (and even without the PCB you may just get 1-2mm more), length of 90mm at the low end of drives is also just barely doable (107mm on the board, but need space for the connector), but width of 70mm is just not going to fit. If you’re lucky you have 60mm.
Is the empty shell the only expansion bay available “empty” from framework ?
If we need more space the expansion bay framework have for their GPU might also be available empty meaning with the fans but no GPU inside. This would provide more headroom and more width.
Having bigger fans will not hurt as they will spin slower and keep the laptop cooler.
Also a PCB has two sides so we can have the components on one side and the SSD on the other.
I like the idea of having a PCIe MUX because the 8i bandwidth should be available and used by something even if the eGPU is not connected.
If the MUX is able to handle it and space is available, I could use a couple of USB-A ports so that my mouse dongle can be kept out of the way in the back of the laptop.
Doubt it unless it sticks out the back. Only possibility is if it sticks out of the back a big - also has additional “benefit” of being able to swap it out easier. Not sure it’s hot-swappable
No need for a MUX for a few USB-A ports, there is a USB 2 connection and it’s easy to add a USB hub circuit to expose a few, space wise maybe only 2 or 3. If you want USB3, ofc you’d need to have a proper USB controller using the PCIe Lanes. I very much like the idea of having all low-speed ports on the bay and reserve the side ports for actual high-speed stuff that needs the full USB3/4 bandwidth (assuming you can’t / don’t want to use a dock to get many USB2s out of one side port)
I think my dream setup would be an open source OcuLink 8i + DP with a switchable M.2 NVMe SSD for the upper lanes and 2-3 USB2 ports. I’d only be able to do this with quite a bit further research, but it would make a lot of sense, so I just might.