1P by GN⁺ | ★ favorite | 댓글 1개
  • 2019년에 설치한 Advantage Air e-zone 덕트형 에어컨 제어 시스템은 벽면 Android 태블릿 하나가 고장나자 난방을 켜고 끌 수 없는 상태가 됨
  • 고장 지점은 Daikin 에어컨 본체나 다락의 제어 박스가 아니라 POE 전원 Android 태블릿이었고, 사용자 입장에서는 사실상 온/오프 스위치가 망가진 셈임
  • Advantage Air는 보증 만료 후 태블릿만 판매하지 않고 처음에는 $1245 제어 시스템 교체를 안내했으며, 공식 견적은 무선 온도 센서까지 포함해 $1697로 늘어남
  • 사용자는 기존 태블릿을 분해해 숨겨진 USB와 POE 커넥터 배선을 확인한 뒤, Samsung Galaxy Tab 4에 커넥터를 붙이고 앱의 기기 모델 검사를 패치해 e-Zone 앱을 실행함
  • 조사 결과 최신 태블릿이 구형 제어 시스템과 동작하지 못하는 주된 장벽은 하드웨어보다 소프트웨어 제한으로 보였고, 이후 하드웨어·프로토콜·API 문서화 저장소도 만들어짐

고장 난 것은 에어컨이 아니라 벽면 태블릿

  • 가족은 2019년 새집을 지으면서 대형 덕트형 reverse cycle, 즉 히트펌프 에어컨 시스템을 설치함
    • 전체 건축 패키지에 포함돼 정확한 가격은 알 수 없지만, 비슷한 규모 주택 견적 기준으로 $10k-$12k 정도로 추정함
  • 시스템은 두 부분으로 나뉨
    • 실제 냉난방 장비는 Daikin 에어컨임
    • 다락에는 각 구역 통풍구를 여닫는 Advantage Air 제어 박스가 있음
  • 거실 벽의 POE 전원 Android 태블릿이 Advantage Air e-zone 인터페이스 역할을 맡음
  • e-zone으로 여러 구역의 온도, 통풍구 개방 각도, 팬 속도를 조절할 수 있었고 휴대폰 앱을 통한 원격 제어도 가능했음

보증 만료 6개월 뒤 멈춘 제어 태블릿

  • 2024년 8월 18일 일요일, 태블릿에 “Sorry Google services has stopped” 메시지가 나타남
  • 이후 e-zone 앱이 죽고 실행되지 않았으며, 재시작 후에는 끝나지 않는 ANDROID 로딩 화면에 머무름
  • 복구 모드에서 설정과 파티션을 지우는 등 여러 방법을 시도했지만 되살리지 못함
  • 기기에는 눈에 보이는 USB 인터페이스가 없어 컴퓨터에 바로 연결할 수 없었고, “system integrity check”는 여러 오류를 반환함

공식 지원은 태블릿 대신 전체 시스템 교체를 요구

  • Advantage Air 지원팀은 보증 기간이 지났다는 점을 확인한 뒤, 태블릿이 죽었다면 $1245짜리 새 제어 시스템이 필요하다고 안내함
  • 저가 태블릿만 교체하면 된다는 항의에도, 지원팀은 기술이 계속 발전했고 시스템이 호환되지 않는다는 취지로 답함
  • 당시 정상 동작 중이던 구성요소는 그대로 남아 있었음
    • 에어컨 본체
    • 제어 박스
    • 고장 난 것은 Android 태블릿뿐
  • 이후 공식 견적에는 태블릿과 제어 시스템뿐 아니라 무선 온도 센서 교체까지 포함됐고, 총액은 $1697가 됨
  • 사용자는 구형 시스템에서 최신 태블릿 모델을 사용하는 사례를 보고, 태블릿만으로도 해결할 수 있다고 판단함

