bordaigorl / rmview

A live viewer for reMarkable written in PyQt5
GNU General Public License v3.0
742 stars 61 forks source link

VNC Server not working after 2.9 update #86

Closed imm136 closed 2 years ago

bordaigorl commented 2 years ago

Have you tried the workaround in the wiki? https://github.com/bordaigorl/rmview/wiki/Installing-missing-libcrypto-on-RM2-v2.6-or-above you have to do it again if you did it already but before the update. (I am assuming you have RM2)

imm136 commented 2 years ago

Yes, I have the RM2, I had it installed in 2.8, and it worked perfectly, now after updating to version 2.9, I have reinstalled the library, but it does not work, I have verified that when I share a screen with the new option of the desktop app itself It does not give an error, but only the pointer does not appear on the screen, if I do not co-operate with the new function in update 2.9 it does not work directly. I'm sorry for my English.

bordaigorl commented 2 years ago

Ok, I hope I understood correctly. I suggest you try this:

imm136 commented 2 years ago

image

image

I have tried what you tell me, but it continues to do the same, I attach two images, so you can see what I mean, the first is the error that I get when the new utility is not working and the second when it is working the app option but rMview only show the cursor.

bordaigorl commented 2 years ago

I am sorry I don't understand what you mean by "it is working the app option". Can you tell me the steps you follow to obtain the image on the right? Also: have you installed any other "hacks" on the remarkable?

bordaigorl commented 2 years ago

I saw some comments about 2.9 having a new ScreenShare feature. I am not in the Beta program so I don't have 2.9 on my tablet. If you are using the new ScreenShare thinking it works with rmview, then that's your issue: rmview has nothing to do with that!

imm136 commented 2 years ago

Yes, the new function works, what does not work now is rmview, I have installed the library, and the rest of the steps that you have told me. I don't have any other hack installed. The image on the right is the new screenShare function, what happens is that when I enable the screenShare rmview it does not give an error, but it does not show the screen, the cursor simply appears, in my case blue.

bordaigorl commented 2 years ago

Ok there are two problems here:

  1. I have no idea what the new ScreenShare function does
  2. why are you trying to use rmview and the new screenshare?

If you don't use the screenshare function but just run rmview, does it work?

juanfcocontreras commented 2 years ago

Ok there are two problems here:

1. I have no idea what the new ScreenShare function does

2. why are you trying to use rmview _and_ the new screenshare?

If you don't use the screenshare function but just run rmview, does it work?

I will comment on my experience with the update.

rmview stopped working with the error "connection failed". I have installed the library as in previous updates, but for some reason, it is not able to use it.

The new Screenshare option works correctly for me and can be seen as an alternative to rmview, but at the moment I would need to test it more time to see if it goes as smoothly as rmview.

bordaigorl commented 2 years ago

@juanfcocontreras thanks for reporting.

I asked around, it seems that the new ScreenShare feature introduces a VNC server. There could be a number of reasons for the failure, but most probably the new built-in server is reserving the same port that the server rmview installs uses.

To verify this hypothesis you can run

ssh root@YOUR_RM_IP
$HOME/rM-vnc-server-standalone
[Ctrl+C when you are done]

and see what it prints. Normally it would print "Listening for VNC connections on TCP port 5900". A message "Address already in use" would confirm the port is already reserved. In case my guess is correct (and no other restrictions were enforced by the update) it would be possible to make rmview work again by changing the port of operation. If you can try this manually, it would require (assuming vnc branch):

  1. Change line 105 of src/rmview/workers.py to _,_,out = self.ssh.exec_command("$HOME/rM-vnc-server-standalone -rfbport 5905")
  2. Change line 113 (same file) to self.vncClient = internet.TCPClient(self.ssh.hostname, 5905, RFBFactory(self.signals))
  3. Try running rmview (you need to reinstall if you installed with pip)
juanfcocontreras commented 2 years ago

If I don't copy the library I get the following error (in case it helps):

./rM-vnc-server-standalone: error while loading shared libraries: libcrypto.so.1.0.2: cannot open shared object file: No such file or directory

After copying the library, the error is the following:

Using backend libqsgepaper-snoop
No cached info found for /proc/863/exe
Uncompressing extraction program
Running extraction pass 1171
peek: Input/output error
open cache: No such file or directory
pks40 commented 2 years ago

