1 poin oleh GN⁺ 2024-02-24 | 1 komentar | Bagikan ke WhatsApp

Membuka fitur tersembunyi ThinkPad: emulasi perangkat USB

  • Menemukan cara mengubah laptop ThinkPad X1 Carbon generasi ke-6 menjadi perangkat USB yang dapat diprogram.
  • Dengan mengaktifkan pengontrol xDCI, kini dimungkinkan untuk mengemulasikan perangkat USB arbitrer (keyboard, drive penyimpanan, dan sebagainya).
  • Dapat menggunakan RawGadget dan syzkaller untuk melakukan fuzzing pada host USB atau menjalankan Facedancer.
  • Semua ini bisa dilakukan tanpa perangkat keras eksternal.

Pengenalan

  • Raw Gadget adalah modul kernel Linux untuk mengemulasikan perangkat USB yang sangat dapat dikustomisasi.
  • Untuk mengemulasikan perangkat USB, diperlukan komponen perangkat keras khusus yang disebut USB Device Controller (UDC).
  • Biasanya PC tidak memiliki UDC, dan komponen ini umumnya tertanam pada komputer papan tunggal seperti Raspberry Pi.

Investigasi

  • Menyelidiki kode kernel Linux terkait pengontrol xHCI dan menemukan bahwa perangkat xHCI mendukung pergantian peran.
  • Melalui pencarian online, ditemukan pembahasan tentang pergantian peran pada perangkat xHCI.
  • Memeriksa ACPI untuk memastikan apakah xDCI diaktifkan di ACPI.

Mengaktifkan xDCI

  • Tidak menemukan pengaturan terkait xDCI di pengaturan BIOS.
  • Dengan memeriksa image BIOS secara langsung, ditemukan bahwa pengaturan terkait xDCI disembunyikan.

Menggunakan xDCI

  • Mengaktifkan xDCI melalui pengaturan Advanced di BIOS.
  • Memastikan perangkat xDCI muncul di lspci.

Ringkasan

  • Menemukan cara mengaktifkan fungsi pengontrol perangkat USB tersembunyi pada laptop ThinkPad X1 Carbon generasi ke-6.
  • Dengan ini, laptop dapat diemulasikan sebagai berbagai perangkat USB.

Ulasan

  • Aktivasi xDCI membuka peluang baru untuk mengeksplorasi cara penggunaan laptop.

Pendapat GN⁺

  1. Artikel ini membuka ranah baru dalam hardware hacking dan kustomisasi pengguna dengan menunjukkan cara mengaktifkan fitur tersembunyi pada laptop ThinkPad untuk mengemulasikan perangkat USB.
  2. Pekerjaan yang sebelumnya memerlukan perangkat keras terpisah kini dapat dilakukan hanya dengan satu laptop, sehingga berpotensi sangat membantu bagi pengembang dan peneliti.
  3. Tulisan ini menawarkan tantangan menarik bagi orang-orang yang memiliki rasa ingin tahu teknis, sekaligus membantu mengeksplorasi cara memaksimalkan potensi perangkat yang sudah ada.

1 komentar

 
GN⁺ 2024-02-24
Komentar Hacker News
  • Ada komentar yang mempertanyakan mengapa laptop tidak bisa digunakan sebagai keyboard dan monitor untuk komputer lain. Saat melakukan pemeliharaan pada mesin tanpa head, laptop pada dasarnya sudah berperan sebagai keyboard dan monitor, jadi terasa bodoh jika harus membeli perangkat baru.
  • Ada komentar yang mengingat kasus smart TV menerima pembaruan firmware dari file di USB stick. Perangkat yang menyamar sebagai media penyimpanan USB mula-mula mengirim file firmware pabrikan, lalu pada tahap kedua mengirim firmware tidak resmi.
  • Ada diskusi menarik tentang upaya memanfaatkan server NAS. Mereka meneliti cara mengekspos penyimpanan NAS ke PS5 dan Xbox, dan menemukan bahwa memasang share NAS melalui iSCSI atau NFS lalu menggunakan modul g_mass_storage untuk mengekspos penyimpanan ke host USB adalah hal yang memungkinkan. Namun, bandwidth menjadi hambatan utama karena peningkatan kecepatan yang diberikan ke sistem tidak terlalu besar.
  • Ada komentar tentang upaya mengemulasikan HDI menggunakan Raspberry Pi. Komentar itu menjelaskan proses mencari metode lain karena pendekatan yang sudah ada, yaitu mengirim input tombol ke proses Windows, menimbulkan masalah saat mengirim tombol modifier.
  • Ada komentar yang membuat orang berharap bahwa pengaturan seperti Synergy atau Mouse Without Borders bisa diwujudkan hanya dengan kabel USB tanpa jaringan. Ini berguna bagi orang yang harus mengoperasikan beberapa komputer secara bersamaan.
  • Ada komentar tentang upaya membuat koneksi 10Gbps antara dua mesin hanya dengan kabel USB-C. Disebutkan bahwa sebagian besar motherboard Ryzen masih tidak mendukung Thunderbolt, dan pengontrol USB "dual-role" masih jarang. Disebut juga bahwa ini mungkin pada USB 3.2/4.0, tetapi dukungannya belum stabil.
  • Ada komentar bahwa kemampuan menggunakan PC sebagai perangkat USB membuka kemungkinan yang menarik. Namun disayangkan bahwa opsi xDCI yang diperlukan memang ada di perangkat keras, tetapi hanya bisa diakses lewat peretasan firmware.
  • Ada komentar yang bertanya-tanya apakah Lenovo menggunakan teknologi ini untuk melakukan debugging dari satu ThinkPad ke ThinkPad lain. Komentar itu menyertakan tautan ke teknologi debug Intel dan tautan video YouTube terkait.
  • Ada komentar yang merasa mengutak-atik Raspberry Pi itu merepotkan. Komentar itu menyarankan agar USB OTG dikonfigurasi, lalu mount dan perintah dapat diatur melalui SSH. Isinya juga mendorong orang untuk memahami perangkatnya sendiri, membaca kernel, dan berusaha memecahkan masalah sendiri.
  • Ada komentar yang menyebut bahwa mereka telah mengaktifkan sakelar xDCI di BIOS, tetapi node perangkat UDC tidak muncul sehingga perlu menggali lebih dalam. Mereka mengatakan terinspirasi oleh postingan asli dan perlu melakukan penyelidikan tambahan.