Hacking dan Reverse engineering hardware

Saat ini di jaman IOT, makin banyak orang yang tertarik untuk hacking dan reverse engineering (RE) hardware. Karena sudah cukup banyak orang menanyakan topik ini, maka di artikel ini akan saya bahas dasar-dasarnya, plus tools apa saja yang dibutuhkan jika ingin memulai.

Dalam artikel ini RE hanya bertujuan memahami software dan hardware dalam sebuah sistem. Hacking hardware bermakna lebih luas misalnya menambah atau mengubah sesuatu di hardware, misalnya menjalankan Doom di printer, membuat hardware baru, atau oprekan apapun yang berhubungan dengan hardware.

Supaya bisa mengubah sebuah hardware yang tidak terdokumentasi, kita perlu melakukan dulu reverse engineering untuk memahami cara kerjanya, baru setelah itu kita bisa melakukan perubahan. Untuk hardware open source atau yang dokumentasinya sangat baik, proses RE ini tidak perlu.

Tujuan melakukan Hacking Hardware

Ada banyak tujuan RE dan hacking hardware, misalnya:

  • Mencari key enkripsi untuk mengakses konten gratis atau untuk membuat konten baru (misalnya game homebrew), atau bahkan membajak, contohnya dalam kasus Game Console
  • Memperbaiki, menambah atau menghilangkan fungsionalitas , misalnya menambah SD Card di router
  • Mengekstraksi firmware dengan berbagai tujuan: mencari bug di firmwarenya, mengclone firmwarenya (membuat produk tiruan), mencari key dalam firmwarenya

Perlu dicatat bahwa dalam 99% kasus, ujung dari reversing hardware adalah melakukan reversing software yang berjalan di hardware tersebut. Continue reading “Hacking dan Reverse engineering hardware”

Kesibukan dan Oprekan Agustus 2017

Seperti biasa, jika sudah lama tidak posting, ceritanya digabung. Posting ini campuran cerita mengenai SIM Card Hologram, RHME3, perjalanan ke Singapore dan cerita mengenai tablet Android.

SIM Card Hologram

Tanggal 26 Juli 2017 saya melihat posting mengenai program developer untuk Hologram dan saya segera mendaftar untuk mendapatkan SIM Card gratis.

Secara singkat, dengan SIM card Hologram dan kerjasama mereka dengan jaringan GSM di (hampir) seluruh dunia, kita bisa membuat produk IOT (Internet of Things) yang bekerja secara internasional dan relatif murah.  Tidak perlu memikirkan roaming data dan tarif yang berbeda di tiap negara.

SIM card hologram ini bukan untuk dipakai di handphone dan browsing, tapi ditujukan untuk dipakai di embedded system yang butuh konektivitas data yang ukurannya relatif kecil dan di luar jangkauan WIFI, walau bisa juga sebagai komplemen atau cadangan WIFI.

Khusus untuk developer plan, diberikan jatah 1 MB/bulan gratis untuk development. Jika dipakai untuk browsing, satu megabyte itu bahkan tidak cukup untuk membuka halaman depan blog ini, tapi untuk keperluan pengiriman data dari sensor ini sudah cukup.

Tanggal 11 Agustus SIM Cardnya sudah sampai, dan saya test menggunakan modem HSDPA murah (kurang dari 9 USD, sudah termasuk ongkir). Percobaan saya lakukan di Linux dengan wvdial, dan koneksi bisa mudah dilakukan.

IP yang didapatkan adalah IP internal. Device bisa mengakses IP eksternal, dan waktu saya coba asal IP nya dari Saint Helier, Jersey. Untuk koneksi kebalikannya (dari eksternal ke device), kita bisa memakai API yang disediakan hologram (atau membeli nomor supaya bisa dikirimi SMS).

Sebenarnya saat ini saya nggak punya proyek khusus yang ingin saya lakukan, tapi ini bisa saya pakai untuk melakukan koneksi ke server rumah jika koneksi internet sedang mati.

CTF RHME3

Karena waktu saya semakin terbatas, sekarang ini saya hanya sempat mengikuti CTF jangka panjang, bukan CTF 2 hari di akhir pekan. Saat ini sudah ada beberapa yang rutin: Flare-On, Labyrenth, dan RHME.

Saya mulai ikut CTF RHME tahun lalu, dan tahun ini sudah dimulai lagi: The world first automotive CTF, begitu slogan RHME tahun ini. Registrasinya kemarin dibuka tanggal 7 Agustus dan ditutup tanggal 28 Agustus. Ada tiga soal yang cukup sulit, mereka mengalokasikan 500 device, tapi hanya 486 orang yang menyelesaikan minimal 1 soal.

