ThomasVon2021 / pikvm-board

Cheap and high performance hardware based on CM4 for pikvm or tinypilot
MIT License
240 stars 28 forks source link

PCI Express BliKVM? #14

Closed geerlingguy closed 1 year ago

geerlingguy commented 2 years ago

Something I mentioned in the Skype group chat, but forgot to formally request / document here, is a request to consider making the same basic board as BliKVM, but as a PCI Express card.

Now, it would be a dummy card—it couldn't leech power off the 12v rail because when the PC is powered off, BliKVM would shut down too.

But it would basically slot into one of the PCIe slots on a PC motherboard, then internally, you can connect the front panel stuff (ATX power, reset, HDD, and activity).

Externally, it would have the following ports:

The microSD might need to be internal on the board itself (maybe on the top edge) to save space on the back. It would be really neat to be able to slot in an IP KVM inside a PC directly, so I don't have to have an extra box with a jungle of cables hanging out the back.

hzzfly commented 2 years ago

What a great idea! Thanks for your suggestion, we plan to complete the demo within a month.During the design process, we may encounter some new problems, we will take the initiative to communicate with you.

At 2022-02-05 05:50:32, "Jeff Geerling" @.***> wrote:

Something I mentioned in the Skype group chat, but forgot to formally request / document here, is a request to consider making the same basic board as BliKVM, but as a PCI Express card.

Now, it would be a dummy card—it couldn't leech power off the 12v rail because when the PC is powered off, BliKVM would shut down too.

But it would basically slot into one of the PCIe slots on a PC motherboard, then internally, you can connect the front panel stuff (ATX power, reset, HDD, and activity).

Externally, it would have the following ports:

OTG (to connect externally to one of the PC's USB ports) USB-C power input Ethernet HDMI input (if it fits) microSD — though this could be internal to save space if you want to make a compact height card (if it fits) a hole for WiFi antenna connector

The microSD might need to be internal on the board itself (maybe on the top edge) to save space on the back. It would be really neat to be able to slot in an IP KVM inside a PC directly, so I don't have to have an extra box with a jungle of cables hanging out the back.

— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you are subscribed to this thread.Message ID: @.***>

geerlingguy commented 2 years ago

@hzzfly - Awesome! Will be following the progress closely. I just finished recording a video / setup review with my Dad and it should be posting soon—having everything in a PCIe card mounted internal to the computer would make the whole setup a LOT cleaner :)

hzzfly commented 2 years ago

Do you think it is necessary to reserve extra PCIO ports?

At 2022-02-07 13:59:38, "Jeff Geerling" @.***> wrote:

@hzzfly - Awesome! Will be following the progress closely. I just finished recording a video / setup review with my Dad and it should be posting soon—having everything in a PCIe card mounted internal to the computer would make the whole setup a LOT cleaner :)

— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you were mentioned.Message ID: @.***>

geerlingguy commented 2 years ago

PCIO - do you mean PC IO ports like USB 3.0 or the OTG, or do you mean GPIO?

hzzfly commented 2 years ago

Sorry it's GPIO

At 2022-02-07 23:31:27, "Jeff Geerling" @.***> wrote:

PCIO - do you mean PC IO ports like USB 3.0 or the OTG, or do you mean GPIO?

— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you were mentioned.Message ID: @.***>

geerlingguy commented 2 years ago

I don't think it would be too important—however, adding in even a blank pad with some extra GPIO exposed (and people could solder on a head if they want) would add to the board's flexibility (someone could add on extra functionality after the fact).

hzzfly commented 2 years ago

Ok thanks for your suggestion

At 2022-02-09 00:23:05, "Jeff Geerling" @.***> wrote:

I don't think it would be too important—however, adding in even a blank pad with some extra GPIO exposed (and people could solder on a head if they want) would add to the board's flexibility (someone could add on extra functionality after the fact).

— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you were mentioned.Message ID: @.***>

29039 commented 2 years ago

Hi guys, I found this by Googling. I have been looking practically forever to find a Pi mounted in a PCI slot and this came up... and also, I was planning it for the same purpose.

Some suggestions to add:

29039 commented 2 years ago

Also, would be cool if the non-conductive PCI slot insertion bit was segmented so that it can fit into x1, x4, x8 x16 slots for extra stability, and each segment should be scored to easily break off just in case it was to interfere with another component on the board.

Even the x1 Segment should be easy to break off just in case it was to be fitted over an old PCI or PCI-X slot where PCI Express probably wouldn't even align.

hzzfly commented 2 years ago

