Fairly large number of Unknown SoCs detected #329
Copy link
Copy link
Closed
Description
After Unknown SoC case matters like (#322), I decided to check real-world data to see which Android devices report their SoC name as unknown (via the cpuinfo_package.name field). It turns out that quite a few devices report an unknown SoC. We should investigate these cases to correctly identify their SoCs.
Here are several examples I found:
brand(ro.product.brand) model(ro.product.model) is_exist_on_play_store device_code(from play store) marketing_name catalog_soc(from play store)
samsung SM-A057F,SM-A057G,SM-A057M TRUE a05s Galaxy A05s QTI SM6225
Redmi 25028RN03A,25028RN03I,25028RN03Y TRUE serenity Redmi A5 Spreadtrum UMS9230E
samsung SM-S928B TRUE e3q Galaxy S24 Ultra QTI SM8650
Redmi 23124RA7EO TRUE sapphiren Redmi Note 13 QTI SM6225
OPPO CPH2641 TRUE OP5B16L1 A3x Qualcomm SM6115
OPPO CPH2641 TRUE OP5B16L1 A3x/A20 Qualcomm SM6115
samsung SM-S918B,SM-S918N TRUE dm3q Galaxy S23 Ultra QTI SM8550
Redmi 2312DRA50G,2312DRA50I TRUE garnet Redmi Note 13 Pro 5G Qualcomm SM7435
OPPO CPH2631 TRUE OP5AE7L1 A60 QTI SM6225
samsung SM-S938B TRUE pa3q Galaxy S25 Ultra QTI SM8750
samsung SM-S911B TRUE dm1q Galaxy S23 QTI SM8550
OPPO CPH2669 TRUE OP5B16L1 A3 Qualcomm SM6115
OPPO CPH2669 TRUE OP5B16L1 A40/A40m Qualcomm SM6115
samsung SM-A047F TRUE a04s Galaxy A04s Samsung Exynos 850
samsung SM-A217F,SM-A217M TRUE a21s Galaxy A21s Samsung Exynos 850
OPPO CPH2669 TRUE OP5B16L1 A40/A3/A40m Qualcomm SM6115
samsung SM-A127F TRUE a12s Galaxy A12 Samsung Exynos 850
vivo V2419 TRUE V2419 Y19s pro Spreadtrum T612
vivo V2419 TRUE V2419 vivo Y19s Spreadtrum T612
iQOO I2218,I2219,I2220,I2401 FALSE
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
digantdesai commentedon Sep 8, 2025
cc @fbarchard @GregoryComer
GregoryComer commentedon Sep 8, 2025
Yeah, I need to revert the other PR with a more targeted fix for the UNISOCs. It may be a few days, but I'll see if I can get the merged soon.
3c71 commentedon Oct 4, 2025
I've checked some Google devices which reports as Unknown:
Pixel 6A Tensor
Octa-core (2x2.80 GHz Cortex-X1 & 2x2.25 GHz Cortex-A76 & 4x1.80 GHz Cortex-A55)
Mali-G78 MP20
Pixel 9A Tensor G4 - tegu
Octa-core (1x3.1 GHz Cortex-X4 & 3x2.6 GHz Cortex-A720 & 4x1.9 GHz Cortex-A520)
Mali-G715 MP7
Let me know if I can help with logs/data to add support for those CPU from Google.
fbarchard commentedon Oct 28, 2025
There is no Exynos or Tensor support. I think the field we want is soc.
eq Samsung S23:
[ro.soc.model]: [SM8550]
3c71 commentedon Oct 29, 2025
The pixel 6a reports Tensor in ro.soc.model.
The pixel 9a reports Tensor G4. So that seems a good fallback.
For Exynos, I use that file: /sys/devices/system/chip-id/ap_id
fbarchard commentedon Nov 19, 2025
I have a Samsung S23 handy, and can confirm SoC is 'unknown'
SoC name: Unknown
Microarchitectures:
1x Cortex-X3
4x Cortex-A715
3x Cortex-A510
Cores:
0: 1 processor (0), ARM Cortex-X3
1: 1 processor (1), ARM Cortex-A715
2: 1 processor (2), ARM Cortex-A715
3: 1 processor (3), ARM Cortex-A715
4: 1 processor (4), ARM Cortex-A715
5: 1 processor (5), ARM Cortex-A510
6: 1 processor (6), ARM Cortex-A510
7: 1 processor (7), ARM Cortex-A510
Clusters:
0: 1 processor (0), 0: 1 core (0), ARM Cortex-X3
1: 4 processors (1-4), 1: 4 cores (1-4), ARM Cortex-A715
2: 3 processors (5-7), 2: 3 cores (5-7), ARM Cortex-A510
Logical processors (System ID):
0 (7)
1 (3)
2 (4)
3 (5)
4 (6)
5 (0)
6 (1)
7 (2)
The property works
adb shell getprop ro.product.model
SM-S918U1
In general Qualcomm, Exynos and Pixel fail
MediaTek works
SoC name: MediaTek MT6993
but the name is different than the property
adb shell getprop ro.product.model
V2509A
These are properties that use the MT6993 name
adb shell getprop | grep mt.*6993 -i
[ro.board.platform]: [mt6993]
[ro.boot.hardware]: [mt6993]
[ro.gfx.driver.0]: [com.mediatek.mt6993.gamedriver]
[ro.hardware]: [mt6993]
[ro.soc.model]: [MT6993]
[ro.vendor.mediatek.platform]: [MT6993]
[ro.vendor.soc.model]: [MT6993]
[ro.vendor.soc.model.external_name]: [MT6993W/CZA]
[ro.vendor.soc.model.part_name]: [MT6993W/CZA]
[ro.vivo.product.platform]: [MTK6993]
I've noticed ro.soc.model usually matches what we expect, for newer SoC. But is missing on older devices.
Pixel 8 Pro (husky)
SoC name: Unknown
Microarchitectures:
9x Cortex-A510
[ro.product.model]: [Pixel 8 Pro]
adb shell getprop | grep tensor -i
[ro.soc.model]: [Tensor G3]
ro.product.model identifies the phone/laptop... it isnt what cpuinfo needs to know
ro.soc.model is the soc that goes in that phone. We should add that and use it when available.
e.g. Pixel 2 XL doesnt have an 'soc' field
adb shell getprop | grep model
[ro.product.model]: [Pixel 2 XL]
[ro.product.odm.model]: [Pixel 2 XL]
[ro.product.product.model]: [Pixel 2 XL]
[ro.product.system.model]: [Pixel 2 XL]
[ro.product.system_ext.model]: [Pixel 2 XL]
[ro.product.vendor.model]: [Pixel 2 XL]
But /proc/cpuinfo has the 'Hardware'
adb shell more /proc/cpuinfo | grep Hardware
Hardware : Qualcomm Technologies, Inc MSM8998
If I search for that, it has an old property
adb shell getprop | grep 8998
[ro.board.platform]: [msm8998]
I suggest ro.soc.model will fix Qualcomm, Exynos and Tensor.
fbarchard commentedon Apr 27, 2026
This PR adds getprop ro.soc.model in order to detect newer qualcomm soc
#381
If that lands okay I'll fill in the Google Tensor and Samsung Exynos which will fix most of the devices on your list.
fbarchard commentedon Apr 28, 2026
I tested a number of Samsung with Qualcomm soc and they detect okay now
This PR adds Google Tensor soc
#382
Could you update the list of failures or file a new bug and if possible
adb shell getprop ro.soc.model