Dari Indonesia cuma teman saya Deny yang berhasil mendaftar (padahal dah beberapa kali saya umumkan di group RE Indonesia yang anggotanya ratusan). Dari Thailand ada 7 orang yang mendaftar.  Device akan dikirimkan ke peserta mulai 1 November nanti.


Sekarang ini Joshua sedang sangat senang nempel ke saya, kadang minta dipangku nonton Youtube padahal bisa nonton di TV yang besar atau di tablet, sementara saya coding (split screen). Sepertinya sudah saatnya beli dua monitor.

HITB Singapore

Tahun ini saya mencoba lagi HITB ke Singapore, walau hasilnya kurang memuaskan (peringkat 14 offline dari 28 team). Pesertanya jauh lebih kompetitif dari terakhir kali kompetisi beberapa tahun yang lalu. Soal-soalnya juga jauh lebih sulit.

Meski tidak menang, tapi saya senang bisa bertemu lagi dengan teman-teman yang sudah lama tidak saya temui, dan juga bertemu teman baru.

Buat orang-orang yang meng-add saya di Facebook: segala macam hal-hal menarik saya buat jadi public di timeline saya atau di blog. Hal-hal yang sifatnya hanya untuk teman saja, saya publish untuk “Friend” (seperti misalnya foto teman-teman yang saya temui di Singapore), jadi sebenarnya nggak seru nge-add saya jadi friend di Facebook.

Bug Bounty

Meski sudah banyak bug yang saya laporkan ke berbagai pihak, biasanya balasannya cuma: makasih mas. Ada juga bahkan yang gak pake terima kasih, terus diem-diem benerin. Ada beberapa yang nawarin kerjaan/proyek, tapi kemudian nggak ada kabarnya lagi.

Setelah tahun lalu menemukan bug di payment gateway Master Card (dan menerima 8500 USD), tahun ini saya coba-coba lagi dan menemukan lagi bug di beberapa payment gateway. Sayangnya yang sangat tanggap cuma satu: Fusion Payments. Di bulan ini saya sudah menemukan 2 critical level bug di sana, yang pertama 400 USD dan berikutnya 500 USD.

Sebagai catatan: bug-bug yang saya temukan akan saya tuliskan detailnya, tapi saat ini masih belum bisa/boleh.

Tablet Android

Beberapa waktu yang lalu saya mendapatkan pekerjaan testing aplikasi Android yang hanya berjalan di versi tablet (layar besar). Ternyata aplikasinya berisi form yang banyak sekali sehingga perlu layar lebar. Biasanya saya memakai tablet Samsung Note 8 yang sudah bertahun-tahun umurnya, tapi sekarang ini tabletnya sudah rusak (mati/tidak bisa boot lagi). Karena aplikasinya selalu hang di emulator, akhirnya saya memakai Android di Pinebook.

Semua bisa berjalan dan testing bisa selesai, tapi ada yang mengganggu: Pinebook tidak punya touch screen, dan aplikasinya hanya mau jalan di mode landscape. Jadi saya terpaksa memakai laptop dalam posisi miring, dengan menggunakan keyboard eksternal.

Akhirnya saya beli Android murah dari AliExpress. Ratingnya bagus, katanya CPUnya 8 core, memorinya 4 GB dengan ROM 32 GB. Setelah sampai, kenyataannya CPUnya cuma 4 core, RAM nya cuma 2GB dan ROM cuma 16 GB. Ternyata kernelnya diakali sehingga jika memakai software dari play store pun, akan muncul kalau memorinya 4 GB, CPUnya 8 core, dan ROM-nya 32 GB.

Waktu mau coba root dengan langsung flash recovery partition baru, ternyata malah error, tidak bisa boot sama sekali dan nggak bisa dicharge juga. Akhirnya saya charge baterenya dengan cara membuka soldernya lalu memakai modul charger Lithium. Setelah mendapatkan file ROM asli dari sellernya, akhirnya bisa jalan normal lagi. Tapi benda ini sangat ringkih, jadi saya simpan saja untuk pentest berikutnya.

 

Sebenarnya masih banyak cerita dan detail lain bulan ini, tapi akan saya geser ceritanya ke bulan depan.

Update Singkat Pinebook

Setelah awal yang agak mengecewakan,  para hacker/volunteer telah membuat beberapa perbaikan yang membuat Pinebook cukup usable. Saya sempat mencoba mencari dan memperbaiki sendiri beberapa masalah yang ada, tapi sekarang sudah ada yang mempersiapkan image yang siap didownload untuk mengupgrade OS standarnya. Posting ini merupakan update dari posting saya sebelumnya.

