Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit ffd584f4 authored by Patrick Gaskin's avatar Patrick Gaskin Committed by Luca Stefani
Browse files

apns: Update all Canadian carriers

Why:
- They're all pretty outdated.
- Many carriers do not document APN settings, and the ones which do
  don't include ims/xcap/sos.
- The Quebecor ones (Fizz/Freedom/Videotron) are very broken,
  especially Freedom.
- Many MVNOs are missing or partly missing (i.e., missing additional
  match conditions).
- Some APNs are incorrect.
- Most IMS APN settings are outdated (e.g., almost all should now be
  IPV4V6).
- Some APNs with bearer_bitmasks are missing NR (20).
- Some APNs aren't properly configured for IWLAN (18).

Why not do it based on AOSP:
- Almost all Canadian carriers are extremely outdated there.
- Some are missing compared to the pixel ones (and even those have
  some minor issues especially with the Quebecor ones).

These were compiled using a combination of data from:
- Recent phones well-supported by Canadian carriers:
  - Pixel shiba_AP2A.240905.003 CarrierSettings (extracted via lineage
    carriersettings-extractor and verified manually). This one tends to
    be the best overall.
  - Motorola Edge 2024 (XT2045-1) XT2405-1_AVATRN_RETCA_14_U2UANS34.72
    apns-conf. This one tends to have ones which Google is missing, but
    is quite a bit more messy overall.
  - Samsung Galaxy S24 (S921W) S921WVLS3AXI1/S921USQS3AXI1/MQB86303474
    apns-conf. This one usually matches Google, but has some
    misconfigured MVNOs. It's still good as a third point of reference.
- AOSP carrier_list.pb for confirming carrier_id matches (it's actually
  up-to-date unlike the APNs from various sources) and for ensuring all
  mvno matches exist.
- Pending AOSP patches from employees of Canadian carriers.
- Official carrier documentation.

Also see https://github.com/pgaskin/apnstuff/blob/177c6b9d469165f3d9f9193e48d30e1351476196/mcc302.xml
(and the diffs in experiments/curated) for the stuff in a more readable
format.

A rough summary of where each set of APNs comes from is below:

