[Aries][NFC] Files cannot be transfered using NFC

VERIFIED FIXED

Status

Firefox OS
NFC
P2
normal
VERIFIED FIXED
3 years ago
3 years ago

People

(Reporter: KTucker, Assigned: jocelyn)

Tracking

({regression})

unspecified
ARM
Gonk (Firefox OS)
regression
Dependency tree / graph

Firefox Tracking Flags

(blocking-b2g:2.5+, b2g-v2.2 unaffected, b2g-master verified)

Details

(Whiteboard: [2.5-Daily-Testing][Spark][2.5-aries-test-run-2])

Attachments

(3 attachments)

Every time the user tries to send a picture to another device through NFC, the transfer will not go through and the user is notified that the transfer was canceled.

Repro Steps:
1) Update a Flame to 20150826030209
2) Turn on NFC in settings on both devices under test.
3) One one of the phones, open a picture, a song or video.
4) Bump the phones together, slide up on the file being sent to transfer to the other phone and observe.

Actual:
The sending device will be notified that the transfer was canceled.

Expected:
The file is sent to the other device through NFC without issue.

Environmental Variables:
Device: Flame 2.5 (Full Flash)(KK)(319mb)
Build ID: 20150826030209
Gaia: c1ae9f02f2a9cfb89bf67aeea97e467c41c3362c
Gecko: f61c3cc0eb8b7533818e7379ccc063b611015d9d
Gonk: c4779d6da0f85894b1f78f0351b43f2949e8decd
Version: 43.0a1 (2.5)
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:43.0) Gecko/43.0 Firefox/43.0

Repro frequency: 10/10 100%
See attached: video clip, logcat
[Blocking Requested - why for this release]:
blocking-b2g: --- → 2.5?
status-b2g-master: --- → affected
Whiteboard: [2.5-Daily-Testing][Spark]
This issue also occurs on Aries 2.5

Files cannot be sent through NFC.

Environmental Variables:
Device: Aries 2.5
Build ID: 20150826130914
Gaia: c1ae9f02f2a9cfb89bf67aeea97e467c41c3362c
Gecko: a031de3162e46c9d6eeed580045c4f2bb61ffd05
Gonk: 2916e2368074b5383c80bf5a0fba3fc83ba310bd
Version: 43.0a1 (2.5)
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:43.0) Gecko/43.0 Firefox/43.0

---------------------------------

This issue does not occur on Flame 2.2

NFC files can be sent between Flame devices without issue.

Device: Flame 2.2 (Full Flash)(KK)(319mb)
BuildID: 20150826032503
Gaia: 335cd8e79c20f8d8e93a6efc9b97cc0ec17b5a46
Gecko: 1effc4cb6414
Gonk: bd9cb3af2a0354577a6903917bc826489050b40d
Version: 37.0 (2.2) 
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
status-b2g-v2.2: --- → unaffected
Keywords: regression, regressionwindow-wanted
Created attachment 8653122 [details]
SendingNFCdevice.txt
Created attachment 8653123 [details]
ReceivingNFCLog.txt
QA Contact: lixia
Hi Ktucker,

    I can repro this bug on latest Aries KK v2.5 by the STR in comment 0, but can't repro on latest Flame KK v2.5. So I can't do the regression on Flame KK v2.5, could you help to find a suitable people to do this regression on Aries KK v2.5? Or provide more detailed reproduce steps on Flame KK v2.5?

Thank you very much.


Actual results: 
On Aries KK v2.5: The sending device will be notified that the transfer was canceled, and other device prompts "File could not be received".
On Flame KK v2.5: The file is sent to the other device through NFC without issue.

See attachment: FlameKK_v2.5.3gp
Reproduce rate: 0/10(Flame), 6/6(Aries)


Device: Flame KK 2.5 (Unaffected)
Build ID               20150826150203
Gaia Revision          c1ae9f02f2a9cfb89bf67aeea97e467c41c3362c
Gaia Date              2015-08-25 22:03:05
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/fea87cbeaa6b64510dff835549ed906fe405d558
Gecko Version          43.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150826.182949
Firmware Date          Wed Aug 26 18:30:01 EDT 2015
Firmware Version       v18D v4
Bootloader             L1TC000118D0