Salah satu perbedaan Pinebook dibandingkan dengan laptop lain adalah keterbukaannya. Port serial disediakan melalui headphone jack, bisa digunakan untuk debugging. Dengan serial port ini kita bisa melihat output teks ketika booting. Saya sudah mencoba ini dan cukup praktis.

Speaker sekarang berfungsi dengan normal karena profil Alsa yang benar sudah diinstall default. WIFI sudah stabil, ternyata sebelumnya ada masalah di power management yang membuat chipnya “tidur” dan koneksinya putus. Chromium (versi opensource Chrome) bisa diinstall walau butuh edit konfigurasi tertentu. Jika laptop ditutup sekarang otomatis sleep, ternyata masalahnya hanya modul kernel yang tidak diload secara default.

Sampai saat ini Desktop secara keseluruhan belum accelerated. Artinya game-game tidak bisa berjalan cepat, video youtube tidak bisa diputar lancar. Khusus untuk film, kita bisa memakai smplayer/mplayer yang bisa menjalankan video dengan akselerasi (walau tidak selalu bisa lancar). Sekarang disertakan juga program smtube untuk browsing youtube, walau tidak selalu lancar juga.

Untuk mengupgrade firmware di PineBook, kita cuma perlu menuliskan image ke sdcard (bisa memakai program Etcher atau dd manual). Masukkan sdcard, restart, dan otomatis proses update akan dilakukan. Setelah selesai, keluarkan sdcard, restart lagi.

Proses update

Saya sekalian mencoba Android Nougat (Android 7) untuk PineBook. Image Android saat ini dirancang untuk diinstall ke SD Card, artinya kita bisa dual boot Android dan Ubuntu. Jika SD Card berisi Android dimasukkan, maka kita akan boot ke Android, jika SD Card dikeluarkan ketika boot, maka kita akan masuk Ubuntu (setelah proses booting dimulai, kita bisa memasukkan lagi cardnya dan mengakses data di card-nya).

Masalah video lebih bagus di Android, kita bahkan bisa menjalankan Kodi dan beberapa film HD bisa diputar. Aplikasi Google seperti GMail, Chrome, dan Play Store sudah diinstall. Sebagian aplikasi seperti Netflix tidak bisa diinstall, dan meskipun ada banyak aplikasi bisa diinstall dari Play Store, tapi tidak semua usable. Sebagian terlalu lambat, sebagian game “memaksa” mode portrait sehingga tidak nyaman. Beberapa aplikasi yang saya coba: Kindle, Google Docs, Microsoft Word (lambat), Cut The Rope. Program remote desktop dari Micorosft juga bisa berjalan, jadi Pinebook bisa digunakan untuk mengakses komputer yang lebih powerful.

Mode split window di Android Nougat memungkinkan kita membuka dua aplikasi sekaligus dan tampil berdampingan. Sampai saat ini saya tetap merasa keyboard versi 14″ ini kurang enak, sedangkan saya lihat banyak yang memuji keyboard versi 11.6 inch.

Demikian update singkatnya mengenai Pinebook. Meski waktu launch softwarenya kurang bagus, saat ini Pinebook sudah usable. Saat ini banyak sekali yang ingin memesan Pinebook sehingga orang yang ingin memesan harus “antri” cukup lama. Jika ada kemajuan yang signifikan dalam software/hardware Pinebook, saya akan membuat posting baru lagi.

Remote IR via WIFI dengan ESP8266

Posting ini sekedar membahas proyek sederhana mengendalikan peralatan yang dikontrol dengan remote infrared (IR) melalui WIFI. Sekarang kami bisa menyalakan dan mematikan AC, mensetup temperatur, kipas, dan juga swing dari HP atau laptop.

Saya dan Risna tadinya sama-sama memakai Samsung Note 4 yang memiliki fitur IR blaster sehingga bisa jadi remote AC maupun TV. Ternyata fitur ini sangat terpakai, sering kali remote TV terselip, dan remote AC kadang tidak terlihat di malam hari di kamar tidur, sedangkan biasanya HP tidak jauh dari tangan.

Sebenarnya dari dulu sudah ingin membuat ini, tapi Sekarang Risna ganti HP memakai Asus Zoom yang tidak punya fitur IR.  Jadi diniatkan untuk membuat gateway WIFI ke IR. Plus saya kadang lupa mematikan AC dan sudah terlanjur meninggalkan rumah.

