我想以編程變化的MagSafe 2. LED存在一個處理感測管腳的信號的電路板和信號實際上是已知的。問題實際上是通過OS X發送這些信號。控制上的MagSafe 2 LED(發送任意數據,以感測銷)
關於MagSafe黑客入侵的唯一文檔是能夠找到的是Ken Shirriff的這篇博文 http://www.righto.com/2013/06/teardown-and-exploration-of-magsafe.html。肯發現有趣
的信號是(只是爲了完整起見),如下所示:
void writeDS2413(int n) {
uint8_t buf[3];
net.reset();
net.skip();
buf[0] = 0x5a; // PIO access write
buf[1] = 0xfc | (n&3); // data in lower two bits
buf[2] = ~buf[1]; // inverted
net.write_bytes(buf, 3, true /* power on */);
}
// ...
writeDS2413(3); // off
writeDS2413(1); // orange
writeDS2413(2); //green
writeDS2413(0); //yellow
是否有允許與的MagSafe低電平通信的OS X層?我認爲它插入時會註冊爲某種設備 - 可能是可寫的,對嗎?
嗯,我猜它是從內核空間訪問..可以直接映射到內存中的某個地方,或者在I2C(OR SM)總線..訪問如果你能找到一個內核模塊控制它,你可以開始追蹤程序集以找出它寫入的地方。 – problemPotato