Dear all, I have traced the error a little bit: The backend of the VNC server that is used on the rM2 (see this repo) needs (at least to my understanding) to find the correct place in the xochitl binary where to insert the code getting the damage information. Somewhere in this process, ptrace(), or more specifically PTRACE_PEEKDATA, fails with an I/O error. As I can’t build the binaries myself, I couldn’t debug this any further – probably @pl-semiotics needs to look at this.

pks40 commented 2 years ago

I just opened an issue for the backend.

bordaigorl commented 2 years ago

Thanks @pks40 that's what I thought was happening as well. Was going to suggest opening an issue in the server repo, thanks for doing that 👍🏻 I hope they kept the interface of the new built-in server open enough so that independent clients like rmview can communicate with it. Having to depend on their app (with no native support for Linux) and maybe the cloud account for authentication would suck a little bit...

pl-semiotics commented 2 years ago

@pks40 thanks for drawing this to my attention! Yes, that sounds like what is happening. (Copying request to this thread, since more people are on it): could anyone give me a copy of the tablet rootfs (including xochitl) from 2.9 in order to allow debugging?

Also, @pks40, sorry to hear that you tried but were ultimately unable to build it. Feel free to open issues re: broken/undocumented aspects of the build process and I will try to fix/clarify them!

pks40 commented 2 years ago

@pl-semiotics sorry for the somewhat late reply! I have copied/tar-ed the 2.9 rootfs – how would you like it? (I don’t think it would be a great idea to just upload it here ...) And regarding the build process, I just tried to build it a few months ago and remember that I didn't succeed, but perhaps I’ll try again on the weekend and tell you what’s wrong. Thanks for the support!

bordaigorl commented 2 years ago

@ddvk just opened a PR #87 that adds support for the new built-in server! I have no means of testing it yet, it will stay unmerged until I receive 2.9 myself. But you can clone that and try it!

exodd commented 2 years ago

Does it mean that you still need to have a wifi connection to be able to use rmview? USB interface alone is no more?

delaere commented 2 years ago

Does it mean that you still need to have a wifi connection to be able to use rmview? USB interface alone is no more? @exodd : no, it still works with the USB interface (just as before on 10.11.99.1).

rfielding commented 2 years ago

Apparently, they have a working alternative alternative to LiveView for MacOS and Windows now for Remarkable2 at 2.9.

I am confused by these comments. Is there a working procedure to get rmview to work again after 2.9 on Linux? ; the only place where we may need rmview after the update.

I copied the cryptolib again, rebooted, updated the rmview repo to latest, etc.

dimap1981 commented 2 years ago

Does it mean that you still need to have a wifi connection to be able to use rmview? USB interface alone is no more? @exodd : no, it still works with the USB interface (just as before on 10.11.99.1).

Do you use the "devel" branch to connect on 2.9? I read somewhere that one has to start "screen share" on RM to connect rmview now, but I cannot get it to work neither over wifi, nor USB. I get "Please check your rm propoerly configured. Failed to start VNC server: peek: input/output error". Could you help please?

P.S. I went through all the standard by now steps of adding libcrypto, etc.

RDeRenzi commented 2 years ago

Hi I followed threads

plus those here

I lauched rmview and it worked, but surprisingly only once. The next time I started rmview it complained about missing https://github.com/pyca/service-identity. I cloned that and installed it with pip3. But even with that it does not work. Error message Could not connect to 10.11.99.1: timed out I wonder if there is something else missing

seanelvidge commented 2 years ago

Hi I followed threads

plus those here

  • by delaere August 19 (the git commands)
  • by macoi on July 28 (pyOpenSSH)
  • by ddvk on July 26 (Share Screen, but keep the USB cable connected and do not activate the RM app!)

I lauched rmview and it worked, but surprisingly only once. The next time I started rmview it complained about missing https://github.com/pyca/service-identity. I cloned that and installed it with pip3. But even with that it does not work. Error message Could not connect to 10.11.99.1: timed out I wonder if there is something else missing

@RDeRenzi, I'm not sure if you saw my reply to your comment in #91 but I now have it working fine. I typed out what I did step-by-step to try and make it as simple as possible to repeat.

RDeRenzi commented 2 years ago

Thanks @seanelvidge, you instructions will be precious. Actually I had done everything right the first time. The only mistake was using a silly cable with a sloppy USB connector: trying to debug software with intermittent hardware errors on top is not a good idea.