NordicSemiconductor / Android-BLE-Library

A library that makes working with Bluetooth LE on Android a pleasure. Seriously.
BSD 3-Clause "New" or "Revised" License
1.97k stars 413 forks source link

List of Coded PHY Supported/Tested Phones #166

Open kiafaldorius opened 4 years ago

kiafaldorius commented 4 years ago

Does anyone happen to know if there's a full list somewhere with compatible Coded PHY supported phones?

I tried it on a Pixel 4 which is supposed to support it, and claims it supports it via isLeCodedPhySupported, but I've been unable to get any advertisements. I even tried using the nrfConnect app, and getting the same result.

It works on the Samsung S10+. Can anyone point me to what I can look into to debug this?

philips77 commented 4 years ago

There's number of phones that support Coded phy, but a device needs to advertise on LE 1M as Primary phy to be found, which completely brakes the purpose of long range. Pixel is this group. Actually, we only know only One Plus 6 that can scan packets with Primary phy Coded. Good to know S10+ is also capable to do so.

kiafaldorius commented 4 years ago

Dang, that sucks because the Pixel itself can advertise with LE Coded in both the primary and secondary channels. Why would it only support scanning on LE 1M?!?

So to re-iterate the first question...is there a list somewhere? If we don't have it, can we start compiling it?

philips77 commented 4 years ago

So far I know only One Plus 6 and Samsung S10(+) that can scan using primary PHY Coded. I'm working on a test feature in nRF Connect for Android that will let us create such list, but this is still month before releasing.

kiafaldorius commented 4 years ago

Ok, thank you! I'll keep my eye out for it.

kiafaldorius commented 4 years ago

I can now confirm that the One Plus 7 series can also scan using primary PHY Coded.

And can also confirm that Google Pixel 4 won't support Primary PHY LE Coded in the future: https://issuetracker.google.com/issues/148487283

msimic777 commented 3 years ago

Here are some devices I have tested and confirmed to have BT5 Code PHY Long range.

Galaxy Tab A7 Galaxy S10 and above Oneplus 7 and above Xiaomi Poco X3 NFC

Somebody above said Oneplus 6 works, but if I remember correctly, I think it didn't work for us when a colleague tested it. It might depend on which version of Oneplus 6 it is because there are sometimes differences between versions sold in different countries.

Some devices possibly have it according to the Bluetooth ICS page, but they usually come with this comment:

C.2: Excluded IF SUM ICS 21/14 “Core v4.2” is supported, otherwise Optional.

Some devices I tested that potentially had it according the ICS page, actually didn't have it or it didn't work for scanning. In the menu of the nRF connect app, you can tap "Device information" and it will have YES or NO for "Long range (PHY Coded) supported".

For the devices I tested that potentially had it but didn't work, they failed at different points. Some showed NO in nRF connect for "Long range (PHY Coded) supported", others like LG K31 said YES, but when I tried to scan, it couldn't see a Code PHY advertisement.

These devices potentially have it according to the Bluetooth ICS page, but I haven't tested any of them.

LG Velvet LG K61 LG K41S LG K300

Xiaomi Redmi 9 and 9C Xiaomi Redmi Note 9 Xiaomi Mi 9 Xiaomi Mi 10T Lite and Pro

Motorola Edge +

A commenter above mentioned that some phones can communicate with Code PHY, but can only scan in 1M. I didn't even test that out because for my purposes, those phones would be useless. I need them to be able to scan in Long Range because we are actually working with Long Range requirements.

gamelaster commented 3 years ago

Samsung Galaxy S21 works absolutely fine. To opposite side, OnePlus 6T don't see secondary advertisement channel, and it's difficult to connect into coded-enabled peripheral (although, it's possible)

mafaneh commented 2 years ago

This is a great thread! I appreciate the efforts of coming up with a list of phones that support Coded PHY. I have a related question (and I apologize if this is not a bit tangential to the topic), but didn't know where else to ask the question.

I am currently using a OnePlus Nord N10 5G and I can confirm it works well for scanning, advertising (primary & secondary), and connecting all using Coded PHY.

The issue I am running into is I'm not able to scan only Coded PHY advertisements. According to the Android API documentation, you can set the PHY used for scanning to be either 1M + Coded PHY, 1M only, or Coded only. However, I am still receiving non-Coded PHY advertisements even when I set the Phy to Coded PHY using the .setPhy(BluetoothDevice.PHY_LE_CODED) while setting the Scan Settings. The codebase I am using is the Android-nRF-Blinky GitHub repo.

Please let me know if I should be posting this somewhere else. I'll delete and post where appropriate!

kboiss commented 2 years ago

We have tested the Samsung M51 to work

Not Working are the Samsung A32 5G

kiafaldorius commented 2 years ago

I can confirm the Samsung A32 5G does not pick up primary LE_Coded only advertising payloads.

The issue mentioned on the OnePlus 6T happens with a few other phones. It gets worse if you increase the advertising interval.

@mafaneh That's a different issue, open a new ticket for that if you need help please. Short answer: Android doesn't let you scan using LE Coded only. It's only 1M+LE_CODED or 1M-only.

chemary commented 1 year ago

My Samsung S20 was able to scan LE_CODED advertisements perfectly until the last 2022-August security update, in some pages it talks about this update adding improvements to the security of Wifi and Bluetooth. That's sad I may try to revert this update but seems not trivial, I used nRF Connect for Android to scan for some devices I was working on that only advertise on LE_CODED. (update) After trying several things uninstalling and installing again the application fixed the problem :smile:

philips77 commented 1 year ago

Samsung Galaxy A8 (SM-X200, Android 11) tablet can scan packets sent on Primary and Secondary LE Coded. Lenovo M10 (TB-X306F, Android 10) tabled cannot.

dsconyers commented 1 year ago

Cat S42 (Android 11) supports the LE Coded PHY, but it can't scan for LE_CODED advertisements.

OnPl10 commented 1 year ago

OnePlus 10 Pro 5g has coded PHY support but I have no idea how to use it to find my earbuds. Anyone have some step by step instructions for dummies?

s3ni0r commented 11 months ago

Hello, what about smartwatches like Samsung smartwatch 6? how can one check if they support coded phy?

rajeevinfolitz commented 2 months ago

Did anyone find a compiled list of devices that supports CODED PHY

msimic777 commented 2 months ago

This forum topic seems to be the only compiled list that exists on the internet.

philips77 commented 1 month ago

Some info regarding scanning for packets sent on Coded PHY (thanks to Paul C.!):

Not working scanning on PHY Coded was reported here: https://issuetracker.google.com/issues/227887174 and it seems to be fixed here:

Possibly will work on Android 15, also on current phones after an upgrade. This should be tested when next beta release becomes available.

paulchaffey commented 1 month ago

Some info regarding scanning for packets sent on Coded PHY (thanks to Paul C.!):

Not working scanning on PHY Coded was reported here: https://issuetracker.google.com/issues/227887174 and it seems to be fixed here:

Possibly will work on Android 15, also on current phones after an upgrade. This should be tested when next beta release becomes available.

Just to be clear, I have tried to find this in the Android 15 API but failed. It might have been already in the API but not connected through to the HW. If anyone would like to check on this it would be great.