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

Motivasi

  • Selama beberapa tahun telah mengeksplorasi kemungkinan akses jaringan lokal ke tempat tidur Sleep Number
  • Membuat plugin homebridge yang dapat mengontrol pengaturan tempat tidur melalui HomeKit
  • Menerima permintaan dari Sleep Number untuk menonaktifkan plugin karena frekuensi permintaan API terlalu tinggi
  • Memutuskan untuk mencari cara melewati server melalui akses jaringan lokal

Persiapan

  • Nomor model Sleep Number Hub: 360SIQ01D
  • Memerlukan perangkat UART to TTY serta alat perangkat keras lainnya
  • Memerlukan USB-A flash drive

Mendapatkan hak akses root

  1. Hubungkan perangkat UART ke header J16
  2. Sambungkan konsol ke perangkat UART (baud rate: 115200)
  3. Nyalakan hub dan tekan <SPACE> dalam 2 detik untuk menghentikan urutan boot otomatis
  4. Edit variabel lingkungan boot
    • Cadangkan variabel lingkungan default
    • Hapus run set_bootargs; dari variabel bootcmd
    • Tambahkan berikut ini ke variabel bootargs:
      console=ttymxc0,115200 root=/dev/mmcblk${linux_mmcdev}p1 rootwait rdinit=/bin/bash -- -c "sed -i 's/LMR=`.*`/LMR=let_me_root/' /init; exec /init"
      
  5. Saat boot pertama, masukkan flash drive yang berisi file "let_me_root"
  6. Mount ulang partisi root sebagai rw dan tambahkan file let_me_root
  7. Atur akses SSH

Membuat server kontrol dan pemantauan jaringan lokal

  • Menyiapkan server HTTP menggunakan Python 2.7.18
  • Menulis skrip server HTTP yang dapat menjalankan skrip di direktori /bam/scripts
  • Menyalin skrip ke hub lalu menjalankannya

Menambahkan skrip rc.d

  • Tambahkan skrip rc.d ke partisi /real.root
  • Salin skrip ke hub dan pindahkan ke lokasi yang sesuai
  • Tambahkan symbolic link yang diperlukan

Perintah yang berguna

  • Berbagai perintah kontrol tempat tidur dapat digunakan dari skrip /bio
  • Contoh perintah:
    • arg=PSNL: mengambil nilai nomor tidur terakhir yang disetel untuk sisi kiri tempat tidur
    • arg=PSNS&arg=L100: mengatur nomor tidur sisi kiri tempat tidur menjadi 100

Langkah berikutnya

  • Menjelajahi fungsi kontrol tempat tidur di direktori root /bam
  • Mempertimbangkan masalah keamanan pada hub yang berkomunikasi dengan server Sleep Number melalui SSH tunnel
  • Menulis aplikasi web sederhana yang dapat menggantikan aplikasi SleepIQ

Lampiran: variabel lingkungan U-Boot asli pada hub

  • baudrate=115200
  • bootcmd=run find_board_name; run set_bootargs;setenv boot_mmcdev 0; run bootcmd_mmc;setenv boot_mmcdev 1; run bootcmd_mmc
  • Variabel lainnya...

Opini GN⁺

  • Panduan ini memungkinkan akses jaringan lokal ke tempat tidur Sleep Number sehingga memberi pengguna kontrol yang lebih besar
  • Mengingat masalah keamanan pada hub, sebaiknya putuskan koneksi internet eksternal
  • Ada juga produk smart home lain yang menawarkan fungsi serupa
  • Saat mengadopsi teknologi baru, masalah keamanan dan pemeliharaan perlu dipertimbangkan dengan cermat

1 komentar

 
GN⁺ 2024-07-02
Opini Hacker News
  • Dulu menggunakan tempat tidur tanpa fitur pintar

    • Dua pengontrol berkabel terhubung ke pompa
    • Tidak membutuhkan internet atau mikrokontroler Linux
    • Bisa tidur nyenyak tanpa khawatir diretas
  • Tertarik pada hub yang berkomunikasi dengan server Sleep Number melalui tunnel SSH

    • Penasaran apakah menggunakan PubkeyAuth atau kata sandi
    • Membayangkan kemungkinan pembajakan DNS
    • Mengutip ucapan terkenal Homer Simpson, "tempat tidurnya naik dan turun"
  • Ada metode serupa untuk mengakses Eight Sleep Pod 3

    • Beberapa model menyertakan kartu MicroSD yang bisa dimodifikasi
    • Metode yang digunakan di TFA mungkin cara yang bagus untuk mendapatkan akses root tanpa kartu
    • Eight Sleep menandatangani pembaruan firmware, tetapi juga mengirimkan kunci privat yang dipakai untuk penandatanganan
  • Mengira ini artikel tentang meretas tempat tidur Eight Sleep

    • Terkejut melihat foto "Number Sleep Hub" yang sebenarnya
    • Kaget mengetahui bahwa Eight Sleep dan Sleep Number adalah dua perusahaan yang sama-sama membuat tempat tidur berpendingin air
  • Berikut lelucon tentang ransomware

    • "Jika tidak membayar 1000 dolar, kamu tidak bisa tidur di tempat tidurmu selama sebulan ke depan"
  • Situasi ketika internet putus sehingga suhu tempat tidur tidak bisa diatur terasa merepotkan

  • Memutuskan untuk tidak membeli tempat tidur Sleep Number

    • Pernah mengalami dua kasur dengan baffle internal yang patah setelah produksinya dialihdayakan ke Tiongkok
  • Mempertanyakan alasan tempat tidur harus menjalankan Linux

    • Tidak paham mengapa tempat tidur membutuhkan 1GB RAM dan satu OS penuh
    • Bahkan sulit menemukan mesin cuci tanpa koneksi WiFi
    • Semakin sulit menghindari perangkat pintar
  • Menyarankan untuk menambahkan alat solder ke daftar belanja