Thank you for your suggestion, we have designed a PCIe version of the hardware, with OTG, HDMIIN, ATX controller, Raspberry Pi fan interface, POE power supply, PCIe slot power supply. This version of the hardware will come with full-height and half-height PCIe boards, but we didn't take into account compatibility with older PCI slots, nor internal OTG ports, which is a good suggestion. We will be selling these hardware next month, making hardware adjustments based on customer feedback. image Welcome to join discord and discuss with us https://discord.gg/77EgS65S

hzzfly commented 2 years ago

We take your suggestion and leave a internal OTG interface, thank you, but this needs more test

29039 commented 2 years ago

Great work! Looking forward to it. Using actual PCIe is great idea, there should be enough standby power to run underclocked and then once pwr_on is kicked in you'd get the full power it needs.

It also makes me wonder if there is future potential to interface directly with PCIe in the future, for example one of those PCIe diagnostic cards which read POST codes.

okapia commented 2 years ago

This has the potential to be fantastic. I've been wishing for some sort of embedded system on a PCI card for ages. The ideal would be if it could use the PCI connection directly so that the host system sees a USB or even a graphics card and cables going between them are minimised.

geerlingguy commented 2 years ago

This was posted to the Discord recently—figured it would be nice to see here as well!

geerlingguy_2022-May-02

