Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Fixing start session failure on legacy modules #1796

Closed

Conversation

NicoleYarroch
Copy link
Contributor

Fixes #1795

Risk

This PR makes no API changes.

Testing Plan

  • I have verified that I have not introduced new warnings in this PR (or explain why below)
  • I have run the unit tests with this PR
  • I have tested this PR against Core and verified behavior (if applicable, if not applicable, explain why below).

Unit Tests

// TODO

Core Tests

Tested connecting and disconnecting 15 apps to SYNC 3.0 head unit multiple times during the same app session.

Core version / branch / commit hash / module tested against: SYNC 3.0
HMI name / version / branch / commit hash / module tested against: SYNC 3.0

Summary

Added a workaround to fix an issue on legacy modules where the module never responds to the app's request to start an RPC service.

Bug Fixes
  • Fixed some apps failing to establish a connection with the module when more than 15 SDL apps are connected at once.

Tasks Remaining:

  • Run unit tests

CLA

Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
@NicoleYarroch NicoleYarroch self-assigned this Sep 25, 2020
@NicoleYarroch NicoleYarroch added the bug A defect in the library label Sep 25, 2020
@NicoleYarroch NicoleYarroch added this to In progress in v7.0.0 via automation Sep 25, 2020
@NicoleYarroch NicoleYarroch marked this pull request as draft September 25, 2020 19:51
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
@NicoleYarroch NicoleYarroch removed this from In progress in v7.0.0 Sep 28, 2020
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
@NicoleYarroch NicoleYarroch changed the title Fixing start session failure on legacy modules WIP: Fixing start session failure on legacy modules Oct 7, 2020
@kshala-ford
Copy link
Contributor

Just checking on your PR. I know it's WIP but removing retry delay altogether will introduce a number of other problems with the legacy modules. Please let me and generally the Ford members know the strategy on how you want to make changes to the library before pushing to 7.0.

The reason I'm writing is that I do see start session issues with sdl_ios 6.7 but not with 6.5. Therefore please consider changes to the successor of the SDLProxy instead of introducing additional changes.

@joeljfischer
Copy link
Contributor

@kshala-ford This PR will not be ready for v7.0 and we will be sure to give all OEMs substantial review time before pushing the change to production. If you have any additional information or suggestions, we're certainly open to them!

@NicoleYarroch
Copy link
Contributor Author

Removing the retry delay has fixed the bug with the start session on SYNC 3.0 with:

  1. iOS v.14.0, model: iPhone SE (MLY62LL/A)
  2. iOS v.13.3.1, model: iPhone 11 (MWLA2LL/A)
  3. iOS v.12.45, model: iPhone 6 (MG552LL/A)

I did experience a lot of issues where the module seemed to stop responding with the iPhone 6, however when I switched to a MFi certified USB Lightning to USB cable all the apps registered and opened correctly.

@mrapitis I know you asked us to not remove the retry delay pending more testing by Ford: #1343 (comment). Were you able to complete your testing? If it is not possible to remove the retry delay can you explain what the retry's delay's purpose is so we can figure out a work around or if a work around is not possible, include the reasoning in our documentation. Thanks!

@kshala-ford
Copy link
Contributor

@NicoleYarroch I did these tests together with @mrapitis. The delay is added for non-multiplexing systems of Ford including SYNC gen1. SYNC gen3 has multiplexing support but prior to model year 18 (3.0.x) the system had no multisession protocol string. All these system behave very inconsistently with a lower delay. I must admit we never tested removing the delay altogether. Around 1 of 5 vehicles don't have multisession hence require a control session before using a data session. This is a challenge resulting in less apps connecting. Even 3.0.x with 1 of 4 vehicle show a negative impact with reduced delay. MY20 and SYNC4 performs best though.

Unfortunately we have never been able to run tangible test data yet but I am preparing a bench array with different commonly used SYNC versions to perform this very test. It'll take some time though.

@joeljfischer
Copy link
Contributor

Closed in favor of #1910

@joeljfischer joeljfischer deleted the bugfix/issue_1795_start_session_ack_failure branch May 26, 2021 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A defect in the library
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants