1 पॉइंट द्वारा GN⁺ 2024-02-24 | 1 टिप्पणियां | WhatsApp पर शेयर करें

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⁺ की राय

  1. यह लेख ThinkPad लैपटॉप की छिपी हुई क्षमता को सक्रिय करके USB डिवाइस emulate करने का तरीका दिखाता है, जिससे hardware hacking और customisation की नई संभावनाएँ खुलती हैं।
  2. जिन कामों के लिए पहले अलग hardware चाहिए होता था, उन्हें अब सिर्फ एक लैपटॉप से किया जा सकता है, जो developers और researchers के लिए बहुत उपयोगी हो सकता है।
  3. यह लेख तकनीकी जिज्ञासा रखने वाले लोगों के लिए एक दिलचस्प चुनौती पेश करता है और मौजूदा डिवाइस की क्षमता का अधिकतम उपयोग कैसे किया जाए, यह समझने में मदद करता है।

1 टिप्पणियां

 
GN⁺ 2024-02-24
Hacker News टिप्पणियाँ
  • एक राय है जिसमें यह सवाल उठाया गया है कि लैपटॉप को दूसरे कंप्यूटर के कीबोर्ड और मॉनिटर के रूप में क्यों नहीं इस्तेमाल किया जा सकता। बिना हेड वाले मशीन की मेंटेनेंस करते समय लैपटॉप पहले से ही कीबोर्ड और मॉनिटर की भूमिका निभा रहा होता है, इसलिए नया खरीदना बेवकूफ़ी जैसा लगता है।
  • एक टिप्पणी में वह उदाहरण याद किया गया है जहाँ स्मार्ट TV USB स्टिक में मौजूद फ़ाइलों से firmware update लेते हैं। यह डिवाइस पहले निर्माता की firmware file भेजता है और फिर दूसरी बार अनौपचारिक firmware भेजता है, USB storage device का रूप धारण करके।
  • NAS server को उपयोग में लाने की कोशिश पर दिलचस्प चर्चा है। PS5 और Xbox को NAS storage उपलब्ध कराने के तरीकों पर शोध किया गया, और पाया गया कि iSCSI या NFS के जरिए NAS share को mount करके तथा g_mass_storage module का उपयोग करके USB host को storage उपलब्ध कराया जा सकता है। लेकिन bandwidth इस तरह की speed improvement के लिए पर्याप्त नहीं थी, और यही मुख्य बाधा बनती है।
  • Raspberry Pi का उपयोग करके HDI को emulate करने की कोशिश पर एक टिप्पणी है। Windows process में key input भेजने के मौजूदा तरीके में modifier key भेजते समय समस्या आती थी, इसलिए दूसरे तरीके खोजने की प्रक्रिया बताई गई है।
  • एक टिप्पणी में इस बात पर उम्मीद जताई गई है कि network के बिना भी Synergy या Mouse Without Borders जैसी setup केवल USB cable से लागू की जा सकती है। यह उन लोगों के लिए उपयोगी है जिन्हें एक साथ कई कंप्यूटर चलाने होते हैं।
  • एक टिप्पणी में केवल USB-C cable से दो मशीनों के बीच 10Gbps connection बनाने की कोशिश का ज़िक्र है। इसमें कहा गया है कि ज़्यादातर Ryzen board अब भी Thunderbolt को support नहीं करते, और "dual-role" USB controller बहुत कम मिलते हैं। USB 3.2/4.0 पर भी यह संभव हो सकता है, लेकिन support अस्थिर है।
  • एक टिप्पणी है कि PC को USB device की तरह इस्तेमाल करने की क्षमता दिलचस्प संभावनाएँ खोलती है। लेकिन अफ़सोस जताया गया है कि ज़रूरी xDCI option hardware में मौजूद होने के बावजूद केवल firmware hacking के ज़रिए ही पहुँचा जा सकता है।
  • एक टिप्पणी में यह जिज्ञासा व्यक्त की गई है कि क्या Lenovo इस तकनीक का उपयोग एक ThinkPad से दूसरे ThinkPad को debug करने के लिए कर रहा है। इसमें Intel की debug technology और संबंधित YouTube video के links शामिल हैं।
  • एक टिप्पणी में कहा गया है कि Raspberry Pi के साथ काम करना झंझट भरा लगता है। इसमें USB OTG configure करने और SSH के ज़रिए mount तथा command सेट करने का सुझाव दिया गया है। साथ ही अपने device को समझने, kernel पढ़ने और समस्याओं को खुद हल करने की कोशिश के लिए प्रोत्साहित किया गया है।
  • एक टिप्पणी में कहा गया है that BIOS में xDCI switch enable करने के बाद भी UDC device node दिखाई नहीं दिया, इसलिए और गहराई से जाँच करनी होगी। मूल पोस्ट से प्रेरित होकर आगे और जांच की ज़रूरत बताई गई है।