기존 태블릿 분해와 POE 커넥터 추적

  • 벽에서 태블릿을 떼어 분해해보니 POE 연결은 표준처럼 보이지 않았고, 가운데 핀으로 12V와 2V를 보내고 있었음
  • 내부에는 숨겨진 USB 포트가 있었지만, 처음에는 fastboot, recovery, adb sideload 어떤 모드에서도 컴퓨터가 인식하지 못함
  • 메인보드를 풀어 POE 커넥터의 추가 배선을 따라가자 USB 5V와 데이터 라인에 연결된 3개 선을 발견함
  • 데이터 라인을 자른 뒤 fastboot devices에서 태블릿이 보이기 시작함
  • 이후 mtktool로 부트로더 잠금 해제를 시도했지만 stage2에서 실패했고, 기존 태블릿 자체를 되살리는 데 시간을 너무 많이 썼다고 판단함

핵심은 전용 하드웨어보다 POE 어댑터와 앱 검사

  • 기존 태블릿에서 하드웨어적으로 특별한 부분은 POE 어댑터였음
    • 배터리를 대체해 상시 전원을 공급함
    • USB 장치 역할도 함
  • POE 커넥터를 USB-A 플러그에 연결해 컴퓨터에서 감지하려 했지만 실패함
  • 이 장치가 호스트처럼 동작해 태블릿이나 휴대폰에만 연결될 수 있다고 보고 Android 기기를 찾기 시작함
  • 2015년에 받은 Samsung Galaxy Tab 4를 찾아 충전한 뒤, 직접 납땜한 커넥터를 연결하자 동작 가능성이 보이기 시작함

Android 앱 패치로 기기 제한 우회

  • 원래 e-zone 태블릿은 Android 6.0을 실행했고, Samsung Galaxy Tab 4는 Android 5.0이었음
  • Advantage Air 웹사이트와 apkpure에서 필요한 앱을 구해 설치함
    • AAService
    • Ezone 인터페이스 앱
  • 처음에는 “Not on AA Hardware” 같은 오류가 나와 Android 앱 패치가 필요하다고 판단함
  • Android 앱 리버스 엔지니어링 글을 참고해 apktool로 APK를 디스어셈블하고 다시 빌드함
  • JAXE 웹 디컴파일러로 APK를 Java 형태에 가깝게 확인한 뒤, 실제 수정은 smali 코드에서 수행함

모델명 검사 변경만으로 앱 실행

  • AAService 앱의 onResume()에는 기기가 Advantage Air 하드웨어인지 검사하는 조건이 있었고, 실패하면 “Not on AA Hardware”를 표시한 뒤 종료함
  • 검사 로직은 Build.MODEL을 여러 모델명과 비교하는 방식이었음
    • 예: "eZone", "e-zone", "PIC7KS-EZ", "PIC7KS6", "PIC7KS6-EZ"
  • 기존 태블릿 케이스 안쪽 스티커에서 모델명을 확인한 결과, 코드상으로는 -EZ 식별자가 붙은 PIC7KS6-EZ 가 필요해 보였음
  • smali 코드에서 원래 Build.MODEL 값을 반환하던 부분을 "PIC7KS6-EZ" 문자열 반환으로 바꿈
  • apktool b로 다시 빌드한 뒤, 서명되지 않은 APK를 keytooljarsigner로 서명함

서비스 앱과 UI 앱을 같은 방식으로 수정

  • 처음 설치할 때 INSTALL_FAILED_DUPLICATE_PERMISSION 오류가 발생함
    • AAService 앱과 eZone 앱이 같은 권한을 요청했지만 서로 다른 키로 서명돼 있었기 때문임
    • 진행을 위해 eZone 앱을 삭제함
  • 패치한 AAService 앱은 실행됐고, “System connected” 알림이 표시됨
  • 이후 eZone UI 앱에서도 같은 기기 검사 코드를 찾아 동일하게 수정함
  • smali/com/air/advantage/w1/k.smali을 수정하고 다시 빌드·설치한 뒤, Samsung Galaxy Tab 4에서 e-Zone이 정상 실행됨
  • 원래 태블릿 복구를 포기한 뒤 새 태블릿에서 동작시키기까지 몇 시간이 걸림

