144Labの今津です。 うんこボタンの不具合について報告をします。
現在、うんこボタンには2つ問題があります。
- うんこボタンがサーバーと通信できなくなる問題。
- うんこボタンデバイス自体の問題。
うんこボタンがサーバーと通信できなくなる問題について
ひとつめが11/24に発生した、全てのうんこボタンがサーバーと通信できなくなる問題です。 うんこボタンはサーバーと通信する際に、HTTPSを使用します。 HTTPSを採用した理由としては大きく次の2点です。
- 通信の暗号化
- 通信対象サーバーの確認
後者の目的のために、うんこボタンデバイスはファームウェア内に通信対象のサーバー証明書のフィンガープリントを保持しています。 使用していたサーバー証明書の期限が切れ、サーバー証明書が更新されたことで、フィンガープリントによるサーバー証明書の確認に失敗するようになりました。
サーバー証明書の確認にルート証明書等を用いるのではなくフィンガープリントを採用したのは、開発時に選択したSDKのバージョンでの制約です。 当時選択可能だったSDKのバージョンで、RC版ではフィンガープリント以外の手段も選択可能だったのですが、当時は不具合が多数確認されたため、安定版を採用しました。安定版ではフィンガープリントのみが利用可能でした。
このため、本来であれば証明書の期限が切れる前にファームウェアの更新が必要でした。そのためのOTAの仕組みも用意していましたが、期限の確認を怠った結果、今回の事態を招きました。 ご利用いただいているお客様には大変ご不便をおかけすることとなり、申し訳ない気持ちでおります。
問題発覚後の開発部門での対応について
サーバー証明書の問題については以下の対処を行い、ファームウェアの書き換えをすれば正常に動作するようになりました。
うんこボタンサービス側の動作を確認した後、ファームウェア書き込み装置の設定変更等を行い、ファームウェア書き換え作業の準備を整えました。
サーバー証明書問題とは別に、うんこボタンデバイス自体の問題が発覚する
ファームウェア書き換え準備を整え、新品のうんこボタンのファームウェア書き換え作業を始めるにあたり、お客様から「電池を入れ替えたら動かなくなった」というお問い合わせをいくつかいただいており、原因の調査中だったこともあり、ファームウェア書き換え後に動作確認をしてからお客様にお送りすることにしました。
この時の動作確認で、接続設定から電池を入れ替えつつ数回ボタンを押すことを複数回繰り返すと、不具合が発生する率がかなり高くなりました。正常動作した後に、不具合をきたす場合が多いのです。 この時点で、なにかしら回路に問題があり、回路を損傷する可能性があると判断し、交換プログラムでのお客様への発送を停止しました。
現在の状況と今後の方針
回路を損傷する原因について、原因を特定し、改善版の設計を進めようとしています。
ただ、新基板の量産には時間を要します。
私たちは、お客様に正しく動作するうんこボタンをできるだけ早くご提供したいと考えています。 仮に現在の基板に応急処置を施すことで安定動作させることができるのであれば、まずは応急処置版をお客様にお届けした後、あらためて改善版をお送りする、といったことを検討しています。