Hacker News

todsacerdoti
Reading the undocumented MEMS accelerometer on Apple Silicon MacBooks via iokit github.com

seductivebarry14 hours ago

Way back in ~2008 I wrote the Newton Virus https://www.everita.com/how-the-newton-virus-was-made + https://www.youtube.com/watch?v=eh75j6OHhRc (sorry for the broken images, need to update that site). Between that and using a hidden API to take screenshots of each individual element on your desktop (from icons, to taskbar, to windows) the effect was pretty believable. One of the most fun (and frustrating) projects I ever worked on.

outadoc8 hours ago

I've tried to find this for so long. I remember seeing it at the time as a teenager and thinking it was SO COOL. Basically made me discover Apple and want a Mac. :)

directmusic8 hours ago

When I saw the post the Newton Virus was the first thing I thought of. Thanks for making it. I remember showing my family the video and remarking about how cool it was.

swiftcoder13 hours ago

Offtopic, but I have nostalgic feelings for the era of MacBook in the video

tmslnz13 hours ago

Troika! Hello from a friend in London :)

krackers14 hours ago

>have a hard to find mems accelerometer managed by the sensor processing unit

How did OP even know that an accelerometer exists in the first place?

rustyhancock14 hours ago

The presence of the sensor is well documented as part of Apples Sudden Motion Sensor hard drive protection system.

How to access it is undocumented.

future10se14 hours ago

Aaackshually, the Sudden Motion Sensor was introduced on 2005 in the PowerBook G4, and continued through the intel MacBooks with hard drives.

While officially undocumented, people figured out how to access it back then, with novel uses like smacking your MacBook to change spaces (virtual desktops) or swinging the Mac around to make lightsaber noises.

- https://www.youtube.com/watch?v=6uvQTTPr9Rw

- https://osxdaily.com/2006/12/06/macsaber-turn-your-mac-into-...

(I should know, I was in university back then and swung my Mac around like an idiot, lol.)

On the first Retina MacBook Pro 15" in 2012, and moving forward with all MacBooks that were SSD-only, they removed the SMS as it was not needed.

To my knowledge, this is the first time we're hearing that Apple Silicon machines have an accelerometer on the SoC, officially or otherwise. It's also certainly not branded or marketed as the SMS was. (https://support.apple.com/en-us/100871)

Happy to be corrected on this!

lelandfe8 hours ago

In 2022 "a little birdy pointed out an accelerometer" to iFixit on their teardown of an M2 MBA: https://www.ifixit.com/News/62674/m2-macbook-air-teardown-ap...

They could not figure out what it was for.

Ars Technica commenters at the time believed it was to record drops so Apple repair teams could rebuff requests :)

1e1a11 hours ago

I think there's some sort of motion sickness reducing feature in MacOS Tahoe which would require an accelerometer.

nerdsniper13 hours ago

Given that current drives don't have moving parts, what function is this serving today?

juggerl610 hours ago

Void warranty if dropped

nerdsniper8 hours ago

Has anyone reported this happening?

xattt3 hours ago

People who knew what they did aren’t going to go online and say that they tried to return a dropped device.

argsnd12 hours ago

Apple has a motion sickness mitigation feature that displays dots on your screen that move based on physical motion, so it’s fairly well known that the accelerometer exists.

mschuster9110 hours ago

That's for iOS devices though

Someone7 hours ago

https://support.apple.com/en-om/guide/mac-help/mchla3c4f1da/...:

“Vehicle Motion Cues

Vehicle Motion Cues may help reduce vehicle motion sickness while using a Mac and riding as a passenger in a car or other on-road vehicle.

To customize Vehicle Motion cues, click Customize Appearance, then set any of the following options:

- Pattern: Select Regular for a stable and predictable pattern of onscreen dots, or Dynamic for a more engaging visual experience.

- Color: Select a color of onscreen dots. Color saturation will automatically adjust to maintain contrast with the content behind each dot.

- Larger dots: Turn on Large dots to increase the size of the dots that appear onscreen.

- More dots: Turn on More dots to increase the number of dots that appear onscreen.

Note: This option is available on Mac laptop computers. It’s not available on MacBook Air (M1) or 13-inch MacBook Pro (M1) or earlier.”

angulardragon039 hours ago

It’s also for macOS

nom9 hours ago

No.

saagarjha13 hours ago

> the sensor lives under AppleSPUHIDDevice in the iokit registry, on vendor usage page 0xFF00, usage 3. the driver is AppleSPUHIDDriver which is part of the sensor processing unit.

userbinator14 hours ago

undocumented

The one thought that comes to mind is this: "Your warranty claim was denied because we determined that the laptop was subjected to a sudden shock."

consp14 hours ago