비용과 호환성에 남은 결론

  • 에어컨 설치 업체는 다음 날 밴 뒤에서 찾은 오래된 태블릿을 $400에 살 수 있다고 알려옴
  • 이 가격도 비싸지만, Advantage Air가 처음부터 그런 선택지를 제공했다면 받아들였을 가능성이 높았다고 봄
  • 이 수리는 원래 POE 커넥터가 있어야 가능하며, Advantage Air 하드웨어가 없는 사람에게는 도움이 되지 않음
  • 같은 태블릿 고장이 흔한 문제라면, 약간의 납땜과 새 태블릿만으로 해결할 수 있음
  • 최신 태블릿이 구형 제어 시스템과 작동하지 못하게 하는 장벽은 하드웨어가 아니라 소프트웨어 선택으로 보임

HN 이후 모인 추가 정보

  • Hacker News 논의에서 같은 도시에 사는 gstar가 같은 문제를 다루고 있었고, 시스템이 RS422를 사용한다고 남김
  • gstar는 태블릿을 루팅해 build.MODEL"MyAir5"로 바꾸면 서드파티 태블릿에서도 동작한다고 덧붙임
  • HN 참여자 일부는 하드웨어, 프로토콜, API 관련 정보를 문서화하기 위해 리소스를 모으기 시작함
  • 관련 저장소: aa_interop

댓글과 토론

