- Setelah memasang NixOS di Terramaster F2-221 dan SSD USB eksternal menjadi hambatan, penulis membuat sendiri backplane untuk memasang SSD boot NVMe di dalam perangkat
- Backplane F2-221 yang ada sebelumnya berfokus pada SATA dan rangkaian daya, sementara dari analisis foto F5-422 diketahui bahwa Terramaster memperluas bay dengan 2 kontroler SATA ASM1061
- Pasangan diferensial PCIe dilacak dengan mencocokkan foto F5-422, datasheet ASM1061, dan posisi kapasitor kopling, tetapi sebagian pin tidak pernah terkonfirmasi sepenuhnya dan pinout PCIe2 juga tidak diverifikasi
- PCB prototipe menghubungkan slot M.2 NVMe langsung ke jalur PCIe x1 Gen 2; BIOS menampilkan
Patriot P300 128GB dan hard disk juga berfungsi normal
- F3 Backplane final disederhanakan agar memakai rail 3,3V secara langsung, dan setelah beberapa minggu boot NVMe serta btrfs scrub berjalan tanpa error, proyek KiCad dipublikasikan di GitHub
Titik awal: menyingkirkan SSD USB eksternal
- Terramaster F2-221 adalah NAS x86_64 standar berbasis Intel J3355, jadi memasang NixOS alih-alih TOS bawaan pada dasarnya sederhana
- Karena kedua konektor SATA sudah dipakai untuk hard disk 4TB, penyimpanan sistem operasi harus menggunakan SSD USB eksternal
- Di sekitar NAS di belakang rak, perlu menyediakan ruang untuk SSD eksternal, dan setiap kali memindahkan barang harus memperhatikan kabel, sehingga muncul kebutuhan untuk penyimpanan internal
- Motherboard memiliki konektor USB internal untuk bootstrap TOS, tetapi karena USB 2.0, konektor ini tidak cocok untuk SSD boot
Perbandingan backplane F2-221 dan F5-422
- Motherboard F2-221 memiliki konektor berbentuk PCIe x4 tempat PCB backplane dipasang, tetapi backplane bawaan tidak memiliki IC konversi PCIe-ke-SATA
- Konektor SATA terhubung langsung ke konektor edge PCIe, dan susunan pin sebenarnya adalah pinout nonstandar, bukan PCIe standar
- Intel J3355 menyediakan 2 port SATA dan 6 lane PCIe Gen 2, sehingga model 4-bay dan 5-bay Terramaster kemungkinan memperbanyak port SATA menggunakan lane PCIe
- Dari foto beresolusi tinggi dalam ulasan Terramaster F5-422, teridentifikasi 2 IC ASMedia ASM1061
- ASM1061 adalah kontroler SATA berbasis PCIe Gen 2 x1 dan menyediakan 2 port SATA
- Pada F5-422, ASM1061 pertama dipahami terhubung ke port 3 dan 4 pada backplane, sementara ASM1061 kedua terhubung ke port 5
- Di sisi belakang motherboard F2-221 juga terkonfirmasi bahwa pin-pin yang tampak sebagai sinyal PCIe pada backplane F5-422 memang benar-benar dirutekan
Rekayasa balik sinyal PCIe
- Jalur PCIe dilacak berdasarkan foto backplane F5-422 dan datasheet ASM1061, tetapi beberapa pasangan diferensial masuk ke layer internal melalui via, sehingga tidak mudah membedakan
TX, RX, dan REFCLK
- Salah satu petunjuk yang dapat dikonfirmasi adalah bahwa salah satu pin konektor PCIe terhubung ke
PERST# pada ASM1061
- Arah sinyal dibedakan dengan memanfaatkan fakta bahwa pada PCIe, secara tradisional kapasitor kopling dipasang pada pasangan diferensial
TX
- Pasangan diferensial yang terhubung ke
TX ASM1061 seharusnya memiliki kapasitor kopling di sisi backplane
- Dari sudut pandang CPU dan motherboard, pasangan diferensial tersebut menjadi
RX
- Pasangan diferensial yang terhubung ke
RX ASM1061 diperkirakan dari posisi kapasitor kopling di sisi motherboard
REFCLK diperkirakan sebagai pasangan diferensial tersisa yang paling dekat dengan TX dan RX pada tiap antarmuka PCIe x1
- Foto backplane F5-422 dimuat ke KiCad, trace eksternal diikuti hingga via, dan kemungkinan routing layer internal dibandingkan untuk memverifikasi secara kasar pinout PCIe1
- Beberapa pin tidak terhubung pada backplane F2-221 bawaan atau masuk ke layer internal sehingga tujuannya tidak dapat dipastikan
- Pinout PCIe2 tidak diverifikasi
Rekonstruksi rangkaian daya
- Di salah satu sisi backplane F2-221 tidak ada IC untuk sinyal PCIe, tetapi terdapat banyak rangkaian daya yang didominasi MOSFET, dioda, resistor, dan kapasitor
- Komponen dan trace diperiksa dari foto close-up, lalu skematik dibuat ulang di KiCad
- Rangkaian tersebut dipahami sebagai struktur slow-start load switch yang masing-masing ada untuk tiap rail daya port SATA
- Pada F2-221 terdapat total 4 buah: 2 port SATA × 2 rail daya
- Pada F5-422 terdapat total 10 buah sesuai konfigurasi 5-bay
- P4, salah satu pin ground pada konektor SATA, ditarik ke ground saat hard disk terhubung dan digunakan seperti pin enable pada load switch
- Struktur ini tampaknya bertujuan mengurangi percikan antara konektor dan drive akibat arus masuk awal yang besar saat hard disk di-hot-plug
- Untuk menghindari menyolder banyak komponen diskret, dipilih IC load switch terintegrasi onsemi NCP45521-L yang memiliki slow starter bawaan
Alasan memilih NVMe alih-alih SSD SATA
- Awalnya dipertimbangkan opsi menambahkan port SATA dengan ASM1061 lalu menempelkan SSD SATA di dalam casing
- Konektor M.2 memiliki ruang untuk masuk di antara rel pemasangan backplane, dan meskipun sempit dengan sisa ruang kurang dari 1mm di kedua sisi, pemasangan masih memungkinkan
- Untuk memakai SSD M.2 SATA, diperlukan kontroler yang mengubah PCIe menjadi SATA
- Pendekatan seperti F5-422 yang menggunakan ASM1061 memungkinkan
- Namun IC ASM1061 sulit dibeli satuan, sehingga harus melepas IC tersebut dari kartu PCIe yang berisi ASM1061
- NVMe sendiri berbasis PCIe, sehingga jalur PCIe dapat dihubungkan langsung ke slot M-key M.2 tanpa kontroler terpisah
- SSD NVMe biasanya memakai 4 lane PCIe Gen 3 atau lebih tinggi, tetapi desain ini hanya menggunakan 1 lane PCIe Gen 2, sehingga kecepatannya diperkirakan tidak akan lebih cepat dari SATA
- Meski begitu, karena tidak memerlukan kontroler, routing lebih sederhana, dan pilihan SSD NVMe lebih banyak, NVMe lebih cocok untuk penggunaan ini
- Untuk SSD aktual,
Patriot P300 128GB dibeli secara lokal seharga €14,90
- Karena belum pasti apakah BIOS bisa boot langsung dari NVMe, skenario terburuk berupa menaruh partisi boot di USB 2.0 stick internal juga dipertimbangkan
Pembuatan dan pengujian PCB prototipe
- Karena PCB baru harus sesuai dengan struktur pemasangan backplane pada casing, posisi konektor edge PCIe dan lubang sekrup harus akurat
- Ukuran PCB dan pembatasan aliran udara juga harus dipertimbangkan, sehingga prototipe penting bukan hanya untuk verifikasi elektrik, tetapi juga untuk memastikan kecocokan mekanis
- PCB lama diukur dengan penggaris dan kaliper; distorsi lensa pada foto tampak depan dikurangi, lalu foto dimuat ke KiCad untuk mencocokkan konektor, lubang sekrup, dan outline
- Pada prototipe, pin yang belum teridentifikasi dikeluarkan sebagai test point, dan karena rail 3,3V terlambat ditemukan, ditambahkan buck converter untuk mengubah 5V menjadi 3,3V
- PCB 4-layer dipesan dari JLCPCB dan diterima beberapa minggu kemudian
- Ini pertama kalinya penulis menyolder paket DFN dan komponennya sangat kecil, tetapi short antara daya dan ground diperiksa, lalu kondisi solder dicek dengan close-up smartphone
- Saat dipasang ke NAS dan dinyalakan,
Patriot P300 128GB muncul di daftar opsi boot BIOS, sehingga boot langsung dari NVMe ternyata bisa dilakukan
- Jalur
CLKREQ yang dikhawatirkan tidak ditemukan, tetapi tampaknya selalu ditarik rendah di suatu tempat pada motherboard, dan REFCLK berfungsi
CLKREQ biasanya digunakan SSD untuk meminta clock referensi saat diperlukan
- Dalam desain ini ASPM tidak bekerja, tetapi karena ini drive boot untuk server yang selalu menyala, hal tersebut tidak dianggap masalah besar
- Hard disk juga berfungsi normal setelah dihubungkan
- Karena prototipe yang dibuat untuk pengujian dan debugging langsung berfungsi normal, tujuan pin yang belum teridentifikasi tidak lagi penting
Versi final F3 Backplane
- Prototipe berfungsi normal, tetapi masih memiliki test point dan posisinya sedikit miring di dalam casing, sehingga versi final V1.0 dibuat ulang
- Pada versi final, buck converter dihapus dan konektor M.2 dihubungkan langsung ke rail 3,3V konektor PCIe
- Posisi sedikit disesuaikan untuk mengurangi kemiringan prototipe, test point dihapus, dan logo ditambahkan
- Namanya ditetapkan sebagai F3 Backplane, bermakna menambahkan satu ke F2
- PCB final yang dipesan lagi dari JLCPCB juga berfungsi normal seperti prototipe
- btrfs scrub penuh dijalankan pada hard disk dan tidak terjadi error
- Sistem dijalankan dari SSD NVMe selama beberapa minggu dan bekerja tanpa hiccup
- Penyolderan konektor SATA sulit dan hasilnya kasar karena thermal relief tidak ditambahkan pada bidang ground internal, tetapi masalah ini telah diperbaiki di repositori GitHub
Performa dan materi publik
- Hasil
hdparm SSD NVMe adalah sebagai berikut
/dev/nvme0n1:
Timing cached reads: 4554 MB in 2.00 seconds = 2279.68 MB/sec
Timing buffered disk reads: 1222 MB in 3.00 seconds = 407.22 MB/sec
- Kecepatan ini tidak tergolong cepat untuk SSD NVMe, tetapi sesuai perkiraan karena hanya menggunakan 1 lane PCIe Gen 2
- Performanya cukup untuk drive boot
- Proyek KiCad dipublikasikan di GitHub
1 komentar
Komentar Hacker News
Sebagai cara menyolder paket DFN, ini nyaris sepenuhnya gila, tapi kelihatannya menarik
Secara aneh mungkin saja bekerja, tetapi sulit mengharapkan keandalan yang konsisten, dan rasanya hanya cukup untuk proyek sekali pakai
Untungnya pad bawah pada paket DFN mencapai kedua tepi samping, jadi ini memungkinkan; sepertinya cara ini tidak akan berhasil untuk QFN
Saya sudah beberapa kali melakukan pekerjaan serupa dengan solder biasa; cukup beri sedikit lebih banyak pada tiap pad, tetapi hindari sampai terjadi short
Oleskan flux, kalau bisa flux berbasis rosin yang tetap bertahan lama pada tahap pemanasan berikutnya, panaskan seluruh footprint dengan hot air gun, lalu letakkan IC perlahan di atasnya
Dengan begitu, tidak perlu meniupkan hot air terlalu lama ke IC hanya demi memanaskan semuanya
Jika selalu menaruh beberapa via pada thermal pad dan membiarkan tembaga di sisi sebaliknya terbuka, via tidak tertutup solder mask dan akan menyerap sisa solder
Untuk pekerjaan SMD dengan anggaran sangat rendah, thermal pad juga bisa dipanaskan dari sisi sebaliknya dengan soldering iron
Menekan chip juga tidak masalah, tetapi harus hati-hati dengan penyelarasan terhadap pad
Pada QFN, selain gumpalan solder besar di tepi luar, saya hampir tidak pernah melihat solder bridge
Paduan solder dan solder mask zaman sekarang cukup baik mencegah bridge, dan solder cenderung kuat menempel hanya pada logam daripada diam di antara bodi paket dan solder mask
Saya berharap ada lebih banyak standardisasi untuk build NAS konsumen
Saya sudah bertahun-tahun bertanya kepada ASUSTOR apakah mereka tidak berniat membuat backplane atau adaptor yang kompatibel dengan Mini ITX
Akan bagus jika beberapa tahun kemudian hanya backplane yang bisa diganti, atau bisa memasukkan SBC dalam bentuk seperti Pico ITX
Saya tidak suka bahwa setelah 5 atau 10 tahun, NAS sulit di-upgrade dengan benar
Jika hanya motherboard yang bisa diganti, banyak NAS 1Gbps dapat dinaikkan ke 2,5Gbps atau 10Gbps, dan sasisnya bisa dipakai lebih lama tanpa dikirim ke TPA
Membuang sampai sasis NAS dan backplane padahal hanya bagian komputasinya yang sudah usang adalah pemborosan besar
Mungkin juga ada sinergi dengan motherboard Laptop 13, dengan TDP kelas laptop dan bahkan kemungkinan ARM
Namun pasar appliance NAS tampaknya tidak terlalu besar, kira-kira sebatas “prosumer” dan usaha kecil, dan diferensiasinya ada pada software, bukan hardware
Orang membeli Synology bukan karena hardware-nya, melainkan karena DSM
Sayang, saya rasa pernah membaca di suatu tempat bahwa Framework tidak punya rencana integrasi vertikal
Akan bagus jika ada OS yang didukung Framework dan langsung bekerja dengan baik bahkan untuk hal seperti hemat daya atau rasa touchpad
Saya ingin begitu saja memasang benda seperti itu ke PC biasa, tetapi produk yang saya temukan hanya 4 port atau terlalu mahal
Jawabannya sebenarnya sudah Anda berikan sendiri
Kedalaman dan usaha yang rela digali orang-orang selalu membuat kagum
Apalagi untuk pekerjaan seperti modifikasi gitar atau hardware, yang kalau gagal berarti benar-benar kehilangan uang
Rasanya sebelum langsung terjun ke proyek seperti ini, perlu membangun pengalaman memakai solder atau alat pertukangan di tempat lain dulu
Aku juga penasaran kenapa pasar kotak kecil yang ramah untuk di-hack agar hardware atau software-nya lebih mudah diutak-atik tidak besar
Akan menyenangkan kalau ada NAS di kisaran harga konsumen yang sistem operasinya bisa dicopot dan diganti dengan OS atau kernel biasa
Mungkin aku memang terlalu takut memodifikasi benda fisik sungguhan
Disk fisik 24TB, kapasitas usable 16TB (Raid Z2), menjalankan Ubuntu LTS edisi server, dan container yang dibutuhkan dijalankan di Docker lewat Portainer
Ini bukan GUI klik-klik yang mudah dipakai siapa saja, dan hal-hal seperti mount SMB harus dibuat sendiri lewat terminal, tetapi cukup mudah untuk dirawat
Hardware-nya adalah motherboard Asrock Rack C246 WSI Mini ITX, RAM ECC 32GB, Intel i3-9100T, 6 drive IronWolf 4TB NAS, sasis rackmount 2U dengan kedalaman pendek, dan drive boot Samsung 850 Evo 1TB
Daya idle 23W, cukup rendah, dan naik sampai 65W saat berbeban
Disk dibuat spin down setelah tidak aktif selama 10 menit, tetapi siklus load/unload tahunannya sekitar 10 ribu kali, jadi masih baik dibanding rating 600 ribu kali
Kita bisa mengisi drive sendiri dan memasang OS yang diinginkan
Aku punya mesin dengan konfigurasi 183TB yang menjalankan TrueNAS (ZFS), dan itu sangat bagus
Pada dasarnya ini kotak x86 standar dengan banyak slot drive, backplane, port SAS/SATA, dan kapasitas controller
Pasar bekasnya juga cukup aktif
Namun karena ditujukan untuk orang yang ingin memasang 10 drive atau lebih dalam satu sasis, agak sulit menyebutnya produk konsumen
Aku terus terpikir untuk membeli NAS, tetapi tidak ingin memakai OS vendor proprietari yang mungkin memindai dataku karena integrasi cloud yang tidak berguna atau bermusuhan
Aku juga tidak suka kemungkinan masih adanya backdoor dengan kata sandi yang di-hardcode
Kualitas BIOS tidak diketahui, dan tidak ada RAM, tetapi bisa diperluas hingga 32GB; OS harus dibawa sendiri
Model Intel Alder Lake N100 harganya $189: https://aoostar.com/products/aoostar-r1-2bay-nas-intel-n100-...
Model Ryzen 5700 harganya $299: https://aoostar.com/products/aoostar-r7-2-bay-nas-amd-ryzen-...
Ada juga orang yang memakai Raspberry Pi sebagai NAS; lambat, tetapi berfungsi untuk backup lokal murah
NAS terintegrasi lama seperti DNS-320 juga bisa di-root untuk menjalankan turunan Debian yang relatif baru dan masih mendapat patch keamanan
Namun spesifikasi CPU dan RAM-nya sangat rendah, jadi harus terbiasa dengan command line
Bisa juga membeli server HP Proliant lama (sekitar gen8), memasang 4 hard disk 16TB, lalu boot dari drive kelima
Aku penasaran dengan bagian “header USB ini hanya USB 2.0, jadi bukan pilihan untuk tujuan ini”
Aku tidak meragukan proyek yang hebat ini, tetapi ingin tahu kenapa USB 2.0 tidak cocok untuk OS pada NAS
Selain dibaca saat boot dan sesekali menulis sedikit data, memangnya ada pekerjaan lain?
Kalau menjalankan operasi journalctl pada file log 6 bulan, butuh 1–2 menit karena pola akses file journalctl yang kurang optimal
Tentu saja aku tidak akan menyangkal bahwa alasan sebenarnya membuat ini hanyalah karena menyenangkan untuk diutak-atik
Sepertinya aku hacker yang buruk
Aku pernah punya masalah yang sama, harus memasang drive eksternal ke NAS, dan aku hanya menempelkannya di atas NAS dengan Velcro
Ini terlihat jauh lebih keren daripada casing “custom” dari Lego yang kubuat untuk menampung NAS rumahan
Aku mencolokkan 4 hard disk USB ke sebuah hub, lalu menghubungkan hub itu ke Nvidia Jetson
Aku ingin membuatnya jadi satu unit, dan Lego tiruan sangat murah sehingga mudah untuk bereksperimen
Itu juga menyenangkan, tetapi yang ini terlihat jauh lebih profesional, jadi aku agak iri
Mengagumkan dan elegan
Luar biasa bisa sampai sejauh ini hanya dengan tebakan, sedikit trial and error, pengecekan kontinuitas rangkaian, dan cara mengganti IC load switch dengan cukup ringan
Meski begitu, akhirnya berhasil
Solusi yang benar-benar keren
Aku memakai model 5-bay dari NAS yang sama, dan memasang TrueNAS Scale di flash drive Samsung USB yang dicolokkan ke USB internal
Aku memilih produk yang banyak dipakai untuk dashcam Tesla, jadi setidaknya kuanggap ada tingkat ketahanan tertentu
Sejauh ini puas, tetapi performa CPU masih sangat kurang, jadi berencana upgrade ke yang lebih kuat
Aku juga sempat mempertimbangkan mengganti motherboard dengan carrier custom untuk ARM compute module atau Lattepanda mu baru, tetapi sepertinya untuk saat ini aku harus memakai dulu proyek baru yang sudah dibuat dengan susah payah ini
Dibuat dengan baik, dan saya suka proyek seperti ini yang membuat orang bisa mengendalikan sendiri perangkat keras mereka
Patut dipuji sekali lagi karena mendokumentasikannya secara terbuka
Namun saya penasaran apakah akan muncul masalah aliran udara
Pada PCB asli dan PCB yang dimodifikasi ada lubang besar di tengah, yang saya duga dimaksudkan untuk mengalirkan udara melewati drive
Tetapi drive NVMe menutupinya
Mungkin cukup banyak udara yang bocor di sekitar tepi NVMe sehingga pendinginan drive biasa tetap baik, dan sebagai bonus bisa saja mendapatkan NVMe dengan pendinginan terbaik di dunia
Meski begitu, ruangnya terlihat sangat mepet
Saya tidak terlalu paham aerodinamika, jadi tidak bisa yakin, tetapi saya rasa sebagian udara akan tetap lewat melalui lubang itu
Penyangga sekrup untuk SSD juga saya geser sampai ke ujung kiri PCB dengan maksud agar lebih banyak udara bisa lewat di sisi kanan
Setidaknya sejauh ini saya belum merasa performa pendinginannya memburuk
Saya tidak akan memakainya secara langsung, tetapi tetap saja ini membuat saya antusias
Melihat orang menggali sedalam ini, belajar, lalu membagikan apa yang mereka pelajari benar-benar menyenangkan dan memotivasi