Has anyone played around with the #Thread radio on M3+ MacBooks?
Seems like com.apple.threadradiod and com.apple.ThreadCommissionerService contain a full OpenThread stack!
Reverse engineer, student
Currently contracting for Beeper
| Blog | https://jjtech.dev |
| GitHub | https://github.com/JJTech0130 |
| [email protected] |
Looking lower level, I think it might actually be possible to talk to the Thread NCP coprocessor ("Fillmore") without private entitlements, presuming you're unsandboxed...
Maybe I can just port the open-source version of the daemon?
I created a (very rough) tool to play around with the #Thread radio built-in to M3+ #AppleSilicon #Mac devices!
Unfortunately, it requires private entitlements, so you'll need SIP disabled and AMFI bypassed.
You can configure the #Thread interface using the private CoreThreadRadio.framework...
Unfortunately it requires the entitlement com.apple.private.ctr.thread
I used Wireshark on threadradiod's utun interface on my Mac, and when I toggle a Matter-over-Thread lamp using Home app I see #Matter packets sent on port 5540!
It seems like after a minute or two the Home app figures out there is a Thread Border Router and shuts down utun9 in favor of just using the router.
I opened the Home app and threadradiod started right up, and created the following new interface!
utun9: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
options=6460<TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
inet6 fe80::68a6:4bd7:cb50:b21d%utun9 prefixlen 64 scopeid 0x27
inet6 fd11:35aa:6877:0:45ad:8e81:b682:dbc3 prefixlen 64
inet6 fd11:35aa:6877::ff:fe00:2408 prefixlen 64 deprecated
inet6 fd72:683:99a0:0:3997:be43:1c3c:b6b8 prefixlen 64
nd6 options=201<PERFORMNUD,DAD>
Has anyone played around with the #Thread radio on M3+ MacBooks?
Seems like com.apple.threadradiod and com.apple.ThreadCommissionerService contain a full OpenThread stack!
(weird side effect of this: if you have a jailbroken iPhone 12, you could theoretically use that for authenticating as a CarPlay headunit... just need to talk via I2C to the display flex)
(this isn't actually useful, on all modern iOS/Mac devices you can get a BAA certificate, which CarPlay will happily accept instead of an MFi certificate because that's how CarPlay Simulator works)
You'll see it under AppleAuthCPRelay in ioreg, it's just connected to I2C.
The same AppleAuthCPUserClient appears to also be used to talk to a connected #Lightning authentication chip (over the IDBus protocol)... see AppleAuthCPMGAID
On the iPhone 12, the battery also contains a similar authentication mechanism, though it doesn't exactly seem to be the same MFi coproc.
Does anyone have any experience with #GMC diagnostics?
A family member has an old '06 Canyon which they wanted to pair a new key fob to...
Apparently the original software for this was called #Tech2Win, which is an emulator of some ancient device?
And it connects to some other software called #TIS2000 which is for 16-bit Windows??