Seeing some hardware makes me excited—looks like this thing is nearing reality! Since other similar projects (like ASRock Rack's PAUL) are out of stock everywhere, this would be nice to be able to have. CM4s aren't completely impossible to find at list price, so it's still a good choice if you can get one.

ThomasVon2021 commented 2 years ago

hello,   Yes, cm4 price is too high now. We are trying to buy it at normal prices, and we are designing a version that has nothing to do with raspberry pi to achieve low-cost KVM. I hope you can continue to help us evaluate at that time. If you are interested, we will send it to you again when we are ready.

------------------ 原始邮件 ------------------ 发件人: "ThomasVon2021/pikvm-CM4-Board" @.>; 发送时间: 2022年5月3日(星期二) 凌晨4:56 @.>; @.***>; 主题: Re: [ThomasVon2021/pikvm-CM4-Board] PCI Express BliKVM? (Issue #14)

This was posted to the Discord recently—figured it would be nice to see here as well!

Seeing some hardware makes me excited—looks like this thing is nearing reality! Since other similar projects (like ASRock Rack's PAUL) are out of stock everywhere, this would be nice to be able to have. CM4s aren't completely impossible to find at list price, so it's still a good choice if you can get one.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

hzzfly commented 2 years ago

Thanks for your suggestion, Currently this version supports internal OTG @29039 07323c32cc9be9bd6c8a828fcaf7b39

GravitySandwichh commented 2 years ago

Can't wait for this to be released! This will be an instant buy for me.

drequivalent commented 2 years ago

You know what would also be great? Having some kind of graphics onboard - just so you don't have to put in a separate graphics card to have the video output.

Doesn't have to be powerful at all - just show the screen.

SchoolGuy commented 2 years ago

Is there any update on this? Having this inside the machine itself would be a huge space saver for me (and in my homelab that is the most important resource).

KurisuWong commented 2 years ago

Oh wow. I wonder if it is possible not to plug in pcie slot when I am using PoE.

m50S79sM6SRNp8Jn commented 2 years ago

Is there any update on this? Having this inside the machine itself would be a huge space saver for me (and in my homelab that is the most important resource).

It's your lucky day. Just posted yesterday, see

BliKVM discord @https://discord.gg/dwx7vKYt https://discord.com/channels/943534043515977768/943536121365794866/1001528451100069978

m50S79sM6SRNp8Jn commented 2 years ago

Oh wow. I wonder if it is possible not to plug in pcie slot when I am using PoE.

Join BliKVM discord @https://discord.gg/dwx7vKYt

drequivalent commented 2 years ago

Discord sucks.

geerlingguy commented 2 years ago

Just wanted to come full circle—I just posted a video on the new card today, and I love the card! (Especially compared to the original BliKVM, which was already nice, but cumbersome): https://www.youtube.com/watch?v=cVWF3u-y-Zg

29039 commented 2 years ago

dang it where's mine? haha. Enjoy it.

Elv13 commented 2 years ago

Just saw @geerlingguy video (thanks!).

I know this is a very niche ask, but what about servers with no display support? Would it be possible to make an higher end version using the chip used in the ASRock Rack M2_VGA. Seems to be this https://www.versalogic.com/wp-content/themes/vsl-new/assets/resources/support/mpee-v5/SM750_Datasheet_v.1.4.pdf . It ain't cheap, but along with using the Pi own GPU to have some kind of pass-though to HDMI, it would double as a 2D graphics card and KVM. Definitively niche, but for servers without GPU support, a really appealing proposition. (note: In my case that would be my QNAP router, which is an intel atom without any GPU, but 2 PCIe-3 2x in 4x slot expansions. That kind of device only have 10watts per port, not enough for any AMD/NVIDIA GPUs to even attempt booting (and yes, I tried to use miner powered riser to supply the extra power: doesn't work)).

29039 commented 2 years ago

Just saw @geerlingguy video (thanks!).

I know this is a very niche ask, but what about servers with no display support? Would it be possible to make an higher end version using the chip used in the ASRock Rack M2_VGA. Seems to be this https://www.versalogic.com/wp-content/themes/vsl-new/assets/resources/support/mpee-v5/SM750_Datasheet_v.1.4.pdf . It ain't cheap, but along with using the Pi own GPU to have some kind of pass-though to HDMI, it would double as a 2D graphics card and KVM. Definitively niche, but for servers without GPU support, a really appealing proposition. (note: In my case that would be my QNAP router, which is an intel atom without any GPU, but 2 PCIe-3 2x in 4x slot expansions. That kind of device only have 10watts per port, not enough for any AMD/NVIDIA GPUs to even attempt booting (and yes, I tried to use miner powered riser to supply the extra power: doesn't work)).

You can't remote control a display which doesn't exist. The solution would still work for providing remote power buttons. If you want to add a display to your hardware that is a whole other story not related to this, but I would suggest a USB display adaptor as an easy solution.

Elv13 commented 2 years ago

You can't remote control a display which doesn't exist.

The chip above is (AFAIK) an embedded VGA/VESA compatible GPU. So it makes the display exist if wire to the PCI-e. Looks like some of them also uses an aspeed chip instead of the one linked above. That aspeed chip is also used in their PAUL card.

but I would suggest a USB display adaptor as an easy solution.

this is what I did (USB2 displaylink), but it doesn't let you configure the BIOS or select boot devices.

29039 commented 2 years ago

You can't remote control a display which doesn't exist.

The chip above is (AFAIK) an embedded VGA compatible GPU. So it makes the display exist if wire to the PCI-e. Looks like some of them also uses an aspeed chip instead of the one linked above. That aspeed chip is also used in their PAUL card.

but I would suggest a USB display adaptor as an easy solution.

this is what I did (USB2 displaylink), but it doesn't let you configure the BIOS or select boot devices.

I get it, but what I'm saying is that I don't think that it is the job of the kvm to also provide a GPU when in most cases it is for a PC which already has one and it would add a lot of cost

Elv13 commented 2 years ago

when in most cases it is for a PC which already has one

Yes, I as said, it's more of a niche. Mostly for actual servers-like-devices (both consumers and pro) and industrial equipment which have no IPMI and limited options when it comes to displays. Now, of that market, is there enough demand and people who want a display? I don't know. I am happy with pikvm for normal hardware. It's just that if you build a PCI-e version, at that point it might be worth it to cover both use cases (and that doesn't mean a super complex card,the M2_VGA seem to have only 1 IC from the picture floating around (it's impossible to find right now, I would have bought one for my router).

jstewart612 commented 1 year ago

Do those pcie pins actually go anywhere on the circuit board for the BliKVM pcie? I find myself curious because I have a fitment issue with my case and motherboard selection, but if that part that goes into a pcie slots weren't there, I could fit it into a half height pcie slot on my Hyte Y60 case with an ASUS ROG Crosshair Hero X670E motherboard whose motherboard accents and heatsinks obstruct where what I believe is that dummy pcie placeholder on your circuit board is located.

drequivalent commented 1 year ago

Nice to finally see this built.

However! IMHO, power input must be on the inside and it should come with a breakout connector for 24 pin ATX, so the module could leech off the ATX standby power.

Or use PCIe standby, if available.

In fact, if we already have access to PCIe, why not have a PCIe to USB bridge onboard for keyboard and mouse input?

A tiny GPU for display output would also be very nice, as mentioned by @Elv13.

This way we only need ATX control wires, and that's it, an actual plug and play KVM card.

hzzfly commented 1 year ago

The PCIe slot will provide 3V 9W DC power supply in the off state, but not all motherboards support this function. Both PCIe to USB and PCIe graphics cards need to install corresponding drivers on the controlled computer, which reduces the compatibility of blikvm-PCIe. @drequivalent