2 पॉइंट द्वारा GN⁺ 2024-07-02 | 1 टिप्पणियां | WhatsApp पर शेयर करें

प्रेरणा

  • कई वर्षों से Sleep Number बिस्तर पर local network access की संभावना की पड़ताल कर रहे थे
  • HomeKit के ज़रिए बिस्तर की settings नियंत्रित करने वाला एक homebridge plugin बनाया था
  • Sleep Number ने API requests की आवृत्ति बहुत अधिक होने के कारण plugin को disable करने का अनुरोध किया
  • local network access के ज़रिए server को bypass करने का तरीका खोजने का फैसला किया

पूर्व तैयारी

  • Sleep Number Hub model number: 360SIQ01D
  • UART to TTY device और अन्य hardware tools की आवश्यकता
  • USB-A flash drive की आवश्यकता

root access प्राप्त करना

  1. J16 header से UART device कनेक्ट करें
  2. UART device पर console कनेक्ट करें (baud rate: 115200)
  3. hub की power on करें और 2 सेकंड के भीतर <SPACE> दबाकर auto boot sequence रोकें
  4. boot environment variables संपादित करें
    • default environment variables का backup लें
    • bootcmd variable से run set_bootargs; हटाएँ
    • bootargs variable में यह जोड़ें:
      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. पहली boot पर "let_me_root" फ़ाइल वाली flash drive लगाएँ
  6. root partition को rw के रूप में दोबारा mount करें और let_me_root फ़ाइल जोड़ें
  7. SSH access सेट करें

local network control और monitoring server बनाना

  • Python 2.7.18 का उपयोग करके HTTP server सेट करें
  • /bam/scripts directory की scripts चला सकने वाला HTTP server script लिखें
  • script को hub पर copy करके चलाएँ

rc.d script जोड़ना

  • /real.root partition में rc.d script जोड़ें
  • script को hub पर copy करके उचित स्थान पर ले जाएँ
  • ज़रूरी symbolic links जोड़ें

उपयोगी commands

  • /bio script में बिस्तर नियंत्रण के विभिन्न commands उपलब्ध हैं
  • उदाहरण commands:
    • arg=PSNL: बिस्तर के बाएँ हिस्से का आख़िरी set किया गया sleep number value लाएँ
    • arg=PSNS&arg=L100: बिस्तर के बाएँ हिस्से का sleep number 100 पर set करें

अगले कदम

  • /bam root directory में बिस्तर नियंत्रण सुविधाओं की पड़ताल करें
  • SSH tunnel के ज़रिए Sleep Number servers से संचार करने वाले hub की security issues पर विचार करें
  • SleepIQ app की जगह लेने वाला एक सरल web app लिखें

परिशिष्ट: hub के मूल U-Boot environment variables

  • baudrate=115200
  • bootcmd=run find_board_name; run set_bootargs;setenv boot_mmcdev 0; run bootcmd_mmc;setenv boot_mmcdev 1; run bootcmd_mmc
  • अन्य variables...

GN⁺ की राय

  • यह guide Sleep Number बिस्तर पर local network access संभव बनाकर उपयोगकर्ताओं को अधिक नियंत्रण देती है
  • hub की security issues को देखते हुए बाहरी internet connection काट देना बेहतर है
  • इसी तरह की सुविधाएँ देने वाले अन्य smart home products भी मौजूद हैं
  • नई technology अपनाते समय security और maintenance issues पर सावधानी से विचार करना चाहिए

1 टिप्पणियां

 
GN⁺ 2024-07-02
Hacker News राय
  • पहले ऐसे बिस्तर इस्तेमाल किए थे जिनमें smart features नहीं थे

    • दो wired controllers पंप से जुड़े हुए थे
    • इंटरनेट या Linux microcontroller की ज़रूरत नहीं थी
    • hacking की चिंता के बिना आराम से सोते थे
  • उस hub में दिलचस्पी है जो Sleep Number server और SSH tunnel के ज़रिए संचार करता है

    • यह pubkey auth इस्तेमाल करता है या password, यह जानने की जिज्ञासा है
    • DNS hijacking की संभावना की कल्पना करता है
    • Homer Simpson की मशहूर लाइन की तरह, "बिस्तर ऊपर जाता है और नीचे आता है" का उद्धरण देता है
  • Eight Sleep Pod 3 तक पहुँचने का एक मिलता-जुलता तरीका है

    • कुछ models में बदला जा सकने वाला MicroSD card शामिल होता है
    • TFA में इस्तेमाल किया गया तरीका card के बिना root access पाने का अच्छा तरीका हो सकता है
    • Eight Sleep firmware updates पर sign करता है, लेकिन signing में इस्तेमाल की गई private key भी साथ भेज देता है
  • पहले लगा कि यह Eight Sleep बिस्तर hack करने पर लेख है

    • असली "Number Sleep Hub" की फोटो देखकर हैरानी हुई
    • यह जानकर झटका लगा कि Eight Sleep और Sleep Number, दोनों कंपनियाँ water-cooled बिस्तर बनाती हैं
  • अगला हिस्सा ransomware पर एक मज़ाक है

    • "अगर 1000 डॉलर नहीं चुकाए, तो अगले महीने तक बिस्तर पर सो नहीं पाओगे"
  • इंटरनेट बंद होने पर बिस्तर का तापमान नियंत्रित न कर पाना असुविधाजनक है

  • Sleep Number बिस्तर न खरीदने का फैसला किया

    • China को outsourcing के बाद अंदरूनी baffle टूट जाने वाले दो mattresses का अनुभव हुआ
  • यह सवाल उठाया गया कि बिस्तर को Linux चलाने की ज़रूरत ही क्यों है

    • समझ नहीं आता कि 1GB RAM और पूरा OS चाहिए वाला बिस्तर क्यों होना चाहिए
    • WiFi connection के बिना washing machine ढूँढना भी मुश्किल था
    • smart devices से बचना लगातार कठिन होता जा रहा है
  • soldering tools को shopping list में जोड़ने की सलाह दी गई