Device: Aries KK 2.5(Affected)
Build ID               20150826212128
Gaia Revision          c1ae9f02f2a9cfb89bf67aeea97e467c41c3362c
Gaia Date              2015-08-25 22:03:05
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/fea87cbeaa6b64510dff835549ed906fe405d558
Gecko Version          43.0a1
Device Name            aries
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.worker.20150826.204803
Firmware Date          Wed Aug 26 20:48:11 UTC 2015
Bootloader             s1
Flags: needinfo?(ktucker)
QAwanted to investigate this further.
Keywords: qawanted
We are unable to reproduce this issue on Flame. Transferring from Flame to Flame or Flame to Aries worked on multiple attempts with pictures or musics or videos.

I was able to reproduce this issue on Aries. Aries to Flame 2.5 reproduced the issue. Aries to my own Android phone didn't reproduce the issue. The reproduction rate isn't 100%. The same combination that was reproducing the issue could later turn out to not reproduce the issue with unknown reason.

I could somehow reliably reproduce this if I factory reset the phone, so I'll be attempting the window with this environment.
Flags: needinfo?(ktucker) → needinfo?(jmercado)
Keywords: qawanted
Summary: [NFC] Files cannot be transfered using NFC → [Aries][NFC] Files cannot be transfered using NFC
QA Contact: lixia → pcheng
Flags: needinfo?(jmercado)
b2g-inbound regression window:

Last Working
Device: Aries
BuildID: 20150616023606
Gaia: eecd9d2bb220e10792762fc274c910cb3febbd72
Gecko: f42cf1d7c1bb
Version: 41.0a1
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:41.0) Gecko/41.0 Firefox/41.0

First Broken
Device: Aries
BuildID: 20150616022049
Gaia: eecd9d2bb220e10792762fc274c910cb3febbd72
Gecko: a71239680fd8
Version: 41.0a1
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:41.0) Gecko/41.0 Firefox/41.0

Gaia is the same so it's a Gecko issue.

Gecko pushlog:
http://hg.mozilla.org/integration/b2g-inbound/pushloghtml?fromchange=f42cf1d7c1bb&tochange=a71239680fd8

Caused by changes made in bug 1167064.
Blocks: 1167064
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmercado)
Keywords: regressionwindow-wanted
Jocelyn this issue seems to have been caused by bug 1167064.  Can you take a look please?
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmercado) → needinfo?(joliu)

Comment 11

3 years ago
I'll take a look. ni? myself to track.
Flags: needinfo?(joliu) → needinfo?(btian)

Updated

3 years ago
Assignee: nobody → wiwang
P2, blocks 2.5
blocking-b2g: 2.5? → 2.5+
Priority: -- → P2
Whiteboard: [2.5-Daily-Testing][Spark] → [2.5-Daily-Testing][Spark][2.5-aries-test-run-2]

Updated

3 years ago
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage+][COM=NFC]
On the device that it was trying to transfer to : 

