ThinkPad की छिपी हुई क्षमता अनलॉक करना: USB डिवाइस एम्यूलेशन
- ThinkPad X1 Carbon 6th Gen लैपटॉप को एक प्रोग्राम करने योग्य USB डिवाइस में बदलने का तरीका खोजा गया।
- xDCI controller को सक्रिय करके मनचाहे USB डिवाइस (कीबोर्ड, स्टोरेज ड्राइव आदि) को emulate किया जा सकता है।
- RawGadget और syzkaller का उपयोग करके USB host को fuzz किया जा सकता है या Facedancer चलाया जा सकता है।
- यह सब बिना किसी बाहरी hardware के किया जा सकता है।
परिचय
- Raw Gadget एक Linux kernel module है, जो बहुत अधिक customisable USB डिवाइस को emulate करने के लिए बनाया गया है।
- USB डिवाइस को emulate करने के लिए USB Device Controller (UDC) नाम का एक विशेष hardware component चाहिए।
- आम तौर पर PC में UDC नहीं होता, जबकि Raspberry Pi जैसे single-board computer में यह built-in होता है।
जांच
- xHCI controller से संबंधित Linux kernel code की जांच करने पर पता चला कि xHCI डिवाइस role switching को support करते हैं।
- ऑनलाइन खोज के जरिए xHCI डिवाइस के role switching पर चर्चाएँ मिलीं।
- ACPI की जांच करके देखा गया कि xDCI ACPI में enabled है या नहीं।
xDCI सक्रिय करना
- BIOS settings में xDCI से जुड़ी कोई setting नहीं मिली।
- BIOS image को सीधे जांचने पर पता चला कि xDCI से जुड़ी settings छिपी हुई हैं।
xDCI का उपयोग
- BIOS की
Advanced setting के जरिए xDCI को सक्रिय किया गया।
- यह पुष्टि की गई कि xDCI डिवाइस
lspci में दिखाई देता है।
सारांश
- ThinkPad X1 Carbon 6th Gen लैपटॉप में छिपी हुई USB device controller क्षमता को सक्रिय करने का तरीका खोजा गया।
- इससे लैपटॉप को कई तरह के USB डिवाइस के रूप में emulate किया जा सकता है।
प्रतिक्रिया
- xDCI को सक्रिय करके लैपटॉप के नए उपयोग की संभावनाओं को तलाशा गया।
GN⁺ की राय
- यह लेख ThinkPad लैपटॉप की छिपी हुई क्षमता को सक्रिय करके USB डिवाइस emulate करने का तरीका दिखाता है, जिससे hardware hacking और customisation की नई संभावनाएँ खुलती हैं।
- जिन कामों के लिए पहले अलग hardware चाहिए होता था, उन्हें अब सिर्फ एक लैपटॉप से किया जा सकता है, जो developers और researchers के लिए बहुत उपयोगी हो सकता है।
- यह लेख तकनीकी जिज्ञासा रखने वाले लोगों के लिए एक दिलचस्प चुनौती पेश करता है और मौजूदा डिवाइस की क्षमता का अधिकतम उपयोग कैसे किया जाए, यह समझने में मदद करता है।
1 टिप्पणियां
Hacker News टिप्पणियाँ
g_mass_storagemodule का उपयोग करके USB host को storage उपलब्ध कराया जा सकता है। लेकिन bandwidth इस तरह की speed improvement के लिए पर्याप्त नहीं थी, और यही मुख्य बाधा बनती है।