Continue reading “Remote IR via WIFI dengan ESP8266”

Outernet: packet radio from space

Outernet adalah layanan broadcast data via satelit yang sifatnya terbuka dan gratis. Kita bisa menerima data yang dikirimkan dengan receiver yang bisa dibeli jadi atau dirakit sendiri. Data yang disiarkan outernet beraneka ragam, mulai dari cuaca, berita, sampai artikel yang bisa kita usulkan.

Sebenarnya proyek Outernet ini sudah dimulai cukup lama, sejak 2014 mereka sudah memulai broadcast di Ku Band, tapi sekarang mereka memakai L Band. Jangkauan Outernet sampai saat ini sudah hampir seluruh bumi.

Akhir tahun lalu mereka memberi diskon untuk  kit receiver Outernet. Tadinya 99 USD belum termasuk ongkos kirim, tapi waktu itu dijual 89 USD, sudah termasuk ongkos kirim. Semestinya saya akan menerima paketnya bulan Maret, tapi baru dikirim April. Baru sabtu sore lalu saya menerima paketnya.

Sebagai catatan: mereka juga memulai kampanye Indiegogo untuk menjual hardware receiver, tapi sampai saat ini backer project tersebut belum mendapatkan barangnya. Kalau tertarik dengan Outernet, sebaiknya pesan langsung dari webnya, jangan dari Indiegogo. Tadinya mereka menjual sebagian kit saja (misalnya Antenna saja, atau LNA saja, atau SDR saja), tapi sekarang kita harus membeli kit langsung.

Paket yang saya terima adalah: CHIP (komputer 9 USD), Patch Antenna, dan SDRx yang merupakan gabungan software  defined radio (SDR), plus low-noise amplifier/LNA dan sebuah kertas manual singkat.

Merakit kit ini cukup mudah: colokkan SDRx ke CHIP, colokkan Antenna ke SDRx, beri power melalui colokan micro SD di CHIP dan arahkan antenna ke satelit. Bagian terakhir itu mungkin kedengaran sulit, tapi sekarang ada software Sattelite AR untuk Android. Cukup masukkan nama satelit (Inmarsat I4 untuk daerah Asia Pasifik), dan arahkan ke angkasa, nanti kita bisa tau di mana kira-kira satelitnya berada.

Jika Anda ingin mulai membeli receiver, atau membuat sendiri receivernya, coba install dulu software Sattelite AR-nya untuk mengetahui apakah Anda akan bisa mendapatkan signal satelit dengan mudah dari tempat Anda berada. Jika Anda ingin membuat sendiri receivernya, Anda bisa memakai Raspberry Pi dengan SDR Receiver yang bagus (misalnya dari sini), Anda juga perlu membeli atau membuat LNA (misalnya dengan design dari sini) dan tentunya Anda perlu membuat antennanya.

Untuk mengakses outernet, kita cukup melakukan koneksi via WIFI, lalu mengakses interfacenya dengan web browser. Defaultnya outernet akan berfungsi seperti access point. Sayangnya saya memiliki sedikit kesulitan di sini: akses pointer Outernet tidak terlihat meskipun LED pada CHIP dan SDRx terlihat menyala. Setelah dicoba-coba, ternyata access point-nya hidden, jadi perlu kita masukkan namanya manual. 

Sekarang untuk memudahkan koneksi, saya ubah modenya menjadi WIFI Client agar bergabung ke jaringan WIFI di rumah.

Setelah semua siap, kunjungi bagian Tuner. Pastikan satelit yang benar sudah dipilih (defaultnya untuk Eropa). Perlu diperhatikan di tab status bahwa SNR harus lebih dari 3 supaya kita bisa menerima file. Jika SNR baik, setelah agak lama, paket akan mulai berdatangan. Dibutuhkan waktu cukup lama sampai transfer dimulai. Di hari pertama saya mencoba sekitar satu jam dan tidak mendapatkan apa-apa (hanya file parsial).

Karena hari pertama akan hujan, saya bawa masuk kit outernetnya. Hari Minggu, sebelum mengantar Jonathan ke dokter gigi, saya setup lagi outernet receivernya. Ketika pulang dari dokter gigi kami ke kebun binatang. Waktu tiba di rumah, sudah ada cukup banyak file yang diterima, termasuk juga data cuaca.

Saat ini saya belum punya tempat yang permanen yang tahan cuaca. Receivernya saya tahan dengan kotak yang diberikan.