Xplore (https://www.xplore.ca/) - 302130
- based on motorola APNs (goog/sam don't have it)
- added carrier_id since there's an exact match

Cogeco (https://corpo.cogeco.com/cgo/en/press-room/press-releases/cogeco-announces-strategic-partnerships-national-wireless-network-operator-and-eastlink-launch-mobility-services-canada/) - 302150/302151
- based on motorola APNs (goog/sam don't have it)
- not generally available yet
- renamed

TELUS - Koodo (https://www.koodomobile.com) - 302220/302221 gid=4B4F
- based on google APNs
- note that Samsung uses just "4B" as the prefix, but google, aosp, and the carrier_list uses 4B4F, so I'm going with that
- https://www.koodomobile.com/en/help/setting-data-your-non-koodo-phone has some of the APNs
- renamed
- sp.koodo.com type dun removed, supl added (https://android-review.googlesource.com/c/device/sample/+/3191311)
- sp.koodo.com roaming_protocol=IP added (https://android-review.googlesource.com/c/device/sample/+/3191370)
- ims roaming_protocol changed from IPV6 to IPV4V6 (https://android-review.googlesource.com/c/device/sample/+/3191370)

TELUS - Public Mobile (https://www.publicmobile.ca) - 302220/302221 gid=4D4F
- based on google APNs
- https://www.publicmobile.ca/en/on/get-help/articles/set-up-data-on-an-android-phone
- renamed
- isp.mb.com protocol+roaming_protocol=IP added (https://android-review.googlesource.com/c/device/sample/+/3191510)
- sp.mb.com roaming_protocol=IP added (https://android-review.googlesource.com/c/device/sample/+/3191510)
- ims roaming_protocol changed from IPV6 to IPV4V6 (https://android-review.googlesource.com/c/device/sample/+/3191510)

PC Mobile (TELUS MVNO) (https://www.pcmobile.ca/en/) - 302220/302221 gid=5043
- based on google APNs
- https://www.pcmobile.ca/en/help/sim-card-and-phone-support/APN-settings/
- renamed
- https://www.reddit.com/r/bell/comments/1cv8jf2/does_pc_mobile_really_have_volte/ says no volte on the pixel 8 as of 2024-05, which checks out given that ims/xcap isn't in the apns for it
- motorola and samsung don't have ims/xcap for it (or for generic 302220/302221 either)
- https://www.cellphones.ca/cell-plans/carriers/pc-mobile/ also says volte not supported

TELUS (https://www.telus.com/en) - 302220/302221 gid=5455
- based on google APNs
- note that Samsung uses just "54" as the prefix, but google, aosp, and the carrier_list uses 5455, so I'm going with that
- https://www.telus.com/en/support/article/activate-data-on-your-android-device
- renamed
- isp.telus.com protocol+roaming_protocol=IP added (https://android-review.googlesource.com/c/device/sample/+/3185999)
- sp.telus.com roaming_protocol=IP added (https://android-review.googlesource.com/c/device/sample/+/3185999)
- ims roaming_protocol changed from IPV6 to IPV4V6 (https://android-review.googlesource.com/c/device/sample/+/3185999)

skipped a bunch of seemingly TELUS MVNOs which don't exist afaik other than as APN entries on samsung and motorola, and as entries in carrier_list
the odd thing about them is most have an xcap apn with a mmsc of mms.mnc340.mcc313.pub.3gppnetwork.org... and 340313 is Dish in the US
I can't find anything on Google about Dish having any kind of relationship with TELUS
also, for Boost, https://www.reddit.com/r/BoostMobile/comments/x0qz8k/going_to_canada_in_2_weeks/ claims they have no coverage at all in Canada
for Ting, I found https://www.cbc.ca/news/business/the-canadian-mobile-phone-service-you-can-t-get-here-1.1337824
none of these are in aosp, lineage, or google currently
- 302 220 gid=6332 Boost (2518)
- 302 220 gid=6336 Boost (2614)
- 302 220 gid=6530 Home (2517)
- 302 220 gid=6538 Project Genesis (2528)
- 302 220 gid=6630 Republic (2520)
- 302 220 gid=6636 Gen Mobile (2619)
- 302 220 gid=6638 Boost (2621)
- 302 220 gid=6732 Boost (2613)
- 302 220 gid=6736 Boost (2615)
- 302 220 gid=6738 Project Genesis (2616)
- 302 220 gid=6830 Republic (2617)
- 302 220 gid=6836 Gen Mobile (2620)
- 302 220 gid=6838 Boost (2622)
- 302 220 gid=7330 Ting (2521)
- 302 220 gid=7530 Ting (2618)
- 302 220 gid=8030 (unknown, no match in carrier_list)
- 302 220 gid=9030 (unknown, no match in carrier_list)

skipped 302 220 spn=WOM (only motorola has it)

EastLink (https://www.eastlink.ca/) - 302270
- based on motorola APNs (eastlink does not sell pixels - https://www.eastlink.ca/mobile/phones, and the google apns seem to be outdated/incomplete)
- removed motorola-specific agps type
- https://my.eastlink.ca/Portals/0/Wireless/Eastlink-Config-Android-Windows-Other.pdf?versio
- renamed

Rogers - Chatr Mobile (https://www.chatrwireless.com/) - 302320
- based on google APNs (is the mostly the same as the aosp ones, but also has xcap/ims)
- https://www.chatrwireless.com/support/network-and-data
- renamed

Rogers - Fido (https://www.fido.ca/) - 302370 + 302370 gid=DD
- based on google APNs (this one is a bit messy across manufacturers)
- https://forums.fido.ca/t5/General-Support/Fido-s-APN-amp-MMS-Settings/m-p/91614 (this one is outdated - fido-core-appl1.apn has been replaced with ltedata.apn)
- https://www.fido.ca/support/mobility/cannot-open-websites-apps-mobile-phone (this one is newer)

MTS (Rogers MVNO) - 302370 gid=2C
- based on google APNs
- see the Bell MTS APNs below

MTS (Rogers MVNO) - 302370 spn=MTS
- based on motorola APNs
- removed motorola-specific agps type
- no carrier_list match
- see the Bell MTS APNs below

Quebecor - Freedom Mobile (https://www.freedommobile.ca/en-CA) - 302490
- based on google APNs (they are the best ones: samsung and motorola have some of it, but are missing some options; aosp is bad)
- fully tested (note that it also requires at least the 302500/302500 apns to work correctly, and may also require other canadian ones for nationwide)
- renamed

Shaw Mobile - 302490/302500 imsi=302490400/imsi=302490500/gid=53
- skipped
- mvno no longer exists and customers have been migrated (https://support.shaw.ca/t5/billing-account-articles/rogers-shaw-coming-together-faq/ta-p/56371, https://www.digitalhome.ca/threads/rogers-forces-move-from-shaw-mobile.294940) (also, motorola and samsung don't include these)

Quebecor - Videotron (https://www.videotron.com/) - 302500/302510/302520
- based on a combination of motorola's, google's, and samsung's APNs
- google doesn't include 302500, and I'm not sure if they're strictly required or if videotron only uses 302510/302520, but let's be safe and keep them
- google puts a mmsproxy of 10.208.89.17 for 510/520, but I'm 90% certain this is outdated (motorola and samsung don't, and fizz alsu used to use that IP before they switched to mmsproxy.mobile.bm)
- motorola lists apn types "default,mms,dun,agps,supl,fota,hipri" for the default apn, but they seem to do that when they don't know better, and samsung/google uses "default,mms,supl", so let's use that
- https://www.videotron.com/soutien/mobilite/configurer-services/configurer-apn
- renamed
- my diff page is extremely helpful for comparing these: https://htmlpreview.github.io/?https://github.com/pgaskin/apnstuff/blob/master/experiments/cmp/mcc302-all.split.html

Quebecor - Fizz (https://fizz.ca/en) - 302500 gid=55
- mostly based on google's APNs
- almost as much of a mess as Videotron
- google's one has ipv6-only for ims, and I'm 99% certain it should be IPV4V6 like motorola's and other carriers
- motorola's only has bearer 18 for xcap, and I'm 99% it should be for all bearers like google's
- motorola has the apns copied to mnc=510 too, but I'm 70% sure this is a mistake since it isn't in the carrier_list and nothing else has it
- samsung's doesn't have ims, but motorola and google do, and I'm 100% certain it should
- samsung's has only IPV6 as the protocol for IMS, but motorola's has IPV4V6, and I'm 99% certain the latter is correct
- https://fizz.ca/en/faq/what-are-fizz-network-settings-apn
- https://fizz.ca/en/faq/why-volte-important
- renamed
- my diff page is extremely helpful for comparing these: https://htmlpreview.github.io/?https://github.com/pgaskin/apnstuff/blob/master/experiments/cmp/mcc302-all.split.html

Bell Mobility (https://www.bell.ca/) - 302610/302630/302640
- based on google's APNs
- renamed
- pretty uncontroversial and consistent between google/motorola/samsung, but google's is the cleanest
- changed IMS protocol/roaming_protocol to IPV4V6 to match current aosp and other canadian carriers

Bell - Virgin Mobile (https://www.virginplus.ca) - 302610/302630/302640 gid=3E
- similar to bell, same thing about ims

Solo Mobile (Bell MVNO) (https://www.solomobile.ca/) - 302610/302630/302640 gid=3F
- similar to virgin

PC Mobile (Bell MVNO) (https://www.pcmobile.ca/en/) - 302610/302630/302640 gid=40
- similar to virgin

Bell - Lucky Mobile (https://www.luckymobile.ca/) - 302610/302630/302640 gid=42
- similar to virgin

Bell - MTS (https://www.bellmts.ca/personal?cookieCheck=1) - 302660 gid=2C/spn=MTS
- based on google's APNs
- note that google's doesn't have the gid=2C match condition, but it's not important since only MTS uses 302660
- added carrier_id=578

SaskTel (https://www.sasktel.com/store/browse/Personal/_/N-26v0) - 302654/302680/302681/302780/302781
- based on google's APNs
- https://support.sasktel.com/app/answers/detail/a_id/12121
- added missing carrier_id
- renamed

Lum (SaskTel MVNO) (https://lum.ca/) - 302780 gid=5B

Bell IoT - 302690 - gid=41/gid=43
- based on aosp

Rogers (https://www.rogers.com) - 302720
- based on google's APNs
- almost exactly matches AOSP, but has some newer IMS-related stuff (e.g., protocol IP -> IPV4V6)
- renamed

Rogers 5G (https://www.rogers.com) - 302720 gid=A4
- similar to Rogers, has slightly different APNs
- https://www.rogers.com/support/mobility/5G-network-faqs

Rogers - Tbaytel (https://www.tbaytel.net/) - 302720 gid=BA OR 302720 imsi=302720x92
- similar to Rogers
- added missing carrier_id

Rogers - Cityfone (https://www.cityfone.net/) - 302720 gid=CC OR 302720 imsi=302720x97 OR 302720 spn=CITYFONE
- similar to Rogers
- gid=CC doesn't seem to exist in carrier_list, but I'm keeping it anyways
- added missing carrier_id
- being discontinued, see website

Rogers - Chatr (https://www.chatrwireless.com/) - 302720 gid=D2 OR 302720 imsi=302720x84/302720x83/302720x94
- similar to Rogers

Rogers - Ztar - 302720 gid=D4 OR 302720 imsi=302720x98
- similar to Rogers
- gid=D4 doesn't seem to exist in carrier_list, but I'm keeping it anyways

Rogers WPN (https://www.rogers.com/business/iot/wireless-private-network) - 302781
- based on google APNs
- renamed

Change-Id: Iafb39363c07e74d3cda5868e32c38d684a8f2989
(cherry picked from commit 56ec683e)
parent 621f14f2
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment