Handling the manufacturer id separately from the manufacturer data #100
Replies: 4 comments 23 replies
-
@1technophile if you remember the long discussion with the initial H505 decoder, when nRF Connect and even I/we thought that the beginning on the manufacturerdata was the company ID, but it turned out to be the ending part of the MAC address? Unless doing an online check for 'proper' registered company IDs only I don't think this is a viable, secure idea. For decoder, nor for nRF Connect ;) EDIT, even with the online lookup it doesn't work, as in the below case! nRF Connect screenshot halfway down - can't seem to get an anchor for it ;( |
Beta Was this translation helpful? Give feedback.
-
Also a bit confused now with situations like as a similar thing happened with the IBT_2X. @1technophile do you have an IBT_2X and implemented the original decoder yourself with its leading 4 "0000" at the beginning of the manufacturerdata, or was the original 4 "0000" manufacturerdata user reported? In the latter case it could be easily missed that the 'suposed' company identifier was actually another four "0000" before, making it a total of 8 "00000000" as is this current case with the IBT_6X(S). So maybe there are only 8 "00000000" versions, but depending on where the manufacturerdata reports come from it can easily be mistaken for just 4 "0000". Or there really are two different IBT_2X versions and IBT_6XS and IBT_6X differ there. Just asking before I create similar conditions and underscore variants for the IBT_6XS decoder. |
Beta Was this translation helpful? Give feedback.
-
It was reported by a user here with the 0000 I have only an IBT-4XS. |
Beta Was this translation helpful? Give feedback.
-
Picking this up again with the new TheengsExplorer also showing the company names, as many other BLE scanning apps do, and my comment in the initial Explorer discussion. Since we pretty much know if a device adheres to the company ID convention or not when creating decoders. How about adding a simple static boolean flag to each decoder, something like "cidc" for "company ID compliant", so that every app using the Decoder library can easily decide to display a proper company name or not. This would be short from actually doing a company name lookup in Decoder itself, which would also require to keep the list updated. Or adding
to all decoders, with non compliant ones having an empty or "FFFF" value. Just an idea to get to grips with this issue in some way. |
Beta Was this translation helpful? Give feedback.
-
Currently the manufacturerdata string contains the manufacturer id, for example:
Where nRF Connect gives:
Company 0x0133
Data 0x17540e101776666663f801370100
This is due to the first usage of the library with ESP32 but can cause issues with other implementations.
Do you think we should fix this and differentiate these 2 fields in the decoder and impact the client projects like OMG and Theengs Gateway?
Beta Was this translation helpful? Give feedback.
All reactions