Saat ini jika kita ingin mengirimkan berita via Outernet atau memilih artikel untuk disiarkan, kita bisa membeli kredit (minimal 10 USD untuk 1000 credit). Satu pesan broadcast biayanya 10 kredit. Untuk sebuah artikel, biayanya 10 kredit plus 5 kredit untuk tiap 1000 byte artikel.

Saya sendiri belum membeli credit, belum tahu untuk apa. Mungkin kalau iseng, saya bisa membeli kredit 10 USD dan mengucapkan selamat ulang tahun ke 100 orang.

Bagi kebanyakan orang, Outernet ini saat ini tidak semenarik Internet, karena sifatnya yang searah (butuh internet untuk bisa mengirimkan sesuatu), kontennya masih relatif sedikit (hanya sekitar 20 megabyte per hari disiarkan). Bagi sebagian orang, ternyata outernet ini sudah berguna, misalnya untuk mereka yang membutuhkan data cuaca ketika berlayar.

Rencana mulia Outernet adalah menyebarkan berita dan ilmu ke seluruh dunia bebas biaya, termasuk juga ke daerah yang sulit dijangkau Internet (terlalu sulit/terlalu mahal). Untuk saat ini sebelum tujuan mulia tersebut tercapai, Outernet bisa jadi mainan menarik untuk hacker dan orang yang suka teknologi radio. Saat ini software outernet sifatnya proprietary, tapi sudah ada yang melakukan reverse engineering modulasi, coding, framenya.

 

Pinebook

Posting ini tentang PineBook, laptop Arm murah dari pembuat Pine A64. Harga laptop ini 99 USD (versi 14 inch), dengan ongkos kirim via DHL 29 USD, dan pajak 15 USD (pajak di Thailand, di negara lain tentunya beda). Spesifikasi laptop ini: Prosessor ARM AllWinner A64 1,1 Ghz, RAM 2GB (tidak bisa diupgrade), eMMC 16 GB (bisa diupgrade). Ada dua pilihan ukuran layar, 14 inch dan 11.6 inch, keduanya memiliki resolusi sama 1366×768 pixel, versi yang 11.6 inch lebih murah 10 USD (89 USD). Versi 14 inch beratnya 1.26 kg dan versi 11.6 inch beratnya 1.04 kg.

Laptop ini sudah diumumkan sejak tahun lalu, dan siapapun bisa mendaftar preorder tanpa uang muka. Baru 5 April saya mendapatkan email kesempatan untuk memesan. Jika saya segera memesan maka akan diproses duluan. Setelah dipertimbangkan beberapa hari, akhirnya saya memesan tanggal 10 April. Tanggal 21 April laptopnya sampai. Saya termasuk batch awal yang menerima laptop ini.

Sebelum bercerita tentang laptop ini, saya ceritakan sedikit tentang pembuat PineBook ini. Sebelum membuat Pinebook mereka sudah membuat Pine A64, sebuah single board computer (SBC) seperti Raspberry Pi. Bedanya mereka dari awal memilih ARM 64 Bit (Allwinner A64), membuat harga yang murah (versi termurah 19 USD dan versi paling mahalnya 29 USD), memiliki RAM 2GB (Raspberry Pi hanya 1GB) dan memiliki ethernet gigabit.

Pine A64 sukses di Kickstarter dengan semboyan Superkomputer 64 bit, tapi ternyata dari sisi hardware dan software sangat mengecewakan. Hardwarenya gampang overheating dan tidak ada heatsinknya. Tidak ada LED yang bisa dipakai untuk indikasi booting sukses. Di versi awal juga ada bug fatal karena salah design, voltage ripple menyebabkan port gigabitnya tidak bisa mencapai kecepatan maksimal, bahkan dalam mode gigabit akan jadi lebih lambat dari fast ethernet. Mengutip dari review di Armbian:

Pine64 is not a ‘Super Computer’ but most probably the slowest 64-bit ARM board around due to A64 being limited regarding maximum cpufreq and overheating issues (40nm process being responsible for) and lack of fast IO interconnections (only one real USB 2.0 host port present, no eMMC option possible, no SD card implementation using the faster modes). If you then combine the high expectations with a rather clueless kickstarter crowd (many of them not even getting that they did not buy products but backed a project) and the hardware flaws it’s pretty obvious why their forums are full of complaints and why they receive so much boards as being DOA that work flawlessly in reality.

