Signal-android: Can't link devices / scan QR

Created on 20 Nov 2015  路  66Comments  路  Source: signalapp/Signal-Android

I am stuck at the step saying "scan the qr code displayed...". I can see the qr code in the camera, but it won't do anything. I'm assuming there should be a moment when the phone goes like "okay I saw that's a qr code", but nothing happens. I think the problem may be that the camera is a bit out of focus.
Samsung galaxy s3, signal 3.5

Most helpful comment

Yeah, taking a screenshot and magnifying did not work for me either (Galaxy S2 with latest CyanogenMod).

I would like to take a step back, and note that from a UX perspective, the app should not assume that every user has a working camera, or has access to the camera during registration. Maybe they have disabled the camera for privacy-purposes, or whatever.
Why can't the "Add device" screen in the Android app be gifted with an option to input the uuid and pub_key manually? Since it would only be done once, the extra typing work would probably be acceptable for such users.

The Chrome app actually displays the necessary information on mouse-over:

I haven't been able to even test the Signal desktop app because of this issue, so I would be happy with any solution.

All 66 comments

I can confirm the problem is that the camera not being in focus. I have the same problem when using the quick direct capture (can't click to focus).
I came to this conclusion after taking a screenshot and zooming -- it linked the device

You might already be aware of this pr #3767 but marking it here as related.

I don't know if the code that the quick camera uses is the same as the one used by the qr scanner (I haven't looked at the code to be honest) but it seems to be the case.

As in #4804 autofocus is not working when QR Code scanning. I have the same setup:
Signal version: 3.6.1
Android version: 5.1.1 (Cyanogenmod 12.1) snapshot
Device: Samsung Galaxy S2 ("i9100")

Saving the QR-Code png and zoomind doesn't work for me. Even when the QR Code is sharp on the screen, it is not recognized. Also when using Signal 3.7.0, I can scan the Code via an external App and it opens Signal, but in Signal I have to rescan.

@ndevln does it make a difference if you try rotating the device to portrait or landscape?

No difference for me

Signal version: 3.6.1
Android version: 5.1.1 (Cyanogenmod 12.1)
Device: Samsung Galaxy S2 ("i9100")

No makes no difference. Also moving the QR Code in from all sides makes no difference (in portrait and landscape mode). Also I can't take pictures with my back camera in the messaging view (but i can see the preview). My front camera works in the quick camera mode (autofocus and capturing pictures). I think using the front camera for the qr code scan would work, but it's still only a workaround.

