novnc / noVNC

VNC client web application
https://novnc.com
Other
11.72k stars 2.32k forks source link

Does they have iKVM support schedule? #385

Open NorihisaNakai opened 10 years ago

NorihisaNakai commented 10 years ago

Hi, We want to connect to iKVM (Supermicro motherboard IPMI VNC Server) on noVNC. But, iKVM VNC protocol use original future on VNC protocol. if project have to support iKVM, would you tell me schedule?

Thank you for your cooperation.

Norihisa Nakai

influenist commented 8 years ago

Hi @phil21 ,

Thanks for the prompt response We got dosen of the x11 and x10 in production. I'm aware of the fact there are some AMI / BMC differences within the same series like x7 / x8. I'll test these out as soon as I got this up & running.

Speaking of which, please help me out with getting this up, as the doc is not very clear about which steps to follow.

1) I checked out the branch

git clone -b ast2100-support https://github.com/kelleyk/noVNC.git ./

2) Ran launch

./utils/launch.sh --vnc IPMIIP:5900

3) Connected to http

https://localhost/vnc.html?host=localhost&port=6080

Im not sure if step 2 & 3 are correct. Im running this next to a normal HTTPD server which makes me thing I do not need to run the launch part. Either with connecting to my apache server and pointing the novnc server settings to IPMI or with the websocket im getting a long rendering time and eventually a 1006 error code. Please advice which are the correct steps to follow.

kelleyk commented 8 years ago

Like @phil21 (hi!) said, we expect that this will work with any of the boards with Aten ("SMT") firmware. This should be a few X8s, many X9s, and most or all X10/X11s.

I'll confess that I've never actually used utils/launch.sh; I use websockify directly.

All you need to do is:

python websockify.py <port-to-listen-on> <bmc-inetaddr>:5900 e.g. python websockify.py 5999 10.1.2.3:5900

Then, visit any web server serving my branch of noVNC (for testing purposes you can try e.g. cd /path/to/novnc; python -m SimpleHTTPServer 8080) and point it at websockify (in the above example, assuming you're running websockify locally, that'd be localhost:5999).

Where noVNC asks for a password, enter USERNAME:PASSWORD (e.g. ADMIN:ADMIN if you have not changed the defaults).

The only issue that we're aware of is that quality is not quite as good as it should be for data blocks sent using the JPEG-style compression method. If you open noVNC's settings (before or after connecting) and turn off chroma subsampling (by selecting YUV 4:4:4), you should notice that terminal output in particular looks tremendously better. (This setting can also be pre-configured as part of the URL.)

kelleyk commented 8 years ago

Re: your question about whether all of the files are necessary: I'm afraid that most of them probably are. It would be wonderful if it were possible to merge and minify noVNC like it is for many JavaScript applications, but unfortunately that's just not the way it's put together.

pasikarkkainen commented 7 years ago

Did anyone try noVNC with AST2050 based BMC yet? (Dell PowerEdge-C CloudEdge / Quanta / Tyan). These are using the AMI "MegaRAC" firmware, so it's different from the ATEN/SMT firmware.

disaster123 commented 7 years ago

@kelleyk Can anybody tell me which is the current branch to test? I tried a X10SRH-CF with latest redfish IPMI firmware with has a native HTML5 console with the bmc-support branch from https://github.com/kelleyk/noVNC.git but i get no connection while it works with a X10DRFR-NT board.

disaster123 commented 7 years ago

Nothing happens to me for thre X10SRH-CF:

WebSocket server settings:

Navigate to this URL:

http://...&port=6080

Press Ctrl-C to exit

localhost - - [22/Mar/2017 21:45:51] 127.0.0.1: Plain non-SSL (ws://) WebSocket connection localhost - - [22/Mar/2017 21:45:51] 127.0.0.1: Path: '/websockify' localhost - - [22/Mar/2017 21:45:51] connecting to: XXXX:5900

handler exception: [Errno 107] Transport endpoint is not connected

And now nothing happens ... but i can successfully connect to the 5900 port via netcat.

LAKostis commented 7 years ago

Have you tried to update X10SRH-CF bmc firmware to newer version from X10DRFR-NT? Technically speaking those boards are identical by platform and fw image internals. I can't give you any guarantees but..

disaster123 commented 7 years ago

Thanks but no this doesn't change anything. Is there any way to debug the issue?

devicenull commented 7 years ago

Here's a fun change, I have a X11SSE-F with the 1.28 firmware... apparently it now speaks SSL over the VNC port (5900), rather then just raw VNC. That pretty much breaks all the existing functionality.

disaster123 commented 7 years ago

ah that might be the same case to me with the latest redfish X10 firmware. But wouldn't that just mean to activate SSL in websockify?

devicenull commented 7 years ago

Enabling --ssl-target on websockify gets you a step closer, but in my case I'm then getting 'Invalid server version: 055.008)

disaster123 commented 7 years ago