Sampai saat ini software untuk board Pine A64 terutama untuk desktop masih mengecewakan. Meskipun SoC yang dipakai memiliki GPU Mali 400, tapi tidak disupport dengan baik di Linux. Board ini juga bisa diinstall Android, dan sepertinya fitur grafik berjalan lebih baik di Android (bahkan bisa menjalankan Netflix meski hanya dalam resolusi SD). Sebagai server board ini cukup baik, memorinya relatif besar dibanding SBC lain, dan kernel Linux juga sudah cukup stabil. Saat ini board Pine A64+ yang saya miliki hanya saya gunakan sebagai server dan untuk testing portabilitas software yang saya buat.

Selain SBC tersebut, mereka juga merilis PADI. PADI adalah board microcontroller ARM dengan WIFI yang berusaha menyaingin ESP8266. PADI ini hanya rebranding dari board yang sudah ada. Sepertinya produk yang ini kurang sukses.

Saya tidak berharap banyak dari Pinebook mengingat sejarah SBC mereka, dan Pinebook ini designnya menggunakan SoC yang sama. Ketika sampai, power adaptornya bengkok (tapi bisa diluruskan), untungnya batere dalam keadaan penuh. Bagian depan luarnya putih polos seperti kertas putih. Merk Pinebook hanya terlihat setelah dibuka.

Ketika saya nyalakan, sekiar 10 detik kemudian saya sudah sampai di layar login (user: pine64, password:pine64). Sebenarnya kita bisa menginstall Android untuk laptop ini, tapi OS default yang diberikan adalah Ubuntu Mate, dan saya saat ini belum mencoba Android di laptop ini. Percobaan awal menunjukkan bahwa aplikasi bisa dimulai dengan cepat, misalnya LibreOffice dan Scratch. Browser Firefox relatif lambat, serupa dengan SBC lain. Beberapa kali saya sempat mengalami masalah dengan Wifi yang tiba-tiba berhenti (perlu disconnect dan reconnect lagi).

Untuk mengetik pelan-pelan, keyboardnya cukup bagus, tapi ketika mengetik dengan cepat, maka mulai terasa masalahnya. Kadang kita merasa sudah menekan tombol, tapi ternyata belum tertekan. Keyboardnya terasa agak aneh, ada tombol yang gampang ditekan, ada yang sulit. Tombol kursor kadang berbunyi ketika ditekan. Saya baca review versi 11.6 inch sepertinya keyboardnya lebih bagus. Saya cukup suka dengan layarnya, walaupun hanya Twisted Nematic (TN), bukan IPS.

Trackpadnya baik-baik saja, tapi ketika diklik bunyi ‘klik’ nya cukup terdengar. Di Ubuntu Mate tidak terdeteksi sebagai trackpad/touchpad, sehingga tidak ada palm rejection, jadi ketika mengetik harus menghindari area tersebut supaya mousenya tidak bergerak.

Selain masalah WIFI, ternyata ketika layar ditutup, tidak otomatis sleep. Ini masalah software yang tidak mendeteksi hall sensor, dan akan ditangani di update berikut. Saya tidak mengetes output HDMI, tapi ternyata menurut laporan tidak jalan juga di versi saat ini. Headphone Jack juga masih belum berfungsi, walaupun bisa dijadikan serial port untuk debugging. Ketika saya membuka youtube, audio tidak keluar. Setelah berkonsultasi via IRC, ternyata masih perlu diakali supaya bisa jalan.

Kamera bisa berjalan, tapi kualitasnya sangat jelek, hanya 0.3 megapixel. Jadi jangan berharap banyak untuk bisa memakai kamera ini. Anggap saja ini cuma pajangan.

Hal paling parah saat ini adalah: driver Mali tidak jalan, sehingga semua software yang menjalankan video atau animasi akan sangat lambat. Bahkan aplikasi game sederhana seperti supertux, animasinya sangat lambat. Software editor, terminal, office atau browser bisa jalan seperti biasa dan cukup nyaman. Tapi jika Anda ingin menjalankan aplikasi multimedia, sebaiknya tunggu dulu sampai softwarenya matang.

Secara teori batere bisa bertahan lama, praktiknya saat ini cuma sekitar 3 jam saja. Ketika saya set sleep lalu charging, ternyata akan menyalakan layar dan bagian batere jadi panas. Untuk saat ini, sebaiknya matikan laptop ketika charging.

Untuk saat ini, jika Anda bukan orang yang suka ngoprek, maka saya tidak menyarankan laptop ini. Jika berbagai masalah software berhasil diselesaikan, maka laptop ini sepertinya cukup bagus untuk dibawa-bawa. Karena keyboardnya kurang enak, kemungkinan lebih bagus untuk konsumsi konten (browsing, baca ebook). Laptop ini tidak memiliki kipas (fan), jadi sunyi.

