- Penulis artikel menghadapi masalah volume earbud Bluetooth Tozo T6 miliknya yang terlalu keras.
- Penulis memutuskan untuk memperbaiki firmware perangkatnya sendiri untuk menyelesaikan masalah tersebut.
- Rencana awal penulis adalah menemukan berkas biner untuk perangkatnya, memahami struktur binernya, menemukan berkas audio di dalam biner, membuat audionya lebih pelan, lalu mem-flash firmware yang telah dimodifikasi ke perangkat.
- Penulis menemukan bahwa beberapa asumsinya salah, dan dibutuhkan lebih banyak rekayasa balik daripada yang semula diperkirakan.
- Penulis menemukan bahwa chipset untuk perangkatnya adalah Airoha AB1562 yang berbasis pada Tensilica Xtensa ISA dan menyertakan "Cadence HiFi DSP coprocessor".
- Penulis menemukan aplikasi Android bernama "AirReps156X" yang menyediakan informasi diagnostik untuk perangkat Airoha dan memungkinkan pem-flash-an firmware baru.
- Penulis melihat bahwa aplikasi Tozo menampilkan versi firmware dan status saat ini, yang menunjukkan bahwa aplikasi tersebut berkomunikasi dengan server untuk memeriksa pembaruan.
- Penulis menggunakan proxy intersepsi untuk memantau lalu lintas jaringan aplikasi, dan menemukan bahwa respons untuk permintaan ke /api/v1/getOtaVersionV3 berisi tautan ke berkas bin firmware yang ia cari.
- Penulis menemukan bahwa berkas firmware dienkripsi atau dikompresi, dan bahwa berkas biner FotaPackage kiri dan kanan memiliki sedikit perbedaan.
- Penulis menemukan salinan SDK chipset tersebut secara online dan memastikan bahwa berkas mp3 di dalam SDK dimasukkan apa adanya ke dalam image sistem berkas.
- Penulis dapat memodifikasi volume berkas suara di dalam image firmware tanpa melakukan re-encode atau mengubah panjangnya.
- Penulis berhasil mem-flash firmware yang telah dimodifikasi ke perangkat dan mendapatkan suara yang jauh lebih pelan.
- Penulis menyimpulkan bahwa pengaturan volume suara sistem seharusnya menjadi fitur utama pada perangkat yang memutar audio.
1 komentar
Komentar Hacker News