Hacker News 의견들
  • 세상에, Perth에 있는데 같은 시스템, 같은 문제를 겪었고 거의 같은 방식으로 해결했으며 글로 정리하던 중이었음
    이 시스템은 RS422를 쓰고, aaservice 바이너리에 base64로 인코딩된 AES 키가 들어 있음
    ESP32 기반의 오픈소스 컨트롤러 구현을 만들까 고민 중이었는데, 정말 이상할 정도의 우연임

    • 참고로 태블릿을 루팅하면 build.MODELMyAir5로 바꾸는 것만으로 서드파티 태블릿에서도 전부 동작함
    • 누군가에게 도움이 될까 해서 Advantage Air 시스템을 제어하는 걸 만들어 둠: https://git.nethack.net/rob/aircon
      기본적으로 Android 태블릿 API에 말을 걸어 동작시키는 방식이라 태블릿이 죽으면 도움은 안 되지만, 구역 평균 온도에 따라 전체 장치를 켜고 끄거나, 방 주인의 기기가 온라인인지와 주변 구역 온도에 따라 벤트를 여닫거나, 구역 온도를 influxdb로 보내는 일은 가능함
    • 대체 왜 제어 시스템에 AES로 보호된 제어 채널이 필요한지 모르겠음
      가능한 의도는 상호운용을 더 어렵게 만드는 것뿐이고, 보안을 원했다면 하드코딩된 AES 키를 쓰지 않았을 것임
    • 나도 이 시스템을 쓰고 있음
      아직 고장 나진 않았지만, 가능성이 신경 쓰여서 통신 프로토콜을 문서화하고 메인 제어 보드와 통신하는 Pi HAT 설계까지 시작했음
      이것도 언젠가 글로 정리해야겠음
    • 비슷한 시기에 다들 죽는 걸 보면, 어떤 로깅 시스템에서 저장장치가 망가지는 것 같음
      매일 비슷한 수의 로그를 값싼 플래시에 쓰다가 한계에 도달하는 식일 수 있음
      이 제조사는 부끄러운 줄 알아야 함
  • 10년 동안 방치한 블로그를 이 글 하나 쓰려고 되살린 게 좋음
    분노와 앙심은 강력한 동기임

    • 이게 얼마나 맞는 말인지 모를 것임 :)
      전부 업그레이드해야 했고, 예전 사이트에는 SSL도 없었음
      하지만 너무 짜증 나서 다른 사람들도 고치는 방법을 알았으면 했음
    • IKEA에 대한 분노와 앙심으로 딸 침대를 처음부터 직접 만들었음
    • 좋긴 하지만, 이 글이 가치 있으려면 어딘가 소셜 미디어에서 퍼뜨리는 데 성공해야 함
      이미 강한 소셜 미디어 영향력이 있거나 그런 사람을 개인적으로 알지 못하면 힘들고, HN에서도 운 좋게 알맞은 시간에 올린 뒤 신고 무리에 걸리지 않기를 바라야 함
  • 작년에 집에 에어컨을 설치했음
    독자 규격 스마트 기능이 붙은 제품이 아니라 IR 리모컨으로 제어되는 장치를 일부러 골랐고, 스마트 기능은 AliExpress의 저렴한 IR 블래스터를 Home Assistant에 붙여 해결했음
    방 대시보드는 저렴한 Lenovo 태블릿을 벽에 붙여 조명과 에어컨을 휴대폰 없이 제어하게 했는데, 이런 공포담은 내 결정을 더 확신하게 만듦

    • 어떤 장치들은 Home Assistant에 연결하기 쉬운 5V UART 포트가 있고 양방향 통신도 됨: https://static.xtremeownage.com/blog/2023/pioneer-mini-split...
    • 나도 같은 방식을 생각했지만, IR 제어는 장치와의 단방향 통신만 가능함
      피드백 메커니즘이 없으면 장치 상태와 Home Assistant 상태가 어긋났을 때 어떻게 해결하는지 궁금함
    • 같은 이유로 Daikin을 샀음
      Wi-Fi 모듈은 추가 비용이 들지만 앱 리뷰를 읽어 보니 대체로 “어느 정도 되긴 하지만 거의 쓸모없다”는 분위기였음
      ESP32 IR 송신기를 만들고 Tasmota IR을 올렸는데 Daikin 지원이 아주 잘 되어 있고, 수신은 못 하지만 100% 안정적이라 필요 없어 보임
    • 집에 Lennox 히트펌프가 있는데 몇 달 전 메인 온도조절 컨트롤러가 고장났음
      Lennox도 이런 독자 규격 시스템을 쓰지만 제어 보드에 구식 제어 단자가 보였고, 새 바닥 시공 중 설치자가 예전 선을 잘라 버리는 사고 덕분에 원래 4가닥 대신 5가닥 온도조절기 선이 들어가 있었음
      50달러짜리 온도조절기를 연결하니 전원과 팬은 켜졌지만 A/C 콘덴서는 반응이 없었고, 공식 교체품은 700달러 이상, 업그레이드는 800달러였음
      OfferUp에서 업그레이드 모델을 400달러에 파는 사람을 찾았고, 처음엔 “훔친 물건이니 많이 묻지 마” 같은 분위기였지만 결국 샀음
      집에 와서 연결했더니 팬은 켜지고 에어컨은 안 됐고, 혹시나 해서 밖의 열교환기 전원을 확인해 보니 안전 때문에 뽑아 놓고 다시 꽂긴 했지만 제대로 안 물려 있었음
      다시 단단히 꽂자 불꽃이 튀면서 살아났고, 50달러짜리도 충분했을지 모르지만 이미 돈을 썼으니 전체를 다시 배선할 이유는 없었음
      이 시스템이 또 죽으면 덕트 없는 미니 스플릿으로 갈 것임
    • 이게 정답임
      일부러 멍청한 기기만 사고, 내 방식으로 스마트하게 만듦
  • “스마트 에어컨” 업계 전체는 큼직한 소행성에 맞아 사라질 필요가 있음
    현대적인 가변 속도 장치에 대한 실제 수요는 분명한데, 업체들이 독자 프로토콜로 자기 생태계에 가둬 망치고 있음
    미국의 TRANE도 비슷하고, 가변 속도 펌프는 짧은 주기 동작과 과대 용량 시스템 문제를 해결해 주기 때문에 더 짜증남

    • 최소한의 개방 표준은 규제로 강제할 필요가 있어 보임
      그래야 간헐적인 재생에너지 발전 상황에 맞춰 시스템을 바꾸는 일 같은 것도 가능해짐
    • 가변 속도 난방기/에어컨 팬도 있음
      이런 무거운 부품에 추가 제어부가 붙으면 고장 났을 때 매우 비싸고, 내 경우 제어부는 멀쩡한데 팬 모터만 죽었음
      모터만은 팔지 않고 조합 부품만 900달러에 판다고 했고, 내가 설치하면 보증도 무효가 된다고 했음
      Trane이었다면 그 조합 부품도 팔 수 없다고 들었고, 내 장치는 Goodman이었음
      완전 바가지임
    • 이게 나쁘다고 생각하면 수영장 장비를 겪어 보셈
    • 에어컨 시스템 교체를 알아보는 중인데, 현재 설치된 단일 단계·단일 속도 장치를 직접 만져 보고, 단순한 가스 강제송풍 난방기와 단일 단계 16 SEER 에어컨 조합보다 훨씬 복잡한 말도 안 되는 제품들을 보니 다른 걸 살 생각이 전혀 안 듦
      단순한 장치는 모든 부품상이 저렴한 교체품을 재고로 갖고 있고 수리도 쉬움
      반대로 Lennox나 Trane이 내 장치가 고장나는 순간 생산을 중단한 희귀 가변 속도 모터나 제어 보드를 찾아야 한다면 행운을 빌어야 함
    • 이런 것에 표준을 만들기 어려운 이유는 장치마다 통신 요구와 지능화 수준이 다르기 때문임
      어떤 장치는 온도 센서 2개를 원하고 어떤 장치는 3개를 원하며, 센서 특성과 위치를 물리 모델로 써서 정교하게 제어하는 시스템도 있어서 일반적인 시스템에도 데이터 지점이 5~15개쯤 들어갈 수 있음
      프로토콜 문서화는 좋겠지만 실제로 쓰는 사람은 매우 적을 것이고, 표준이 굴러가려면 Bluetooth처럼 HFP, A2DP, SPP 같은 시나리오 기반 프로필과 선택적인 GATT식 범용 속성을 두는 방식이 필요할 것임
      하지만 Bluetooth LE에서 보듯 모두가 GATT 위에 자기만의 독자 구현을 얹으면 결국 같은 문제로 돌아옴
      일부 시스템은 “스마트”하게 동작하려고 하면서 24V C/W/Y1/Y2 같은 프로토콜을 표준 준수 대체 경로로 쓰는데, 완전히 모든 지능을 잃는 건 아니지만 장치가 물리적 추정으로 정보를 알아내야 함
      예를 들어 켜짐/꺼짐 온도조절기만 쓰면 설정 온도와의 차이를 직접 알 수 없어서 여러 주기 관찰로 추정해야 함
      현실적인 해결책은 오래된 24V 인터페이스를 확장하는 것일 수 있음
      예컨대 실제 제어 정책을 온도조절기로 넘기고, 5V는 꺼짐, 0V는 최대 냉방, 10V는 최대 난방인 0~10V 신호를 쓰는 식임
      그러면 온도 센서 구성은 자유롭게 고를 수 있지만, 여러 구역이나 여러 온도조절기가 필요한 설치는 복잡해짐
      업계가 이런 해법에 합의하기는 매우 어려울 것임
      Qualcomm Quick Charge 2.0은 이와 비슷한 아주 단순한 프로토콜이었고 사실상 자기 설명적이라 버전 관리도 별로 필요 없었지만, 요구가 바뀌며 3.0과 4.0이 지나갔고 USB-C와 USB PD에 이르러서는 OSI 계층을 다 갖춘 데이터 프로토콜 API와 제조사별 확장까지 생겼음
      표준은 아니더라도 시스템 API를 공개하는 복잡한 프로토콜을 정의할 수도 있지만, 제조사에 그럴 유인은 없고 Control4, Lutron, Crestron 같은 큰 업체가 연동 제품을 만들 수는 있음
      하지만 그러면 고객이 온도조절기를 자유롭게 고를 수 없고, N개 제조사와 N개 온도조절기 제조사를 모두 상대해야 해서 확장성이 없고 의존성 지옥에 빠짐
      더 큰 건물에서는 BACnet이 가장 표준에 가까운 해법으로 보임
      Bluetooth식 시나리오 기반 프로필 모델을 쓰는 듯하지만, 필요한 곳으로 데이터를 보내려면 어느 정도 수동 설정이 필요하다는 큰 단점이 있고, 가정 규모에서 설치자들이 이걸 다룰 준비가 되어 있다고 보긴 어려움
      현대적 의미에서 “온도조절기”는 거의 흔적 기관에 가깝고, 사실상 사용자 인터페이스와 온도계일 뿐임
      오픈소스 앱 제어 같은 바람을 떠나도, 온도조절기가 무엇을 하고 시스템이 무엇을 하는지, 벽에 붙은 장치가 정말 교체 가능한 “온도조절기”라고 부를 만한지 정의하기 어렵다
      주택 자동화 통합을 하는 친구에게 들으니 많은 고객은 기본 온도조절기가 미적으로 마음에 들지 않는다고 함
      이런 경우 커스터마이즈 필요성에는 공감하지만 실제 구현은 어려워 보임
  • “어떤 이유에서든, 모두의 태블릿이 비슷한 시기에 죽는다”니 참 재미있는 우연임
    그 시점이 보증 기간 밖이라는 것도 완전히 우연이겠지?

    • 제조사 입장에선 아주 편리하고, 가장 싼 부품을 사면 쉽게 달성 가능함
      아마 eMMC 기반이고 로그 파일을 계속 쓰고 있을 것임
      근거는 내게 정확히 이런 방식으로 죽은 Android 기기가 네 대째라는 점임
    • 이런 회사들을 많이 보면, 보증 기간 안이어도 별 차이 없을 것임
      집단소송이나 그 나라의 동등한 절차가 나오기 전까지 많은 사람을 그냥 엿먹이고, 보증 청구를 지키지 않은 대가로 손목만 살짝 맞고 끝날 가능성이 큼
    • 부품 고장은 일어날 수 있음
      2021년 4월 세일 때 산 Philips 4K LED TV가 있었는데, 잡다한 이상 증상은 있었지만 치명적이진 않았음
      그런데 올해 1월 둘째 주에 갑자기 화면이 세로 줄무늬 범벅이 됐고, 한순간 멀쩡하다 다음 순간 고장났음
      다행히 노르웨이는 일반적으로 5년 보증 기간이 있고 TV는 최소 5년은 지속되어야 한다고 여겨짐
      매장에 가져갔더니 같은 모델 TV 두 대가 더 있었고, 붙은 메모를 보니 둘 다 내 것과 같은 증상으로 고장났으며 구매일도 2021년 3~4월쯤이었음
      어떤 공통 부품 고장이라고 볼 수밖에 없음
    • 모두에게 비슷한 시기에 발생한다면, 로그를 남기고 지우지 않아 저장공간을 채우는 것일 수도 있겠음
    • Java 코드를 뒤져서 무엇이 그걸 촉발하는지 봤다면 좋았을 것임
  • 안타깝게도 제조사 누군가가 이걸 알게 되면 첫 생각은 “고객이 더 쉽게 쓰게 하려면?”이 아닐 것임
    아마 “이 우회 방법을 어떻게 막을까?”가 될 것이고, 결국 더 제한적이고 이상한 하드웨어와 소프트웨어로 갈 가능성이 큼

    • 이 정도는 신경 쓰지 않을 것 같음
      고객 중 이런 “해킹”을 할 수 있는 사람은 아마 1%뿐이고, 태블릿 교체가 다른 회사의 새 에어컨을 사는 것보다 싸기만 하면 제조사 입장에선 괜찮음
    • 맞고, 그래서 매우 슬픔
      거의 모든 것이 이런 방향으로 가고 있음
      예전 iPhone 탈옥 시절과 Apple과의 고양이쥐 놀이가 아직 기억남
    • 조건을 공유 라이브러리 .so 안에 넣고 Android JNI를 써야 할 것임
      복잡하게 만들고 태블릿 모델 문자열을 코드 곳곳에 숨겨서, .so 파일을 디컴파일하는 사람을 충분히 짜증나게 하는 정도로 막을 수 있음
  • 일반 Android 태블릿에서 실행되는 앱이 not on AA hardware 오류를 내는 건 범죄여야 함

    • 변호하자면, 아무나 이 앱을 Android 기기에 내려받아 설치할 수 있다는 점은 기억해야 함
      이 경우 명확한 실패 모드가 있는 건 말이 됨
      새 태블릿을 붙이려고 납땜 인두까지 꺼낼 사람이라면 이 정도는 충분히 우회할 수 있음
  • 스마트가 멍청해지는 순간임
    Nest와 다른 스마트 기기들도 이게 좀 걱정되지만, 일반 에어컨도 아주 단순한 문제 몇 가지로 수백 달러가 나갈 수 있음
    몇 주 전 에어컨 블로어 팬이 멈췄고 압축기는 돌고 있었음
    올라가 보니 커패시터가 고장이라 사진을 찍고 교체품을 샀고, 교체에 15분쯤 걸렸으며 최소 400달러는 아낀 듯함
    사막에서 에어컨 고장은 긴급 상황이라 그에 맞게 청구할 테니까
    가전제품 수리는 꽤 재미있기도 함

    • 호주의 좋은 점은 그런 수리가 아마 불법이라는 것임
      자기 집에서 무엇을 할 수 있고 할 수 없는지에 대해 꽤 망가진 보호주의 규칙이 있음
      실제로 항상 감시하는 건 아니라 대체로 괜찮지만, 수도꼭지나 기존 조명기구를 교체하는 것조차 불법인 수준으로 어리석음
      주 정부가 가끔 규칙을 재검토하면 직능 단체들이 몰려와, 무자격 “핸디맨”에게 사기당하는 걸 막기 위한 규칙이고 당신을 보호하기 위한 것이라고 주장함
      이런 규제 포획 때문에 법적으로는 플러그 하나 바꾸려면 4년 견습을 마쳐야 하고, 기본적인 수도 배관을 하려면 또 다른 견습이 필요함
      이 블로그의 작업도 엄밀히는 불법일 가능성이 있음
      예를 들어 데이터 케이블은 데이터 전문 자격을 가진 전기기사여야 설치할 수 있음
      이더넷 케이블을 컴퓨터에 꽂는 건 직접 할 수 있지만, 벽에 붙이는 플라스틱 몰딩을 사서 그 안으로 케이블을 통과시키면 위반이고 수천 달러까지 벌금을 물 수 있음
      자기 집 벽에 플라스틱 튜브를 붙였다는 이유로
    • Mitsubishi Heavy Industry 장치들이 좋은 점은 MHI-AC-Ctrl[1] 모듈을 여러 개 넣어 두고 서비스 인터페이스로 Home Assistant와 통신하게 만들 수 있다는 것임
      단순 제어뿐 아니라 내부 센서와 코드까지 모두 노출된다는 점이 좋음
      정말 필요한 건 수리권 법으로 이런 제어 표준 공개를 의무화하는 것임
      누구도 역공학을 할 필요가 없어야 하고, 제품을 시장에 내놓는다면 소프트웨어 인터페이스와 데이터의 전체 명세를 제공해야 함
      그렇게 하면 몇 년 안에 모든 새 가전이 공통 직렬 포트 표준을 지원하고 설명서에 코드 표를 싣게 될 것이라 봄
      아이러니하게도 Tuya 스마트 제품의 보급이 거의 그 상황에 가깝게 만들었지만, 그들은 Wi-Fi 마이크로컨트롤러를 못 건드리게 막는 데 터무니없는 노력을 쏟음
      [1] https://github.com/absalom-muc/MHI-AC-Ctrl
    • 이걸 읽는 모두는 자기 에어컨에 필요한 커패시터가 무엇인지 찾아보고 Amazon에서 하나 사 두는 게 좋음
      전부 20달러 미만임
      직접 해 봤는데 15분도 안 걸리고 망치기 거의 불가능함
      누군가를 불러 수백 달러를 내도 괜찮다 해도, 최소 몇 시간은 에어컨 없이 있어야 하고 계절에 따라 꽤 고통스러울 수 있음
    • 비슷한 일을 의류 건조기에 했음
      80년대 중반 제품이라 오래됐지만 훌륭했고, 크기가 커서 이불 세 장 정도를 한 시간 안에 말릴 수 있었음
      열이 안 나와서 보니 천연가스 흐름을 제어하는 솔레노이드가 문제였음
      제품이 수리하기 쉽게 만들어지던 시절이라 빠르게 분해하고 Amazon에서 산 8달러짜리 솔레노이드 두 개를 바꿨더니 다시 살아났음
    • 여러 가지를 수리함
      Capresso 버 그라인더 안쪽의 작은 플라스틱 손잡이가 부러졌는데, 10센트짜리 와셔와 접착제로 고쳤고 몇 년 동안 잘 동작했으며 겉으로는 전혀 티가 안 났음
  • 낭비가 심함
    이 회사가 몇 년마다 완전히 멀쩡한 하드웨어를 대량 폐기해서 돈을 벌고 있다면 환경에도 참 “훌륭한” 일임
    글 자체는 재미있고 이렇게 한 방 먹이는 건 보기 좋지만, 이런 방식은 정말 화가 남

  • 원래 ezone 태블릿은 Android 6.0이었고 이 Samsung은 5.0이었지만 문제없을 거라 생각했으며, 빠진 것은 필요한 앱들이었음
    ezone 앱은 Advantage Air 웹사이트와 apkpure 사이트 양쪽에 있었고, apkpure는 AA 기술지원 담당자가 안내했다는 글을 보고 알게 됨
    고객을 정체가 불확실한 서드파티 APK 재배포 사이트로 보내다니, 현실이 풍자를 이김

    • 앱은 서명되어 있으니 원본과 서명을 비교할 수 있음
      Apkpure에서 서명이 맞지 않았다는 보고는 보지 못했지만 물론 가능은 함
      더 중요한 건 실제 위협 경로가 무엇이냐는 것임
      개인 휴대폰도 아니니 태블릿을 Wi-Fi에 연결하지 않으면 됨
      몰래 온도를 1도 올리기라도 하겠음?
    • 최신 XC90에서 발생할 수 있는 문제에 대한 공식 Volvo 기술 공지를 읽고 있었는데, 설명서에 문자 그대로 “이 패치를 내려받아 패치 소프트웨어에 넣으면 이 차에 유효하지 않고 서명되지 않은 패치라는 경고가 뜰 텐데, 무시를 누르고 계속 진행을 누르라”고 되어 있었음
      자기 정비사들에게 무시하게 만들 거라면 그런 경고를 왜 넣는지 모르겠음
    • Blizzard가 소프트웨어 업데이트에 BitTorrent를 썼던 것과 크게 다르지 않음
      대역폭 비용을 피하는 영리한 방법임
      형제 댓글이 말했듯 파일은 서명되어 있음