世界を動かす技術を、日本語で。

ゼノンデスフラッシュ:カメラが「ラズベリーパイ2」をほぼ殺しかけた理由

概要

  • Raspberry Pi 2 がカメラのフラッシュでシャットダウンする珍現象の発見
  • 問題の原因は特定の 電源チップ の光感受性
  • コミュニティ主導の調査と解決策の模索
  • この事例が 現代電子機器設計 の課題を浮き彫りに
  • 最終的にはハードウェア設計変更で根本解決

Raspberry Pi 2の「カメラフラッシュで電源断」事件

  • 2015年2月、 Peter Onion が新品のRaspberry Pi 2を撮影中、カメラフラッシュのたびに本体が即座にシャットダウンする現象を発見
  • 初めは偶然と思われたが、3回連続で発生し、 Raspberry Piフォーラム に「Why is the PI2 camera-shy?」と投稿
  • Onion氏は Raspberry Piコミュニティのベテラン であり、その発見は多くの注目を集める
  • フォーラムでは様々なカメラや光源での再現実験が始まる
    • LEDフラッシュでは問題なし、 xenonフラッシュ では確実にシャットダウンすることが判明

問題箇所特定へのコミュニティ推理

  • 最初は メインプロセッサ が疑われたが、Blu-Tackで覆っても効果なし
  • Raspberry Piを 逆さまにすると問題が発生しない ことから、光が特定部品に直接当たる必要があると判明
  • テストの結果、 U16チップ (USBコネクタとHDMIポートの間の小型電源レギュレータ)が原因と特定
  • U16チップを 不透明な素材 (Blu-Tack等)で覆うと現象が完全に防げる

「Xenon Death Flash」の物理現象

  • U16チップは WL-CSP(Wafer-Level Chip Scale Packaging) というパッケージ技術を採用
    • シリコンダイが剥き出しで、従来の黒い樹脂で覆われていない
  • 強い光(特にxenonフラッシュやレーザーポインタ)が当たると 光電効果 が発生
    • 高エネルギー光子が半導体内で予期しない電子流を生み、電圧制御回路を撹乱
    • LEDフラッシュでは発生せず、xenon等の高強度光でのみ発生
  • シリコンのバンドギャップ 特性に依存し、赤外線や可視光でも極端な強度で発生

類似事例と業界の背景

  • Raspberry Piの件以前にも、 携帯電話用CSPアンプ がカメラフラッシュで誤動作した事例が報告
  • 1997年の Haddam Neck原子力発電所 では、フラッシュ撮影がEPROMチップを誤作動させ、火災警報システムが誤作動
  • 半導体の小型化・露出化 が進むにつれ、光による誤動作リスクが増大

対策と設計変更

  • 応急処置として U16チップを不透明な素材で覆う ことをRaspberry Pi Foundationが推奨
  • 2015年後半の ハードウェアリビジョン1.2 で、電源管理回路を抜本的に再設計(BCM2837 SoCを採用)
  • 旧モデル(A, B, A+, B+)では本問題は発生せず、 Pi 2特有の問題 として解決

事件が示した現代電子機器設計の課題

  • 小型・低コスト化 の追求が新たな障害モードを生み出す現実
  • 従来のEMC(電磁適合性)テストでは光による誤動作は想定外
  • WL-CSP技術 の採用で、シリコンダイが外部環境に対して脆弱化
  • 非典型的な利用状況 (例:写真撮影)が、ラボ試験では見逃される脆弱性を顕在化

「愛すべきバグ」としてのレガシー

  • Raspberry Pi Foundationは 透明性の高い対応 で、物理学の教材としても活用
  • コミュニティの協力による 問題解決力 の高さを証明
  • 光電効果 を体感できる教材として、電子工学教育でも話題に
  • 本件を機に、半導体設計における 光干渉リスク への意識が業界全体で向上

IoT時代への教訓

  • IoT化・高集積化が進む現代、 未知の脆弱性 が潜む可能性の指摘

  • 技術の交差点(例:写真技術と電源回路)が 新たなバグの温床 となる

  • コミュニティの 好奇心と協力 が、奇妙な問題の解決に不可欠であることの再確認

  • まとめ :複雑化する電子機器時代、思いもよらぬバグも、柔軟な発想と協力で乗り越えられるという希望

Hackerたちの意見

当時のHNスレッド https://news.ycombinator.com/item?id=9015663

