Osegi
हार्डवेयर·2 मिनट में पढ़ें

Xiaomi Mi Smart Speaker पर root और SSH, बूटलोडर की USB विंडो से

एक शौकिया डेवलपर ने Marusya वाले Xiaomi Mi Smart Speaker पर root और रीबूट के बाद भी चलने वाला SSH पाया। रास्ता था बूटलोडर की अपनी USB विंडो और पूरा NAND बैकअप।

Xiaomi Mi Smart Speaker with its board exposed and thin wires soldered to USB test pads, connected to a laptop.
छवि: Хабр

2021 में एक फ़ोन के साथ ऑफ़र में मिला Xiaomi Mi Smart Speaker किसी काम का नहीं रह गया था। एक रूसी डेवलपर ने उसे अपना Linux डिवाइस बनाने की ठानी। नतीजा: Xiaomi Mi Smart Speaker पर root, पूरे NAND का बैकअप और ऐसा SSH, जो सामान्य रीबूट के बाद भी बना रहता है। इसके लिए उन्होंने SpeakerLab 1.0 नाम की टूल बनाई, जिसमें GUI, कमांड लाइन, सोर्स कोड और टेस्ट शामिल हैं।

Xiaomi Mi Smart Speaker पर root कैसे मिला

दिलचस्प हिस्सा बूट प्रक्रिया में है। इस बोर्ड पर Secure Boot चालू है, लेकिन स्टॉक बूटलोडर boot-इमेज की जाँच पूरी होने के बाद RAM में बदलाव करने देता है। इसी अंतराल में एक अस्थायी इंस्टॉलर चलाया जाता है। असली kernel और DTB वैसे ही रहते हैं, सिर्फ़ initramfs की जगह अस्थायी संस्करण आता है, जिसमें मालिक की public SSH key होती है। Secure Boot का कोई सिग्नेचर नहीं बनाया जाता और OTP/eFuse की keys नहीं बदली जातीं।

SSH की फ़ाइलें /data/speakerlab में रहती हैं और मौजूदा writable overlay से शुरू होती हैं। बूटलोडर और kernel दोबारा फ़्लैश नहीं होते। लेकिन /data में फ़ाइलें लिखना NAND पर स्थायी बदलाव है, इसलिए यह कहना ग़लत होगा कि मेमोरी बिल्कुल नहीं बदलती।

कौन-सा स्पीकर और कौन-सा बोर्ड

यह तरीक़ा सिर्फ़ Marusya वाले AS09A VER0201 बोर्ड के लिए जाँचा गया है। इसमें Amlogic A113X SoC, 512 MiB DDR3 और KIOXIA/Toshiba की NAND है। फ़र्मवेयर 32.23.1 है, बूटलोडर U-Boot 2015.01 और OS Buildroot पर Linux 4.9.113। Google Assistant वाला ग्लोबल मॉडल सपोर्टेड नहीं है, क्योंकि उसकी पार्टीशन लेआउट और सिस्टम सॉफ़्टवेयर अलग हैं।

ठंडे पावर-ऑन पर बूटलोडर कुछ पल के लिए USB पर दिखता है और कंप्यूटर पर 1b8e:c003 के रूप में पहचाना जाता है। टूल पहले से इंतज़ार करती है, फिर स्पीकर को पूरी तरह बंद करके चालू करना होता है। सॉफ़्टवेयर रीबूट से यह विंडो नहीं मिली। कनेक्शन बोर्ड के USB पैड (GND, D+, D-) से होता है, VBUS को जोड़ना नहीं है। सोल्डरिंग से पहले पैड के लेबल अपने बोर्ड पर जाँचें।

पहले पूरा बैकअप क्यों

टूल हर पेज को OOB एरिया और ख़राब ब्लॉकों समेत पढ़ती है: 131,072 पेज, यानी एक रीड 272 MiB का। इस डंप में नेटवर्क सेटिंग और keys जैसा निजी डेटा होता है, इसलिए सार्वजनिक आर्काइव में लेखक का डंप नहीं है। पढ़ने से पहले टूल BL33 का SHA256 profile.json से मिलाती है और मेल न खाने पर रुक जाती है।

देखने लायक ऐप्स

SUMO: नंबर पज़ल

सही खाने चुनें, जोड़ें, लक्ष्य तक पहुँचें। सीखना आसान, महारत मुश्किल। मुफ़्त, हर उम्र के लिए।

Dialo: बोलकर भाषाएँ सीखें

AI बातचीत साथी से बात करें; हर वाक्य सुधरकर आपकी भाषा में समझाया हुआ लौटता है। 9 भाषाएँ, A1 से C2 तक।

giftdetect: मिनटों में सही तोहफ़ा

चुनें किसके लिए, किस मौके पर और कैसा स्वभाव। सर्च इंजन स्थानीय दुकानों के उत्पाद विवरण पढ़कर सबसे उपयुक्त विकल्प ऊपर रखता है। मुफ़्त, बिना साइन-अप।

टैग:xiaomimi smart speakermaruskarootsshspeakerlab

इसी दिन की और ख़बरें

सभी देखें →

और पढ़ें:: हार्डवेयर

सभी देखें →