I modified the code so it accepts 055.008 but when novnc sends a client version of 003.008 the server closes the connection ;-(

devicenull commented 7 years ago

Yea, take a look at https://github.com/kelleyk/noVNC/pull/1 . It gets you a step further, but then fails to actually auth.

What's funny is this board has kellyk's noVNC fork embedded in it. It certainly makes figuring out what's wrong easier

devicenull commented 7 years ago

I added auth support in https://github.com/kelleyk/noVNC/pull/2 , but it still won't actually work.

kelleyk commented 7 years ago

@disaster123 That's the current version, yes.

Let me see if I can find a moment to take a look. If other people are being impacted by the way that the newer firmware behaves, please speak up!

disaster123 commented 7 years ago

@kelleyk Hi, see here https://github.com/kelleyk/noVNC/pull/2#issuecomment-289174527

phil21 commented 7 years ago

It may be useful if someone with an affected X11 board can make it available for @kelleyk (hey!) to debug directly against. This of course means a non-production machine suitable for lab use.

I honestly haven't had the time (or yet need) to dig deeper into the new html5 firmware on the BMC, but I suspect a few changes.

jleroy commented 7 years ago

I don't know if it's the right place to ask this question, but since I've updated my noVNC setup from kelleyk/noVNC@63cc01f796ed7df80c537269f9f4855ab7df5169 to kelleyk/noVNC@eb386b7672b1cef4ca02c9da769d5d08beefd0ab I can no longer connect to any of my servers.

I get an "Unsupported server" error in noVNC UI.

Here's the motherboards I use:

Is this a known issue?

kelleyk commented 7 years ago

@jleroy Hm -- no, I wasn't aware of issues like that. Would you mind opening an issue in kelleyk/noVNC and repeating that information, along with the firmware version of each board you've tried?

jleroy commented 7 years ago

@kelleyk The "Issues" tab seems to be disabled on kelleyk/noVNC repository (or maybe I'm really tired).

Marlinc commented 7 years ago

@jleroy @kelleyk I noticed the same "Unsupported server" error on X8SIL-F (version 03.16) using that commit.

kelleyk commented 7 years ago

I've enabled issues on that repository.

Yikes; I'm sorry to have caused trouble for so many of you! Please file issues and tell me which version (commit SHA) of noVNC you're using, which board you're trying to connect to, what version its firmware is, and what happens.

jleroy commented 7 years ago

@kelleyk: Thank you. I've created an issue on your repository.

devicenull commented 7 years ago

BTW, X11SSE-F now works correctly using https://github.com/kelleyk/noVNC/pull/2

vtolstov commented 7 years ago

what about hp ILO support ?

disaster123 commented 7 years ago

@kelleyk @devicenull is there a current branch merging all open pull requests regarding kvm? I lost the overview / current status of this one.

Also is there any chance this gets merged into novnc?

DirectXMan12 commented 7 years ago

I'm still open to merging this, assuming it gets rebased. If it has been rebased (and I've just missed it), please let me know and I'll start reviewing.

vtolstov commented 7 years ago

does anybody can helps me understand how aten ikvm subrect encoding transform to basic raw encoding? I'm try to write server side proxy to convert aten ikvm traffic to plain vnc. And now i don't understand how to convert subrect..

beren12 commented 7 years ago

This is great, would love to see it merged. How different is the AMI hardware, do you know at all? I was so excited to be able to not need java to do server maintaince, then I found out my X8 has the AMI board, not the ATEN.

kelleyk commented 7 years ago

@vtolstov The best documentation is probably my implementation, which you can see here: https://github.com/kelleyk/noVNC/tree/bmc-support/core/ast2100

Each frame is a list of MCUs, which could feasibly be translated into a subrect. The loop that decodes each block (MCU) in a frame is here: https://github.com/kelleyk/noVNC/blob/bmc-support/core/ast2100/ast2100.js#L235

Each MCU begins with a four-bit value that indicates how it is encoded. There are two distinct types of compression involved. The first is based on vector quantization (with 0, 1, or 2-bit codewords, producing 1, 2, or 4 colors) and the other is similar to how JPEG/JFIF MCUs are compressed. The Huffman and quantization tables are not contained in the data stream, but you can extract them from my work. There is also support for 4:2:0 chroma subsampling; in this mode, there won't be any VQ blocks.

Like in JPEG/JFIF, the MCUs are 8x8 pixels (for either compression method) when chroma subsampling is disabled, and 16x16 pixels when chroma subsampling is enabled.

kelleyk commented 7 years ago

@beren12 The AMI board is unlikely to be very similar; it's a different SoC and different software stack. Sorry!

beren12 commented 7 years ago

Ah, figures. I'll just have to keep using a vm with java installed.

beren12 commented 7 years ago

Great work though!

leakira commented 6 years ago

Hi

I have an server with iLO and IPMI access. I want to create a web console with this server using ipmi sol (serial over lan). The solution I think is redirect sol connection (ipmitool sol activate) to a kvm device.

Searching in DigitalOcean console, I see they are using noVNC to create the console, and searching more I got a way to connect an Ubuntu console using qemu (qemu-system-i386 -vnc :1 -nographic -serial mon:stdio -append 'console=ttyS0' binary.img -kernel /boot/vmlinuz-3.13.0-141-generic) and output it using noVNC (./utils/launch.sh --vnc localhost:5901).

So now I need to remotelly redirect ipmi sol to access this server console, but I don't have idea in how to create this redirection, and if it is possible. I have tried an other solution using iLO configured ports to connect it direct to noVNC, but not worked and got Connection refused.

Anyone has a suggestion about this case? Thanks

dlenwell commented 6 years ago

Did this ever get merged into the main repo?

kelleyk commented 6 years ago

No, it hasn't been, yet--sorry! I've been pressed for time.

On Sat, Aug 25, 2018 at 12:28 PM, David Lenwell notifications@github.com wrote:

Did this ever get merged into the main repo?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/novnc/noVNC/issues/385#issuecomment-415991334, or mute the thread https://github.com/notifications/unsubscribe-auth/AAx_hscHEvIc7920Q2OSayTRuD5r4A69ks5uUaV7gaJpZM4CYH0E .

joshbgosh10592 commented 5 years ago

Figured I'd chime in as well - I'm having the same error as a few above - "Unsupported server" on my X9DRD SuperMicro board using FW: 3.39.

dsully commented 1 year ago

Checking in on this a few years later..

JornS-pexip commented 1 month ago

Me3 - would love for this to get merged!