I/GeckoConsole(  206): Content JS LOG: [NfcHandoverManager][361371.110] sendNDEF(hs) succeeded 
I/GeckoConsole(  206):     at BaseModule.prototype.debug (app://system.gaiamobile.org/js/base_module.js:605:1)
D/NfcNci  ( 1002): static void PeerToPeer::NfaServerCallback(tNFA_P2P_EVT, tNFA_P2P_EVT_DATA*): enter; event=0x8
D/NfcNci  ( 1002): static void PeerToPeer::NfaServerCallback(tNFA_P2P_EVT, tNFA_P2P_EVT_DATA*): NFA_P2P_CONGEST_EVT; nfa handle: 0x0580  congested: 0
D/NfcNci  ( 1002): static void PeerToPeer::NfaServerCallback(tNFA_P2P_EVT, tNFA_P2P_EVT_DATA*): exit

On the device sending : 
I/BrcmNfcNfa( 1002): NFA_P2pSendData (): handle:0x580, length:60
I/BrcmNfcNfa( 1002): LLCP_IsDataLinkCongested () Local SAP:0x10, Remote SAP:0x20, pending = (0, 0, 0)
D/NfcNci  ( 1002): bool PeerToPeer::Send(unsigned int, uint8_t*, uint16_t): exit OK; handle: 7  NFA Handle: 0x0580
D/nfcd    ( 1002): bool HandoverServer::Put(NdefMessage&): exit
D/nfcd    ( 1002): void MessageHandler::ProcessResponse(NfcResponseType, NfcErrorCode, void*): enter response=2, error=0
D/nfcd    ( 1002): void NfcIpcSocket::WriteToOutgoingQueue(uint8_t*, size_t): enter, data=0xb7b6b780, dataLen=16
D/nfcd    ( 1002): void NfcIpcSocket::WriteToOutgoingQueue(uint8_t*, size_t): Writing 16 bytes to gecko 
I/Gecko   (  206): -*- Nfc: Received message from NFC Service: {"errorMsg":"","requestId":"aWR7ZTM5NWRjMzItMWFiYy00NzQ1LTgzMTMtYzUyYTRjOWYxODI2fQ==","rspType":"writeNDEFRsp","sessionId":12}
I/BrcmNfcNfa( 1002): LLCP_SendData () Local SAP:0x10, Remote SAP:0x20
D/NfcNci  ( 1002): static void PeerToPeer::NfaServerCallback(tNFA_P2P_EVT, tNFA_P2P_EVT_DATA*): enter; event=0x8
D/NfcNci  ( 1002): static void PeerToPeer::NfaServerCallback(tNFA_P2P_EVT, tNFA_P2P_EVT_DATA*): NFA_P2P_CONGEST_EVT; nfa handle: 0x0580  congested: 1
D/NfcNci  ( 1002): static void PeerToPeer::NfaServerCallback(tNFA_P2P_EVT, tNFA_P2P_EVT_DATA*): exit
I/Gecko   (  206): -*- NfcContentHelper: Message received: {"target":{},"name":"NFC:WriteNDEFResponse","sync":false,"json":{"errorMsg":"","requestId":"aWR7ZTM5NWRjMzItMWFiYy00NzQ1LTgzMTMtYzUyYTRjOWYxODI2fQ==","rspType":"writeNDEFRsp","sessionId":12,"type":"writeNDEFRsp"},"data":{"errorMsg":"","requestId":"aWR7ZTM5NWRjMzItMWFiYy00NzQ1LTgzMTMtYzUyYTRjOWYxODI2fQ==","rspType":"writeNDEFRsp","sessionId":12,"type":"writeNDEFRsp"},"objects":{}}
I/GeckoConsole(  206): Content JS LOG: [NfcHandoverManager][361371.110] sendNDEF(hs) succeeded 
I/GeckoConsole(  206):     at BaseModule.prototype.debug (app://system.gaiamobile.org/js/base_module.js:605:1)
D/NfcNci  ( 1002): static void PeerToPeer::NfaServerCallback(tNFA_P2P_EVT, tNFA_P2P_EVT_DATA*): enter; event=0x8
D/NfcNci  ( 1002): static void PeerToPeer::NfaServerCallback(tNFA_P2P_EVT, tNFA_P2P_EVT_DATA*): NFA_P2P_CONGEST_EVT; nfa handle: 0x0580  congested: 0
D/NfcNci  ( 1002): static void PeerToPeer::NfaServerCallback(tNFA_P2P_EVT, tNFA_P2P_EVT_DATA*): exit
V/WLAN_PSA(  210): NL MSG, len[048], NL type[0x11] WNI type[0x5050] len[028]
Ben, based on the information; I think NFC needs to be updated to use Bluetooth v2 API.

Comment 15

3 years ago
ni? gaia dev Fred to confirm whether NFC has already updated bluetooth API to v2 per comment 14.
Flags: needinfo?(btian) → needinfo?(gasolin)

Comment 16

3 years ago
NFC already updated to BTv2 API
Flags: needinfo?(gasolin)
(Assignee)

Comment 17

3 years ago
1) From the result of the regression window in Comment 9, this issue might be related to BT API2 switch, but it doesn't mean it's a gecko issue.
Gaia will execute different code blocks based on the version of BT API which is currently using even with the same build version.
Without the gecko patch in Bug 1167064, gaia will run codes which is using BT APIv1.
On the other hand, gaia will run codes which is using BT APIv2.

So the issue here might be caused by gecko implementation or gaia implementation of BT APIv2.

2) NFC file transfer is currently blocked by Bug 1200495.
By applying the local fix of Bug 1200495, I could use NFC to transfer files from aries-kk 2.5 to flame 2.5, even right after factory reset.
Not sure if the issue here is already been fixed or not.
We should probably try to reproduce the issue again after Bug 1200495 is fixed.
(Assignee)