Laptop GNU/Linux berprosessor ARM

Bagian posting ini sekedar bercerita tentang sejarah Laptop Linux dengan prosessor ARM, lalu saya akhiri perbandingan Pinebook ini dengan Chromebook yang saya miliki.

Dari dulu, sebagian orang sangat menginginkan laptop Linux dengan prosesor ARM alih-alih Intel x86. Mereka tidak ingin Chromebook yang memakai kernel Linux, tapi hanya berisi browser, bukan pula Android meski bisa diroot dan diinstall Linux lengkap dalam chroot, tapi laptop ARM yang benar-benar Linux standar dengan tools dari GNU (GNU/Linux).

Ada beberapa alasan mengapa orang ingin memakai laptop dengan prosesor ARM. Alasan yang dulu sering dikemukakan adalah pemakaian daya yang rendah, tapi sekarang manajemen daya Intel juga sudah bagus (contohnya Macbook bisa dipakai belasan jam). Sebagian orang muak terhadap dominasi Intel dan ingin memakai prosesor lain.

Memakai prosesor yang kurang mainstream sedikit lebih aman, karena banyak malware dirancang untuk prosesor Intel. Memakai prosesor lain juga bisa memaksa kita belajar arsitektur prosesor tersebut. Apapun alasannya, banyak orang masih tetap ingin laptop dengan prosesor ARM.

Sebagian orang cukup puas dengan membeli hardware Android atau Chromebook dan menimpanya dengan GNU/Linux. Biasanya ada berbagai masalah dengan pendekatan ini, kadang masalah WIFI, masalah sound, masalah grafik (tidak bisa memakai hardware acceleration), dsb. Masalah-masalahnya seperti jaman awal Linux di Laptop x86.

Sebagian tetap ingin Laptop GNU/Linux saja, bukan hasil konversi Android ataupun Chromebook. Hacker Andrew Huang bahkan sudah merancang sendiri laptop ARM dari tahun 2012 dan berhasil merilis tahun 2014. Tapi laptop ini masih sangat mahal, jadi banyak orang berganti keinginan: Laptop Linux ARM yang murah.

Ketika Raspberry Pi dirilis tahun 2013, sebagian orang langsung berpikir untuk membuat semacam case berbentuk laptop. Sebagian membuat sendiri “laptop” raspberry pi dengan menempelkan berbagai komponen (seperti contohnya ini). Sebagian cukup puas dengan Motorolla Lapdock, yang tadinya ditujukan sebagai lapdock untuk ponsel.

Tapi karena Lapdock sudah dihentikan produksinya, ada yang membuat case baru sejenis (misalnya Pi Top). Sayangnya Pi Top ini cukup mahal, masih di atas 200 USD.

Saat ini saya sudah memakai Chromebook yang saya install ArchLinux dengan spesifikasi serupa dengan Pine64 yang 11.6 inch, tapi prosessornya RockChip 3288 (Arm 32 bit). Tadinya saya memakai Crouton supaya Linux dan Chrome bisa berdampingan, tapi setelah update terakhir, selesai memakai Crouton, chromebooknya akan selalu whitescreen. Jadi saya putuskan dual boot saja ArchLinux dan ChromeOS.

Saya sudah cukup berusaha “mengoprek” benda ini, bahkan sudah mengcompile modul kernel ekstra driver usb serial CH340 yang tidak tersedia di kernel default. Saat ini saya masih belum bisa memakai driver Mali di Chromebook Linux saya (hang jika dipaksa), tapi selain itu semua hardware bekerja dengan baik.

Chromebook yang saya miliki harganya tidak jauh berbeda dari Pinebook. Meski dijual oleh perusahaan lokal sini, Chromebook saya memiliki FCC ID Hisense Chromebook. Ketika saya beli harganya 4200 baht (122 USD), lebih murah dari Pinebook karena saya tidak perlu membayar ongkos kirim.

Kalau dibandingkan dengan berbagai Chromebook, Pinebook ini prinsipnya lebih terbuka. Chip eMMC pada Pinebook bisa diupgrade sampai 64 gb (dan mungkin bisa lebih di masa depan), dan jack audio bisa dijadikan serial port untuk keperluan debugging. Sementara kebijakan Chromebook adalah hardware yang tertutup dan sangat ditujukan untuk end user, bahkan output serial port dimatikan dan tidak tersedia di hampir semua Chrome OS/Chromebook.

