-
Notifications
You must be signed in to change notification settings - Fork 513
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
[gen3] Allow UMNOPROF SIM_SELECT to default back to SW_DEFAULT #2211
Conversation
if (netConf_.netProv() == CellularNetworkProvider::TWILIO) { // if Twilio Super SIM | ||
umnoprof = static_cast<int>(UbloxSaraUmnoprof::STANDARD_EUROPE); | ||
} else { | ||
// break out of do-while if we're trying to set SIM_SELECT a second time | ||
if (resetCount >= 1) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Based on the PR description, shouldn't this workaround only work when the external SIM is used? Or is it not that important to have a correct profile selected for officially supported providers other than Twilio?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently the only other SIM we only support on R410 is Kore AT&T, which does get picked up via the SIM_SELECT as AT&T profile. SIM_SELECT is used as a way to somewhat provide 3rd party SIM support if it works... if not... then it will default now to SW_DEFAULT 0 profile.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In other words, it's ok if the client is unable to set SIM_SELECT for Kore on the first try, correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we maybe make it try at least twice?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would stick to the previous behavior as much as possible while still addressing the very specific issue the customer is having. If I'm not mistaken 2.0.0 is the first release that introduces this reset-and-retry loop when setting the operator profile, and, most importantly, it also fails the initialization if it wasn't able to set the profile after a number of attempts, which is exactly what is causing the issue.
I'm assuming that there's a good reason why we introduced this loop, so what if after making a few attempts to set the profile we simply ignore the fact that the profile wasn't set correctly and proceed with the initialization just like previous Device OS versions did?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would be fine with it, since I'm almost certainly missing some context here 😅 I just wanted to make sure this is exactly the behavior we wanted
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm going to merge this as it worked mostly ok as-is, but with the other UMNOPROF=100 PR and these changes together I'm noticing some more cases that need to be addressed. So we can pick up the review over there :D
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure. I have an ask: if this is going to land in 2.0.0 as it is implemented now, let's add a comment that would state that it's an intended behavior, as that's not obvious from the code (hence why it caught my eye).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It will change, but I have two PR's open for similar parts of the code which is making life difficult. Since that other one has more changes... I'll merge this one, rebase that one and make the changes. I'll try to make it very obvious what the intended behavior is with comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool. Thank you 🙏
0ae0d44
to
fc3610e
Compare
Problem
3rd party SIMs that are not detected with a UMNOPROF, do not default to the SW_DEFAULT profile (0), but get stuck in an init loop in Gen 3.
On Gen 2, it will default to SW_DEFAULT profile, but it will take 8 tries before it does taking up unnecessary time.
Solution
Steps to Test
NOTE: You will see a log that says the following if this happens:
This is up to the user to research and implement. YMMV on the exact configuration needed. Please contact your SIM provider.
Example App
References
ch64292
Completeness