Back in the days this was to lock up the hard disk read/write head. Maybe a relic from those times instead?

userbinator14 hours ago

Apple is not known for backwards-compatibility, and they were already using SSDs in their laptops long before switching to ARM.

sysguest14 hours ago

idk you can just use simple liquid-container or sticker?

maybe apple was preparing for "carrying-around laptop experience"?

XorNot14 hours ago

That's an entirely different product build path compared to the electronics production line though.

If a pick and place machine can drop it on and reflow it, that's what you want.

sysguest14 hours ago

well it would be hardened when contact with air or something

see "Shipping Damage Indicators"

altairprime14 hours ago

Did it park the drive heads?

renecito3 hours ago

"hidden", checks API: https://developer.apple.com/documentation/coremotion/cmdevic...

and there is Mac Catalyst (iOS on Mac) and Mac support.

what am I missing ? that this uses a raw stream ?

1e1a11 hours ago

On my M4 14-inch MacBook Pro, it looks like there are two accelerometers: One with {"DeviceUsagePage"=0xff00,"DeviceUsage"=3}, and one with {"DeviceUsagePage"=0xff00,"DeviceUsage"=9} - They both identify as Bosch BMI286

1e1a10 hours ago

Ah, after some testing, it looks like these both refer to the same IMU, DeviceUsage=3 is for the accelerometer and DeviceUsage=9 is for the gyroscope. The serial number is also the same for both.

JSR_FDED13 hours ago

If it can read your heartbeat from your wrists resting next to the trackpad, maybe it can use that as a user satisfaction signal for gratuitous UI changes.

pbhjpbhj13 hours ago

If it's sensitive enough to read a heart beat, then surely it can be used as a covert microphone?

gavinsyancey10 hours ago

The laptop also contains a normal microphone. You can't access this without root; if you have that you have permissions to access the real microphone.

nottorp9 hours ago

... but think how much "engagement" a "security expert" would get out of this!

Quppi10 hours ago

From testing, it seems to require me to press my wrists quite hard against the macbook to get a somewhat accurate reading on the heartbeat. Non the less a cool project and I wasn't even aware my macbook has an accelerometer.

rcxdude12 hours ago

Depends on the bandwidth.

rcxdude12 hours ago

depends on the bandwidth

472828479 hours ago

I would like an app to lock my screen on sudden movement; optionally disable TouchID for next login.

ohyoutravel8 hours ago

Maybe you’re also interested in having it start the fuse on your thermite pot, that you have time to stop if it turns out it’s not the FBI raiding your house for what’s on your hard drive?

472828478 hours ago

Are you implying that it is paranoid and irrational regardless of circumstance to want this?

Sorry to disappoint. I’m working in the human rights space, with dozens of real world experiences by people I work with. I got raided once myself. They were unable to locate any computer on my premises. They however took my phone and a couple of encrypted hard drives for forensic analysis. They asked for the device PIN, which I did not provide. A court later ruled the raid and seizure and temporary confinement illegal. I did not reuse the returned phone. They didn’t pay for the replacement, or the lawyer.

ohyoutravel4 hours ago

Yes that was my implication, but I see based on your comment you have real concerns! My apologies for the implication.

[deleted]10 hours agocollapsed

1e1a11 hours ago

I've been wondering about this for a while, glad someone's finally managed to access it.

ggm13 hours ago

Could this be used as "shake your mac for highly random seed" bits?

1e1a6 hours ago

There's lots of noise in the accelerometer readings, even without shaking

mlajtos9 hours ago

Shake your Mac to undo would be consistent with iPhone, iPad, Vision Pro. Yes, you shake your head to undo when wearing AVP.

RupertSalt9 hours ago

This is a milder version of “Shake to Reboot” which is standard for all Etch-a-Sketch models

c2212 hours ago

Probably not as random as you want it to be.

sysguest12 hours ago

well wouldn't it add up?

someWhatRandom1 xor someWhatRandom2 xor notRandom3 xor ...

should be more 'random' than just 'someWhatRandom1'

throawayonthe12 hours ago

i'm not sure it would necessarily be more random if you're mixing in a lower-entropy source which the accelerometer probably is

LoganDark11 hours ago

XOR is the worst hashing function imaginable, especially if the data isn't truly random, because it can cancel out to become even less random!

It's better to use a KDF or something. Even a block cipher should work far better than XOR.

thenthenthen8 hours ago

This is so cool thank you!

LoganDark11 hours ago

I wonder if this sensor is used for Vision Pro display mirroring.

1e1a11 hours ago

I think it's used for the motion sickness reducing feature in MacOS Tahoe that puts a bunch of dots on your screen that react to motion.

baybal215 hours ago

[dead]

hn-front (c) 2024 voximity
source