Same situation here, Signal doesn't focus and the QR code won't get recognized (zoomed screenshot or switching between landscape/portrait doesn't help).

Signal version: 3.6.1
Android: 5.1.1 (Cyanogenmod 12.1)
Device: Galaxy S2 (i9100)

+1 to this issue it's the same as described by me in https://github.com/WhisperSystems/Signal-Android/issues/4661.

Apart from the camera issue, what speaks against manual device linking (e.g. via typing of a code)?
Would be a workaround for this case and the only option for people with broken cameras (or even smartphones without a camera)...

lolonaut, couldn't agree more!

I think it's not quite as simple as that, since this function allows you to get a full take an the devices communication over Signal. For example the verification of the fingerprint of your contacts is done by an external app (f-droid barcode scanner in my case). But for this scan they use an internal approach, which I think is a deliberate choice.

Secure design is hard to get right and I think @moxie0 has put some thought into it.

I'm not sure if I understand you right...my suggestion would be to show the QR-code data (i.e. the uuid and the ub_key) underneath the QR-code-field in the chrome app and to add a manual linking option into the smartphone app, where one could type the uuid and the ub_key by hand.
Would this really be less secure?

I don't see why this should be less secure. The format of the data shouldn't have any impact on the security.

There seems to be a very strange bug within the auto focus behavior of the Samsung Galaxy S2 (other devices may be affected too).

The CameraView class checks the supported focusModes (on the S2 both FOCUS_MODE_CONTINUOUS_PICTURE and FOCUS_MODE_CONTINUOUS_VIDEO are reported back as supported by camera.getParameters()) and sets them if available. This alone should trigger continuous auto focus but it doesn't on this device.

So AFAIK the only solution is invoking camera.autoFocus() reasonably often enough between startPreview() and before stopPreview().

Signal version: 3.6.1
Android: 5.1.1 (Cyanogenmod 12.1)
Device: Galaxy S2 (i9100)

I also can confirm this issue on my S2.

What I want to add is that the QR scanner from the (open source) "Barcode scanner" com.google.zxing.client.android does work perfectly, while signal's implementation does not.

Signal version: 3.7.2
Android version: 5.1.1 (Cyanogenmod 12.1) snapshot
Device: Samsung Galaxy S2 ("i9100")

This is exactly what happens and the reason i've opened my issue(referenced above).
I've also tried several QR scanners and all of them worked as well but since the link process stopped using a URL and switched to an internal scanner it stopped working for me.
Please address this problem with some priority as it related to basic functionality (even tho it's still in beta).

The preview image looks sharp, but it es not recognized :disappointed:
_Edit:_ S2 CM12.1

Same issue here.

Same issue here, with the XCover2 (GT-S7710) Android- Version 4.1.2.

Same issue with Galaxy S2 and CM 12.1.

I have the same problem with the Galaxy S2 and CM 13.0. For what it's worth, the Whatsapp QR device linking worked without any problems.

I just got invited to the Signal Desktop Beta and can't use it because of this bug, is there a workaround for the time being?

Having the same problem. I'm using a ShiftPhone 5.1 with Android 5.1 and Signal 3.13.1. The image of the QR-Code is absolutely in focus, this is not the problem.

@turion is the ROM in your device Cyanogenmod based?

@2-4601, not that I know of.

I have the same problem. It seem to be handled strange by the signal app. In contrast the barcode scanner app recognizes correctly the qr-code and gives a link. When i follow the link the signal app is opened but nothing happens. The signal app itself does not recognize the qr-code. It does not even try to focus my screen, showing the qr-code.

Hardware: Samsung Galaxy S2 i9100
Signal Android version: 3.14.2
Signal desktop client: 0.4.0
Android version: Cyanogenmod 13 (cm-13.0-20160322-NIGHTLY-i9100)

I was having the same problem as everybody else. On a whim, I changed my default messaging app from Hangouts to Signal. The barcode scanning for linking devices worked after I did this.

I had changed my default messaging app before, and it didn't make a difference. But it also worked for me after many, many tries. So I can only recommend trying often and moving the camera back and forth in order to hit the focus point better.

No success - neither with changing the default app nor 10min trying to hit the perfect focus point :disappointed:

Is it much work to add the possibility to change to the front camera to the qr scanner?
If this problem is caused by malformed image (https://github.com/WhisperSystems/Signal-Android/issues/4899) that might be a workaround.
(S2's front camera has no autofocus but with QR Droid it is easy to scan a qr code with it)

Edit:
04-03 11:28:03.672 E/exynos_v4l2(1867): exynos_v4l2_reqbufs: ioctl failed looks like #4899
(https://gist.github.com/lukeIam/7e0b6b8277bde778d9aaf400260cf0f7)

Maybe someone could try adding a simple this.scannerView.flipCamera(); somewhere here: https://github.com/WhisperSystems/Signal-Android/blob/master/src/org/thoughtcrime/securesms/DeviceAddFragment.java#L58

(I don't have a the Android SDK installed and only a limited Internet connection here.)

Same issue. The QR code is visible in Signal's "viewfinder", but nothing happens. I would expect the app to "lock onto" the QR code and give some sort of feedback.
I just updated to Signal 3.15.2, but this issue remains. Here's my Signal debug log at the time.
Signal was already my default messaging app.

Same issue here.

The camera works well, and the QR can be read without trouble from the Barcode Sanner app. But when triying to do it from within signal the camera doesn't focus. I've solved it by enlarging the QR.

Samsung Galaxy J1 Ace
Android 5.1.1
Signal Private Messenger 3.15.2

A stupid workaround: Take a screenshot of the QR code on your computer, then zoom in with your favorite graphics program, scan that with the signal app.

Worked for me (Samsung Galaxy Note I)

At least, this workaround isn't working for me. No matter which scale level I choose.

A stupid workaround: Take a screenshot of the QR code on your computer, then zoom in with your favorite graphics program, scan that with the signal app.

Also not working for me (S2): Tried multiple sizes and monitors.

Anyone found the time to test the flipCamera idea?

Yeah, taking a screenshot and magnifying did not work for me either (Galaxy S2 with latest CyanogenMod).

I would like to take a step back, and note that from a UX perspective, the app should not assume that every user has a working camera, or has access to the camera during registration. Maybe they have disabled the camera for privacy-purposes, or whatever.
Why can't the "Add device" screen in the Android app be gifted with an option to input the uuid and pub_key manually? Since it would only be done once, the extra typing work would probably be acceptable for such users.

The Chrome app actually displays the necessary information on mouse-over:

I haven't been able to even test the Signal desktop app because of this issue, so I would be happy with any solution.

Is this fix already in latest cm build? And if so, does anyone tested it?

On my SGS 2 with CM 13.0-20160611-NIGHTLY-i9100 and Signal 3.16.0 it still doesn't work, sadly.

It still is not working -.-
Running latest CM13 on a Xperia M

Same issue here signal 3.16.0. It did work when I took a screenshot and zoomed in on it.

I switched to SlimSaber 4.4.4 on my SGS 2 and it works. So it most likely has to do with how Cyanogenmod handles it.

I tired cm-13.0-20160818-NIGHTLY on my S2 and it is working! :+1:
The code is recognized in under a second.

Looks like https://github.com/CyanogenMod/android_device_samsung_galaxys2-common/commit/b7fa70df69e8d54b8ec72750989e7a9eda67f573 did the trick.

I cant confirm that any more, as I don't use GApps any more, therefore Signal is not working on my device and I had to remove it. Sorry about that, but unless #127 is not fixed, I'm not able to use Signal...

Experiencing this on CM 13, neither the QR scanning nor the in-chat camera feature starts the camera. All other apps using camera (e.g. facebook messenger) seem to work.

Worked for me couple months ago after making screenshot, zooming in and rotating. But now it's not working anymore (during last month). Lenovo s856, debug log: https://gist.github.com/anonymous/3c24d13861f97632cce7b2f08c50b53c

Personally I've not had issues with it. BUT two of my friends are experiencing this issue. It seems to be that the camera isn't focusing properly.

Happening with a Samsung GT-S7580.

Anything that might help fix this? (haven't read the entire thread)

@spacekookie please do read the thread and save everyone's time (try phone in landscape or moving it from real close to far away slowly in the hope the QR is in focus at some point).

I have troubles scanning QR codes as well. It seems to be a general focusing problem of the in-app camera, as described in #5276. None of the workarounds mentioned above help. If a QR code is successfully scanned, it seem to happen by chance.

I too have the problem which I suspect is due to the back camera of my Nexus 5X being a bit broken. It can't focus and so I can't pair new devices. Same goes for Whatsapp (which uses the same underlying protocol).

One user has had success taking a screenshot of the QR code, zooming in, and using the phone camera to scan.

Again, I'm suggesting you

  1. Take a screen shot on your computer of Signal Desktop with the QR code
  2. Open the screen shot image in an image viewer i.e. MS Paint
  3. Zoom in on the image
  4. Take your phone and scan the "zoomed-in QR code"

@riyapenn it worked!

Uh, I had this problem. Tried various things, including printing the QR code and it still didn't work. I futzed with camera settings because no matter what I did it was blurry. Then I looked at the lens and noticed schmutz on it. I cleaned that off and presto, no problem. Duh.

I have this same issue on my Sprint HTC One m7 (camera sucks but is functioning). If I use a generic barcode scanning app, it scans it immediately but that is no help authenticating in Signal. It does show, however, there is no problem with the camera's focus, functionality or cleanliness. Any idea of the scope of this issue? Is this affecting most users? Some? Few? Seems to me it is a critical bug if the scope is broad enough.

Same with Galaxy Xcover 2 (GT-S7710, quite similiar to S2), Vanir AOSP Android 4.4.4:
No image if i want to read the QR-code, seems like no access to the cam. Otherwise no problem with taking photos from the chat directly or using the camera with other apps.
Log:
https://gist.github.com/anonymous/5d7331deacd821b0f6246d3dc36fdf6a

I am using a Nexus S with Android 4.4.4 (CM 11) and am having the same issue, due to the QR code being out of focus. The WhatsApp app is constantly refocusing, but Signal does nothing.

The workaround (screencapping the QR code, then enlarging it in GIMP) solved the issue, but this isn't a suitable workaround for newbies, which is who the app is mainly targeted towards.

I copied the workaround provided by f41c0r (see above) to a fork of the current Signal (his original workaround was applied to WebSocket LibreSignal), as this was still not working on my Xperia M with latest Lineage OS: https://github.com/ypsy/Signal-Android

Works fine now for me! You have to scan the code using an external app and then enter the link into signal manually.

Disclaimer: I really have no clue about all this, just reproduced the changes made by f41c0r, who originally wrote the workaround. If there's anything I did wrong, let me know.

I no longer observe this issue on my Samsung Galaxy SII (GT-I9100) running LineageOS 14.1-20170307-NIGHTLY (Android 7.1.1) and Signal 3.30.4.

Still not working for me on Sony Xperia M (nicki) with newest Lineage OS (build from 20.04.17) and a fresh install of the latest Signal.

Also same for me in Xperia M same Lineage OS.
Barcode scanner com.google.zxing.client.android is working fine, camera, focus, everyting else too, just the in app scanner is not able to scan the QR-Code even if its focused.
A Workaround solution like that would also be fine:
https://github.com/WhisperSystems/Signal-Android/pull/5538
This would also solve Problems with Broken Cameras for example.

Same problem on Sony Xperia M C1905 with LineageOS 14.1 (nicki 2017-04-27) and latest Signal 4.5.3.

The smartphone I'm using has a really bad camera and won't scan the code. Not even in a QR code scanner. I tried enlarging the picture and I tried cleaning the lense. I'm stuck. And a bit pissed that Signal obviously wants me to be a wealthy person to use all of its features.

I have a MotoE first gen whose camera is pretty good but has zero ability to focus, and I cannot link devices. After reading this thread, the take-a-screenshot-and-zoom trick worked for me, but it seems kludgy.

A lot of smartphones are cheap and will never be able to scan a dense QR code properly.

If #5538 isn't going to be merged, what if that workaround was at least documented in the FAQ?

What is the official comment on this issue?

Samsung Galaxy S 2 (GT-I9100) with Lineage OS 14.1.20171101-NIGHTLY-i9100 here and no way to link devices. The screenshot & zoom-in workaround does also not work. Other QR code apps recognize the code without problems.

Hello,
I started a post with regard to this issue somewhere else,
https://whispersystems.discoursehosting.net/t/my-smartphone-does-not-scan-the-qr-code-for-desktop-installation/1794/6
but someone called my attention to this thread.

I'm having the same issue. Nothing works, also none of the proposed methods above.
My phone is a Sony Xperia M C2905, QR code scanning works with any other applications, only Signal is not working.

I hope there is a stable solution to this soon, since I need Signal on my desktop environment.

GitHub Issue Cleanup:
See #7598 for more information.

Was this page helpful?
0 / 5 - 0 ratings