The kernel team has been working to remove cruft from the Chromium OS kernel configs. Since there are no Chromebooks with a serial port, serial port drivers were removed from the stock configuration, which is a minor inconvenience for those who still do a lot of debugging using the serial port.

Sayangnya Chromebook berbasis ARM tidak punya slot mini PCI untuk debugging, jadi sangat merepotkan jika ingin melakukan development kernel di Chromebook. Jika tertarik development low level, maka Pinebook lebih baik. Untuk pemakaian sehari-hari, Chromebook (dengan ChromeOS) jauh lebih mudah.

Sebelum menutup artikel ini, saya bandingkan dengan beberapa laptop lain di rumah kami. Sebenarnya saya jarang bepergian dengan laptop, karena lebih sering bekerja di kantor atau rumah. Mac Book pro adalah laptop Risna. Acer saya pakai jika ada pekerjaan di luar yang butuh layar besar dan prosessor yang powerful (Core i7). Kedua laptop ini menurut saya cukup berat, jadi malas membawa keduanya untuk jalan-jalan, apalagi jika ditambah perlu menggendong anak.

Laptop/tablet Lenovo dulu saya beli di Bangkok, karena tidak menyangka ada pekerjaan singkat yang hasilnya lumayan sedangkan saya tidak membawa laptop. Jadi saya beli laptop seadanya yang kecil dan mudah dibawa. Sejak beli laptop ini yang saya bawa untuk liburan atau perjalanan singkat lain ke luar kota. Keyboard laptop/tablet ini sangat tidak nyaman untuk mengetik. OS-nya Windows 10, sehingga bisa menjalankan software apapun yang saya butuhkan (termasuk juga menjalankan Virtual Box meski sangat terbatas karena memorinya hanya 2GB). Di rumah ini menjadi tablet saya untuk membaca eBook PDF.

Saya tadinya berharap Chromebook akan cukup menggantikan Lenovo, tapi ternyata masih banyak software yang tidak jalan atau kurang optimal di ARM. Padahal benda ini cukup ideal: mengetik dengan benda ini cukup nyaman, keyboardnya lebih bagus dari Lenovo, layar 11.6 inch sudah cukup besar, dan relatif ringan (1.04 kg).

Jika Anda butuh laptop bagus untuk development, belilah Macbook Pro atau laptop high end lain. Jika ingin laptop untuk sekedar browsing dan Anda punya koneksi Internet yang bagus, belilah Chromebook (tidak perlu memikirkan malware karena Chromebook ini relatif aman). Jika Anda masih memakai aplikasi Windows dan butuh laptop biasa, ada banyak laptop Windows murah, sebagian sekaligus bisa menjadi tablet.

Saat ini Pinebook lebih cocok untuk orang yang suka mengoprek/hardware hacking, mungkin di masa depan jika softwarenya semakin matang, ini bisa jadi alternatif untuk dipakai sehari-hari. Saya akan mencoba memberikan update di blog ini jika softwarenya sudah semakin bagus.

Mini PC Router

Posting ini membahas Mini PC yang baru saya beli untuk menjadi router/firewall/web server di rumah. Ini adalah mini PC bermerk Qotom seri Q190G4, tanpa WIFI (untuk access point saya memakai Xiao Mi). Benda ini saya beli dari AliExpress.

Ketika membeli, kita bisa mengkonfigurasi jumlah memori dan SSD. Qotom yang saya beli memiliki spesifikasi: memori 4 GB DDR3L , mSATA SSD  32 GB dan bisa ditambah SSD biasa.  Prosessornya Celeron J1900 (2 Ghz). Ada 4 port gigabit dengan chip controller Intel, sebuah port VGA, 3 USB 2.0 dan 1 USB 3.0.

Karena outputnya hanya VGA sedangkan monitor saya tidak lagi mendukung VGA, saya memakai monitor plus modul LCD controller. Modul ini saya beli tujuannya memang untuk berbagai eksperimen, karena memiliki input VGA, HDMI, dan Composite. Layar yang dipakai di sini adalah LCD dari laptop.

Modulnya sendiri (teorinya) cukup generik dan bisa dihubungkan ke berbagai jenis LCD, bukan cuma yang ini.

Sepuluh tahun lalu waktu kecepatan internet masih 1mbps down/512kbps up, WRT54GL sudah cukup menjadi router dan WIFI access point (memori cuma 16 Mb). Lima tahun kemudian, saya sudah mengganti dengan ASUS RT-N16 dengan debwrt (memori 128 Mb). Sekarang kecepatan Internet di rumah sudah sangat bagus, jadi sudah saatnya menguprade router. Continue reading “Mini PC Router”