ありがとう!

私も耳栓用のファンシーな半透明カバーで同じ問題があったよ。特定の角度やフラッシュの光でノイズが出て、誰も信じてくれなかった。

ちょっと思い出すのは、「SPARC CPUのキャッシュ破損がチップパッケージ内の不純物の放射性崩壊によるもの」ってやつ。これで初めての仕事で何時間も無駄にしたんだ。

IBMのメモリチップの話、いいね!これをこのコメントにコピーしたよ: https://news.ycombinator.com/item?id=25279964

もう一つのクラシックなハードウェアのバグ:iPhoneはヘリウムにアレルギーがある [1] [1] https://www.ifixit.com/News/11986/iphones-are-allergic-to-he...

これ、実は結構面白かったんだよね。というのも、その当時、MEMSデバイスメーカーによって代替環境ガスの影響があまり詳しく文書化されてなかったから。多くのエンジニアが、しっかりとした努力をしても、MEMS製造プロセスに詳しくなければその可能性を見逃してしまうかもしれないから、興味深いし注目に値するよね。でも、部品のメーカーにとっては全然驚きじゃなかった。最初の調整にキャリブレーションされたガス混合物を使うのは、標準的な設計ステップだからね。

そして、ヘリウム感度に関する素晴らしいフォローアップ動画がこちらだよ: https://www.youtube.com/watch?v=vvzWaVvB908

WLCSP部品の光感受性は、コミュニティによって「発見」されたものじゃないよ。WLCSP部品のデータシートには、その部品が光感受性であることが明記されていて、光がどのように影響するかのデータも載ってる。これはWLCSPの始まりから知られていて、責任あるエンジニアによって設計パラメータとして扱われている。チップメーカーは、裸のシリコンチップが光に敏感であることを知っている。だって、何千、何百万、何十億もの小さな太陽電池の接合部でできてるから。CMOSイメージング技術は、CMOSメモリチップに焦点を合わせた画像を露光することから進化した。WLCSPチップは基本的にパッケージされていないシリコンチップだ。これらは「発見」じゃないよ。人々は、トランジスタを光検出器や太陽電池として使うためにデカポしてきたし、金属カバーをトランジスタにかぶせて光干渉から守るようになったのも昔からだ。初期のフォトトランジスタは、ウィンドウ付きの標準的なNPN部品だった。もしWLCSP部品を保護されていないPCBに載せて、光感受性が許容されない設計特性なら、あなたはハックか、ノーブのようなミスをしていて、シニアエンジニアに監視されるべきだよ。データシートを読むのが基本だし、何百万ものデバイスに部品を統合する前に、シリコンチップが何でできているかや半導体接合がどう機能するかを理解するのはエンジニアの基本的な責任だ。まあ、面白い話だけど、この記事はLLMの出力に影響されて書かれた感じがする。ペダンティックなリズムと常に要約されてるからね。

10年前にこの月曜朝のクォーターバッキングをやったけど、Raspberry Piのデータシートにはこう書いてあった:> 文献で主張されているように、光感受性回路保護は現実の問題ではない。シリコンは長波長の光にしか透明ではなく、WLCSPの広範な用途ではめったに遭遇しないから。

WLCSP部品の光感受性は、コミュニティによって「発見」されたものじゃない。この記事はその主張をしていないよ。「これは実際には前例がないわけではない」というセクションがあって、以前の例についての話が載ってる別の記事へのリンクもある。WLCSPの光感受性の根本原因についても議論してる。> これらは「発見」じゃない。発見されたのはRaspberry Pi 2が光感受性であることであって、WLCSP部品が光感受性であることではない。ほとんどのPCBは、裸のPCBとして消費者に配布されることはないから、この問題はエンドユーザーにはめったに現れない。> もしWLCSP部品を保護されていないPCBに載せて、光感受性が許容されない設計特性なら、あなたはハックか、ノーブのようなミスをしていて、シニアエンジニアに監視されるべきだ。誇張してるよ。WLCSPの光感受性は非常に強力で特定の光源(この場合はキセノンフラッシュ)が必要で、さらには露出したPCBの組み合わせが必要な珍しい現象だ。Raspberry Piには、アームチェアのクォーターバックがエンジニアを「ハック」や「ノーブ」と呼びたくなる何かがあるけど、これは本当に稀なエッジケースだと思う。部品のデータシートに光感受性が全く言及されていない可能性もあるから、驚かないよ。

