Mendinginkan Raspberry Pi

Ini merupakan catatan lama ketika memakai Raspberry Pi untuk pemrosesan yang memakai CPU secara ekstensif. Ketika suhu mencapai 80-85 derajat celcius, maka akan muncul simbol termometer setengah di layar:

Over Temperature (80-85C)
Temperatur tinggi

Simbol ini akan dioverlay di atas tampilan apapun yang muncul di layar. Contohnya seperti ini.

Continue reading “Mendinginkan Raspberry Pi”

USB Jig untuk Samsung

Saat ini saya punya satu tablet Android Samsung Tab A SM-P355. Device ini jarang sekali terpakai kecuali untuk pentesting. Kenapa perlu tablet khusus untuk pentesting? intinya untuk menghemat waktu. Beberapa app yang saya testing butuh layar besar dan tidak cukup menggunakan HP biasa.

Kenapa tidak menggunakan emulator? beberapa aplikasi memiliki proteksi sehingga tidak jalan di emulator, sebagian aplikasi membutuhkan verifikasi SMS, sehingga harus diakali di emulator. Masalah akal-akalan ini butuh waktu, dan kadang aplikasi tetap error dan tidak jelas apakah karena akal-akalan yang dilakukan atau memang aplikasinya yang error. Kadang setelah dijelaskan panjang lebar ke developernya, jawabannya: coba dulu di hardware beneran. Setelah dicoba di hardware beneran ternyata memang aplikasinya error. Jadi untuk menghemat waktu, saya punya device khusus testing.

Continue reading “USB Jig untuk Samsung”

Lenovo Thinkpad X230

Minggu lalu karena kombinasi beberapa hal, saya memutuskan ingin membeli Thinkpad bekas dan ngoprek FreeBSD di laptop itu. Laptopnya dipesan hari Minggu dan sampai hari Rabu siang lalu. Saat ini laptop ini sudah berhasil: diganti SSD-nya, ditambah RAM-nya, diinstall Coreboot (software open source pengganti BIOS), dan sudah diinstall FreeBSD 12 dengan segala setting yang membuat semuanya berjalan normal.

Kalau dipikir-pikir sebenarnya nggak ada alasan yang kuat untuk harus beli laptop dan install FreeBSD, cuma seneng aja ngoprek di hardware langsung. Sekitar 10 tahun yang lalu saya pernah ngoprek FreeBSD, di Virtual Machine. Porting kernel ARM untuk NAS yang dulu saya miliki. Dibandingkan virtual machine, ngoprek langsung di hardware punya tantangan sendiri.

Continue reading “Lenovo Thinkpad X230”

Catatan Oprekan Liburan

Pulang ke Indonesia kali ini cukup lama dari tanggal 12 Desember 2018 dan baru masuk kerja besok, tanggal 7 Januari. Sebenarnya nggak banyak yang dioprek selama liburan ini, tapi ini sekedar jadi catatan, plus ada beberapa barang yang baru sampai ketika kami sedang di Depok yang siap dioprek bulan ini.

Liburan kali ini saya berusaha meminimasi bawaan, tapi tetap ingin bisa ngoprek hardware. Kali ini saya coba membawa Pi Zero W yang sudah diberi case USB, sehingga bisa langsung dicolok ke komputer untuk powernya. Saya juga sudah setup agar Pi Zero W-nya mengemulasikan USB Ethernet, jadi bisa langsung diakses dari komputer/laptop.

Ini saya pakai untuk iseng-iseng membaca data dari beberapa kartu NFC yang saya temui. Saat ini tidak ada temuan baru yang menarik.

Continue reading “Catatan Oprekan Liburan”

Aksesori elektronik kecil

Sudah lama saya tidak menuliskan tentang oprekan elektronik. Salah satu alasannya adalah karena tahun ini saya berusaha mengurangi pembelian berbagai benda dari AliExpress. Tahun lalu saya membeli terlalu banyak benda yang akhirnya kurang sempat dioprek.

Capture HDMI kualitas rendah