Updated

3 years ago
Depends on: 1200495
(Assignee)

Comment 18

3 years ago
(In reply to Jocelyn Liu [:jocelyn] [:joliu] from comment #17)
> 1) From the result of the regression window in Comment 9, this issue might
> be related to BT API2 switch, but it doesn't mean it's a gecko issue.
> Gaia will execute different code blocks based on the version of BT API which
> is currently using even with the same build version.
> Without the gecko patch in Bug 1167064, gaia will run codes which is using
> BT APIv1.
> On the other hand, gaia will run codes which is using BT APIv2.
> 
> So the issue here might be caused by gecko implementation or gaia
> implementation of BT APIv2.
> 
> 2) NFC file transfer is currently blocked by Bug 1200495.
> By applying the local fix of Bug 1200495, I could use NFC to transfer files
> from aries-kk 2.5 to flame 2.5, even right after factory reset.
> Not sure if the issue here is already been fixed or not.
> We should probably try to reproduce the issue again after Bug 1200495 is
> fixed.

By the way, the bug reported here is not caused by the root cause I found in Bug 1200495 since this bug is reported before Bug 1200495 happened.
The original cause of this bug and what probably fixed it already are still unclear.
(Assignee)

Comment 19

3 years ago
Steal this bug. ;)
Assignee: wiwang → joliu
(Assignee)

Comment 20

3 years ago
Hi Pe Wei,

After Bug 1200495 fixed, I couldn't reproduce this bug on aries-kk using latest m-c(build id: 20150930213842), could you help to check if it's still reproducible and share the steps to me?

Thanks,
Jocelyn
Flags: needinfo?(pcheng)
QAwanted to address comment 20
Keywords: qawanted
I was able to send files using NFC from gallery and video.  However NFC does not send contacts correctly or work at all with NGA Music.  Those issues are being investigated by Adam.
QA Whiteboard: [QAnalyst-Triage+][COM=NFC] → [QAnalyst-Triage?][COM=NFC]
Flags: needinfo?(pcheng)
Flags: needinfo?(ktucker)
Flags: needinfo?(aalldredge)
Keywords: qawanted
Per comment 22 here are the bugs for the instances where NFC does not work still.

NFC not working in the Music NGA app is bug 1207985.

The contact not being sent correctly through NFC is bug 1210516.
Flags: needinfo?(aalldredge)
This issue appears to be resolved except for the issues mentioned in Comment 23 so I'll close this out.

The user can transfer files using NFC. 

Device: Aries 2.5
Build ID: 20151001114357
Gaia: bd8ff00faac97ad6a2df5a6217910b8d295d56a3
Gecko: 2c1fb007137dcb68b1862a79553b53f1a34c99c3
Gonk: 2916e2368074b5383c80bf5a0fba3fc83ba310bd
Version: 44.0a1 (2.5)
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:44.0) Gecko/44.0 Firefox/44.0

Device: Flame 2.5 (Full Flash)(KK)(319mb)
BuildID: 20151001030229
Gaia: bd8ff00faac97ad6a2df5a6217910b8d295d56a3
Gecko: 096c0f407f8ba3ef7cfe4e0b831761993cac38b1
Gonk: c4779d6da0f85894b1f78f0351b43f2949e8decd
Version: 44.0a1 (2.5) 
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:44.0) Gecko/44.0 Firefox/44.0
Status: NEW → RESOLVED
Last Resolved: 3 years ago
QA Whiteboard: [QAnalyst-Triage?][COM=NFC] → [QAnalyst-Triage+][COM=NFC]
Flags: needinfo?(ktucker)
Resolution: --- → FIXED
(Reporter)

Updated

3 years ago
Status: RESOLVED → VERIFIED
(Reporter)

Updated

3 years ago
status-b2g-master: affected → verified
You need to log in before you can comment on or make changes to this bug.