今日は新しいことを学んだ!これをいくつか使ったことがあるけど、デザインの観点から「BGA」と同じ意味だと思ってた。つまり、部品がこれでしか手に入らないならこれを選ぶか、QFNとかのバリエーションより小さいのが欲しい場合、ピンを目視で確認できないのを我慢するって感じ。高速やRFをやらないなら、ネットやフットプリントの抽象化でなんとかなることが多いし。これが見落とされるのも分かるよね。ボードには多くの部品があって、データシートも長いから。重要な部分を見つけるのが上手くなることが多いし、プロトコルの説明やピンマップ、リファレンスレイアウト、電圧耐性なんかをチェックするのが普通。細かいところを読むことで防げたかもしれないけど、飛ばす理由もあるよね。とはいえ、こんなに大量生産されるデバイスに関しては、ちょっと正当化しづらいかも!

ちょっと脱線するけど、「ペダンティックなリズム」ってフレーズ、初めて聞いたけどめっちゃ気に入った!ありがとう。やっと「これってLLMの出力っぽい感じがしてイライラするけど、なんでそう感じるのか分からない」って気持ちを表現する言葉が見つかったよ。それがペダンティックなリズムなんだね。

あなたはハッカーか、NOOBのようなミスをしていて、シニアエンジニアに監視されるべきだ。 そうだね。誰が裸のチップをオープンボードに載せて、ちゃんと動くと思ったんだ?過去には、プラスチックの封入が十分なカーボンブラックを持っていない光感受性部品のケースもあったよ。一部の古い部品は、十分に不透明じゃない茶色のプラスチックでパッケージされていた。それは数十年前の問題だね。

「メーカー」現象には、こういう意図的な無知のケースがたくさんあるね。特に、著名なクローズド企業の部品を使って、公開データシートもないのに使うなんて、ただの愚かさの始まりだった。

WLCSP部品を保護されないPCBに載せて、光感受性が許容できない設計機能であるなら、あなたはハッカーか、NOOBのようなミスをしていて、シニアエンジニアに監視されるべきだ。 すべてのWLCSP部品が、実質的または目立つ光感受性の問題を持っているわけではないよ。大多数のCSPデバイスは、チップの上部をほとんどの光から保護する裏面コーティングが施されているから、光感受性はデバイスのエッジ(または、裏面への反射)に大部分が残るんだ。一部にはそういうのもあるけど、私の見解では、それはむしろ設計上の欠陥であって、すべてのWLCSPデバイスに共通する問題ではないと思う。また、作っているデバイスの種類にもよるね。基本的なデジタルロジック、プロセッサ、パワーパーツは、光に対して特に問題があるわけじゃないはずだ。問題は通常、バンドギャップやオシレーターの光感受性で、チップのレイアウト変更で軽減できることが多いよ。

あとEPROM?紫外線で消去できるプログラム可能なROMのことだね。

偶数番号のPiモデルには、ハードウェアの変更が必要な面白い quirks があったよね。 - Pi 2はカメラフラッシュの再起動問題があったし - Pi 4はUSB-C充電回路が正しく実装されてなくて、多くのPDアダプタが電源を供給できなかった[1](オリジナルモデルの両方はまだ持ってるし使ってるけど、ハードウェアの欠陥は特定の状況でだけ問題だった)。Pi 5は変わった5V / 5Aの要件があるけど(高出力USBアクセサリを使わないなら5V / 3Aでも大丈夫だし、ちゃんとした電源アダプタがあればね)、それ以外にはPi 2/4ほどのハードウェアレベルの奇妙な問題はなかった。じゃあ、Pi 6では何が起こるんだろう?

コンピュートモジュールにも似たような問題があったのかな?

ちょっと待って: 「すべて」はクリックベイトで、ここでは意味がないよ。君への尊敬が少し減った。

Pi 3は電圧の問題があって、特別な5.1Vアダプターで解決されたんだ。全モデルにmicroSDの寿命問題があったし、PoE HATにも問題があったよ。全てのPiモデルに共通しているのは、オンボードの電源回路がかなりシンプルだったり、全くなかったりすること。どこかで、これがEU/UKの規制に関係しているかもしれないって見たことがある。消費者製品として売られることを禁止しているらしい。似たようなことを聞いた人いる?