Ketika mengerjakan salah satu proyek Raspberry Pi, saya perlu berada di depan komputer karena menyangkut akses GPU untuk menampilkan video secara langsung dari kamera ke layar (pernah saya tuliskan di sini). Ada beberapa alternatif cara menangkap output HDMI, tapi harganya masih relatif mahal. Alternatif saat ini: PCI  card USB 3 capture card, dan device independen. Dari berbagai review yang saling bertentangan saya masih ragu harus membeli hardware yang mana, sedangkan harga hardwarenya tidak murah (puluhan hingga ratusan USD).

Dalam kasus kali ini, saya tidak benar-benar butuh capture kualitas tinggi, saya hanya ingin memastikan bahwa di layar tampil sesuatu yang seperti harapan saya. Jadi saya mengambil pendekatan paling murah: saya membeli HDMI2AV (kurang dari 7 USD). Signal HDMI diubah menjadi AV (dan resolusinya diresize), lalu saya tangkap signal AV ini dengan USB capture card yang sudah saya miliki (dulu harganya 4.5 USD).

Continue reading “Aksesori elektronik kecil”

GPU Raspberry Pi

Salah satu kelebihan Raspberry Pi (RPI) dibandingkan Single Board Computer (SBC) lain adalah: harganya relatif murah dan memiliki GPU yang terdokumentasi resmi dan bisa dimanfaatkan dengan berbagai API low level. Beberapa SBC lain ada yang harganya lebih murah (misalnya Orange Pi) tapi dokumentasinya kurang, dan beberapa yang lain lebih powerful (misalnya NVidia Jetson) dengan dokumentasi yang cukup baik dari produsen (tapi masih kurang dari komunitas) tapi harganya 10x lipat dari RPi 3.

GPU Raspberry Pi cukup powerful, dan bisa melakukan beberapa hal menarik misalnya: tunelling dari kamera (dengan konektor CSI) langsung ke layar, colorspace conversion, video/image encoding and decoding,  resizing, dan overlay. Kita juga bisa meminta agar data dari kamera langsung dijadikan texture untuk OpenGL ES.

Secara praktis tunnelling artinya satu komponen ke komponen lain bisa bekerja langsung tanpa buffer. Contoh nyatanya begini: kita bisa membuat aplikasi yang kelihatan smooth karena data dari kamera tampil langsung di layar dengan kecepatan tinggi (30 fps) tanpa memakai CPU sama sekali. Sementara di latar belakang kita bisa mengambil gambar, memproses (misalnya face detection) dan menampilkan hasilnya.

Proses ini membypass windowing system, jadi bisa jalan bahkan tanpa X Window (mode teks sekalipun).

Video dari kamera bisa ditampilkan di mode teks

Fitur texture OpenGL ES artinya kita bisa menampilkan gambar kamera atau video (dari file atau jaringan) langsung di permukaan  misalnya kubus atau teko. Selain itu kita bisa menggunakan pixel shader untuk memproses data tanpa memakai CPU, contohnya membuat filter kamera secara real time, atau bahkan melakukan preprocessing untuk algoritma machine learning. Data yang sudah diproses bisa dibaca dan diproses lebih lanjut di CPU dengan glReadPixels. Continue reading “GPU Raspberry Pi”

Membedah e-KTP

Posting ini sekedar membahas tentang kartu tanda penduduk elektronik (e-KTP). Sampai saat ini saya belum pulang ke Indonesia untuk mengurus e-KTP karena KTP lama masih berlaku. Waktu orang tua saya datang ke sini tahun lalu saya sudah sempat ngoprek e-KTP mereka sedikit, dan sekarang selagi mereka berkunjung saya teruskan dan tuliskan hasil eksplorasi saya.

Sebagian isi tulisan ini didapat dari reverse engineering, dan sebagian lagi dari berbagai informasi yang tersebar di Internet. Ada juga bagian yang merupakan spekulasi saya dari informasi yang ada.

Security sebuah smart card

Sebuah smart card adalah sebuah komputer kecil, di dalamnya ada CPU, RAM, dan juga storage. Smart card diakses menggunakan reader, secara umum ada dua jenis: contact (menggunakan konektor fisik seperti SIM card) dan contactless (tanpa konektor fisik seperti kartu e-Money berbagai bank saat ini). Dari sisi programming keduanya sama saja. Kartu smart card yang baru umumnya juga sudah tahan (immune) terhadap side channel attack (DPA/SPA/FI dsb). Continue reading “Membedah e-KTP”