Pi 1もハードウェアの問題があったよね。例えば、LAN9512の1.8Vレギュレーターの問題とか、USBポートのブラウンアウトも思い出す。

面白い事実: 半導体の効果はしばしば可逆的なんだ!発光ダイオードは非効率的な太陽光発電パネルで、その逆もまた然り。ここで重要なのは、高強度のIR光を使って接合部を刺激できる同じ効果が逆に働くこと。刺激された接合部はIR光を放出し、それが薄いパッケージを通して検出できるんだ。適切なカメラがあれば、理論的にはチップ上の特定の接合部がアクティブになる様子を動画で撮れるかもしれない。ただ、効率の問題で実際には難しいんだよね。クロックサイクルごとに接合部からどれくらいのフォトンが得られるかは分からないけど、そんなに多くないし、そのフォトンはパッケージから出てセンサーに届く必要がある。役に立つ信号を得るには、チップをかなりオーバーボルテージしたり、アンダークロックしたりする必要があると思うから、「機能的」なテストになるかどうかは分からないな。これを商業化しようとしていた会社の名前を思い出せたらいいんだけど…。

面白い事実: 半導体の効果はしばしば可逆的なんだ!発光ダイオードは非効率的な太陽光発電パネルで、その逆もまた然り。もう一つの面白い例: DCモーターを手動で回すと電流が生まれる!発電機から始めるなら分かるかもしれないけど、最初にDCモーターを「逆に」使った人間としては、ちょっと直感に反してるなって思った。

もし著者がHNを見ていたら、ちょっと言いたいことがあるんだ。文章のスタイルにちょっとイライラしたんだよね。意味のない変な情報がいっぱい入ってて、全然明確になってないし(例えば「アインシュタインがノーベル賞を受賞した現象」とか)、物事を実際よりも壮大に聞こえさせる方法もあったし(例えば「ブルータック(本当に)」とか、「コミュニティの信頼」の話全体とか)。あなたのプロフィールページで、LLMを使って執筆を手伝っているって読んだよ。これを機に、もう少し依存しないようにするか、少なくともその出力に対してもっと批判的になってみてはどうかな。あなたのブログを読んで、興味からイライラに何度も行ったり来たりしたのは初めてだったよ。

確かに「アシストされた執筆」はすぐに飽きられそうだね。でも、あなたのコメントを読んで、LLMとチャットする代わりに、AIを使って特定のトピックに関する検索結果を好きなフォーマットで提示するっていうのもアリだなと思った。例えば、軽い記事とか、TikTokスタイルのクリップ、YouTube、ポッドキャスト、「ただの事実」とかね。いろんなスタイルがあるし。機械やUIだってことがはっきりしてれば、LLMの出力はあんまり気にしないよ。

対照的に、アイゼンシュタインについてのその小話は役に立ったよ。物理の授業で学んだことをすぐに思い出させてくれたからね。投稿は報告というより、ストーリーとして楽しめた。

それには全く同意できない。すべての言葉を読むのが楽しかったよ。

人々が「最終的なチェックのためにただLLMに投げ込む」ことを楽しみにしていない理由の一つは、個々の声が失われることだね。全部同じに聞こえてきて、単調になってきてる。

同意する。毎回「これが強調される」や「これが対比される」って読むと吐き気がする。最初の部分は良かったけど、結論に入ると信じられないほど単調だった。

「タイガークルーズ」に持って行ったDVカメラで変な問題があったのを思い出したよ。TCは、ツアーから戻る途中に航空母艦で家族を訪れるイベントなんだけど、私たちはホノルルからサンディエゴまで船に乗ったんだ。デッキにいると、ビデオが3秒ごとに乱れてた。変な問題だったよ!すぐに、レーダーアレイのスイープと一致していることに気づいたんだ。納得だね。何らかの放射線を扱っていると分かって、バッテリー(重金属が入ってる)をレーダーアレイと磁気ヘッドの間に置くように携帯電話を角度をつけて持っていたら、ビデオはもう3秒ごとにカクつかなくなった。うまくいったよ!

フリップチップ部品のポストシリコンデバッグは、特定の場所にレーザーを照射して、レーザースポットからのバックスキャッタを検出することで、トランジスタがオンかオフかを判断することがあるよ。レーザーの出力を上げると、特定のトランジスタを開いたり閉じたりできる。半導体は一般的に光に敏感だから、動作中は暗く保つようにパッケージされることが多いんだ。