SlideShare una empresa de Scribd logo
1 de 49
999の夜
~Raspberry Pi の堅牢性向上手法~
たたかえ!オープンフォース #72
Version 1 2015.09.19
こえどらぐ オフなあつまり #158
Version 1.1 2015.10.12
AKBROBOT #40
オープンフォース総統
河野 悦昌
Raspberry Pi
● ワークショップなど
● 小学生も!!
世界初?
CUI のみで
入門させる
RaspberryPi の
本!!
オープンフォース
● 秘密結社
● 勉強会などを開催する非営利組織
あくのはかいかつどう
● (オープン)の
● (イノベーション)活動
● OSSを実戦に
今日の発表
● Raspberry Piの
● 動作不良の
● 原因を探ったり
● あれやこれやで
● 対策したり
Raspberry Pi
● あんなこと
● こんなこと
● できるのではないか!
組み込み
● 「これを実現するには100万円
かかります」
● 「こんなのRaspberry Piでできる
んじゃな〜い? 安くしてよ」
● 「死ね」
組み込みボード
● いかにがっちり動かすか
● ウォッチドッグ
● ECC
● 宇宙線
脆弱!
● Raspberry Piはおもちゃ
● まともに動かない(組み込み的
に)
● 動作が変
おもちゃだ!!
● 手に入らない
● 情報公開もない(組み込み的に)
● 電源SWが無い
● SDカード上にルートファイルシステム
● 糞熱設計
● 不安定!!!
● 電源がアホだ!
● レイアウトがクソ
電源
● 最初期から指摘されている
● microUSBコネクタが電源コネクタ
代わり
● ケーブルやUSB電源
● 要5V 1A以上
そもそも
● 5V → 3.3V → 1.8V
● 5Vが落ち込んでも3.3Vや
1.8V系には影響はないはず
● 実際にCPUは動作している
けれどもIO系が
おかしくなっている
LAN対策
● 使っているとしばらくダンマリ
● PINGしているとときどき欠損する
LANがおかしくなるとき
● USB系の異常も同時に出ています
[ 317.308394] ieee80211 phy0: rt2x00usb_vendor_request: Error - Vendor Request9
[ 317.308558] wlan0: deauthenticating from 10:6f:3f:33:ed:1c by local choice ()
[ 317.319983] usb 1-1: USB disconnect, device number 2
[ 317.320016] usb 1-1.1: USB disconnect, device number 3
[ 317.320274] smsc95xx 1-1.1:1.0 eth0: unregister 'smsc95xx' usb-bcm2708_usb-1t
[ 317.331666] ieee80211 phy0: rt2800usb_watchdog: Warning - TX HW queue 0 timek
[ 317.367090] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[ 317.369369] cfg80211: Calling CRDA to update world regulatory domain
[ 317.402530] usb 1-1.2: USB disconnect, device number 4
[ 317.512532] usb 1-1.4: USB disconnect, device number 5
[ 317.661689] usb 1-1.5: USB disconnect, device number 6
有線LANインターフェース異常
無線LANドングル異常
USB系全部異常
smsc9512チップ
原因
● smcのLAN9512/4チップである
● Raspbery PiのModel B系統に
採用
● USBコントローラであるが
● LANの機能も入っている
● これの不安定
● 結局USBの不安定ということ
になります。
LAN9512
USB対策
● Raspberry Pi B+に鳴る前は
● Wi-Fiドングルなどをつなげるだけ
で
● CPUリセットがかかっていた!!
330uFの電解コンデンサを
つける
写真は初期バージョンへの対策であるが
最近のRaspberryPiにも効果あり
熱による不安定
● 放熱を妨げない
(RaspberryHabu)
● その後の検証で放熱はLAN9512/9514チッ
プではなくレギュレータかも?
レイアウト!!
ネジ穴
ネジ穴
熱
熱
熱
● 初期は入手性☓
● 電源脆弱(特に初期
Raspberry Pi 2
● 長期で手に入るみたいだ
● 電源が大きく改善
●
SDカードがクラッシュす
る!!
● SDカードをルートファイルシステ
ムに
するなんて
● 書き換え限界があるのに!
案の定
● SDカードがクラッシュする!!
● ところが・・・
● 書き換えエラーではないようだ
● ビットエラーの痕跡が見つからな
い
ちゃんとやるか!
● トラブルシューティング
● クラッシュのパターン
● ある日突然fsck
● その後起動しなくなる
仮説
● 電源を直接断をするオペレーショ
ンの問題ではないか
● fsckは症状が顕在化するだけで過
去のファイルシステムのダメージ
が原因ではないか
まずは再現
● 起動→ファイル書き換え→電源強制断
→次回起動で書き換えが保存されてい
るかどうかをチェック
● fsckを毎回行うように設定
– 他の擾乱を排除する
– 電源はバスから供給
– メディアはsandiskのclass4、4GBに絞る
ストレステスト
● 200回ほど
● 異常1回のみ
● 書換が反映されていない 1回
● クラッシュ 0回
● 再現できているようには見えない
● (実使用上ではもっと高頻度で起こってい
る)
テストの結論
● SDカードのクラッシュは
● (RasPiのありがちなクラッシュは)
● 書き換え限界によるものではない
● 電源断によるsync失敗によるもの
ではない
では何?
● その後もクラッシュには遭遇せず
1年後
● 電子工作していて
● ショートで電圧降下したときに
● クラッシュが発生した
● 電圧は4.4Vを割り込んでいた
推測
● 5V電圧不足→SDカードのWrite不
良原因?
– 突然の電源断→不整合はタイミングによる
– Write不良→syncをする際に失敗、ないし異常
データの書き込み
● この事象の方がより深刻である
対策
● 5Vバスから電源供給
● 330uF電解コンデンサ
BBBの方がいい!
● banana piの方がいい!
● USBがアレだ!!
パケづまり
● 応答がなくなる!
● 使っているとプチフリ
● vim入力していると有線LANでsshする時
もUSBキーボードで入力するときも同様
にカクつく
● LAN9512/LAN9514チップの問題だろうJK
1:15頃
● VID_20150823_002525.mp4
ところが
● Raspberry Pi Model A+でも同様の
問題が発生。
● LAN9512/9514チップを搭載して
いない
● うーむ。
ちゃんとトラブルシュー
トするか!
● まずはModel B系統からテスト
● 診断しようとすると機嫌が良くなる
● Raspberry Pi Model B+ および 
Raspberry Pi Model B
● UbuntuPCから180Gと10G程度のファイル
を有線LAN経由でscp
● 快調そのもの。
テスト方法
● scpの転送結果表示や、転送途中の
pingには異常が無い
● vim上でのキータイプインはカクつ
く
原因わかたぽい
● scp fugafuga@hogehoge:/home/fugafuga/test
/dev/null # <- 問題発生しない
● scp fugafuga@hogehoge:/home/fugafuga/test
/home/pi/test # <- 問題発生する
● sdカード書き込み時にプチフリ
過去のUSBコントローラ
仮説の修正
● 今まで、5Vラインが不安定になる
と 真っ先にLAN9512/LAN9514
チップ周りがコケるイメージだっ
たが
● 回路図上ではLAN9512/LAN9514
には直接5V入ってない。
一方、SDカードは
● 直接BCM2835に接続、5Vライン
はBCM2835に接続。
● ということは、5Vが不安定になる
とSDカード書き込みが不安定にな
り、LAN9812/LAN9514に影響
が出るのでは。
DMA
● 恐らくSDカードアクセス時に割り込み禁止DMA転送を使ってい
て
● SDカード書き込み時にはプチフリが起こる
● SDカードカード書き込みが何らかの原因で時間かかったりコケ
たりしたらLAN9512/9514チップなどの動作に影響が出るという
ことではなかろうか。
● 参考文献
● https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=8010&start=
● "FTDI USB Serial Hangs" でも、2014/8/3の書き込みに
● "slow SDs make RPI lose irqs" とありますね。
検証
● あきばおーに行ったら80MB/sec対
応のSanDisk Ultra(Class 10 UHS-
I)が入荷したということで、買っ
てきた。
● 今まで使っていたのはSanDiskの
Class4 のもの。
テスト
● Raspberry Pi 2 Model B
● scp fugafuga@hogehoge:/home/fugafuga/test
/home/pi/test
● vimで「i」キーを押しっぱなしにしてプチフリが起こ
るかどうかを観測。
● 2015-05-05-raspbian-wheezy.img を元にして設定。
● カーネル 3.18.11-v7+。
プチフリ解消
● 以下の3項目を同時に行う
– ・SDカードを80MB/s対応のClass 10のものに変
更
– ・Raspberry Piの電源供給をGPIO端子からに変更
– ・Raspberry PiのGPIO 5V-GND端子間に150μFの
超低ESR固体コンデンサを追加
今回は8/23にトラシュー
を終えないといけなかっ
たのでここまで。
● VID_20150823_190558.mp4
成果
● 魔と原さんの農業
オートメーション
– 1年程度稼働
● モニタリングポスト
– 一年程度稼働実績
● 某14台クラスターで
クリスマスツリー
– (2ヶ月弱ノートラブル)
組み込み
● 「これを実現するには100万円
かかります」
● 「こんなのRaspberry Piでできる
んじゃな〜い? 安くしてよ」
● 「うっ」
俺たちの戦いはこれから
だ!
● 次回作にご期待ください!

Más contenido relacionado

La actualidad más candente

Raspberry pi on java 20130514
Raspberry pi on java 20130514Raspberry pi on java 20130514
Raspberry pi on java 20130514
Masafumi Ohta
 
opencocon を使って RaspberryPi で艦これ
opencocon を使って RaspberryPi で艦これopencocon を使って RaspberryPi で艦これ
opencocon を使って RaspberryPi で艦これ
Kenichiro MATOHARA
 

La actualidad más candente (10)

Gitとローカル環境
Gitとローカル環境Gitとローカル環境
Gitとローカル環境
 
簡単に楽しくはじめよう!Raspberry Pi入門
簡単に楽しくはじめよう!Raspberry Pi入門簡単に楽しくはじめよう!Raspberry Pi入門
簡単に楽しくはじめよう!Raspberry Pi入門
 
ラズピコでLチカ
ラズピコでLチカラズピコでLチカ
ラズピコでLチカ
 
Raspberry pi on java 20130514
Raspberry pi on java 20130514Raspberry pi on java 20130514
Raspberry pi on java 20130514
 
opencocon を使って RaspberryPi で艦これ
opencocon を使って RaspberryPi で艦これopencocon を使って RaspberryPi で艦これ
opencocon を使って RaspberryPi で艦これ
 
「今」のSSPを伝える動作デモ
「今」のSSPを伝える動作デモ「今」のSSPを伝える動作デモ
「今」のSSPを伝える動作デモ
 
第九回渋谷Java RaspberryPi+Javaを試してみる
第九回渋谷Java RaspberryPi+Javaを試してみる第九回渋谷Java RaspberryPi+Javaを試してみる
第九回渋谷Java RaspberryPi+Javaを試してみる
 
FOLIOのコードを動かしてみた
FOLIOのコードを動かしてみたFOLIOのコードを動かしてみた
FOLIOのコードを動かしてみた
 
Raspberry Piの便利なインストーラーNOOBSを活用してみよう!
Raspberry Piの便利なインストーラーNOOBSを活用してみよう!Raspberry Piの便利なインストーラーNOOBSを活用してみよう!
Raspberry Piの便利なインストーラーNOOBSを活用してみよう!
 
Raspberry Pi 最新情報 at OSC Tokyo 2014 秋
Raspberry Pi 最新情報 at OSC Tokyo 2014 秋Raspberry Pi 最新情報 at OSC Tokyo 2014 秋
Raspberry Pi 最新情報 at OSC Tokyo 2014 秋
 

Similar a 20150919 raspistable (bis)

Big Raspberry JAM TOKYO 2013 Hardware
Big Raspberry JAM TOKYO 2013 HardwareBig Raspberry JAM TOKYO 2013 Hardware
Big Raspberry JAM TOKYO 2013 Hardware
Hideki Aoshima
 

Similar a 20150919 raspistable (bis) (20)

Big Raspberry JAM TOKYO 2013 Hardware
Big Raspberry JAM TOKYO 2013 HardwareBig Raspberry JAM TOKYO 2013 Hardware
Big Raspberry JAM TOKYO 2013 Hardware
 
配布用Raspberry pi+arduino+scratchでフィジカルコンピューティング体験!
配布用Raspberry pi+arduino+scratchでフィジカルコンピューティング体験!配布用Raspberry pi+arduino+scratchでフィジカルコンピューティング体験!
配布用Raspberry pi+arduino+scratchでフィジカルコンピューティング体験!
 
OSC Tokyo 2013 Spring JRPUG
OSC Tokyo 2013 Spring JRPUGOSC Tokyo 2013 Spring JRPUG
OSC Tokyo 2013 Spring JRPUG
 
Raspberry Pi を楽しもう
Raspberry Pi を楽しもうRaspberry Pi を楽しもう
Raspberry Pi を楽しもう
 
Raspberry pi最新情報アップデート&いろいろ比較
Raspberry pi最新情報アップデート&いろいろ比較Raspberry pi最新情報アップデート&いろいろ比較
Raspberry pi最新情報アップデート&いろいろ比較
 
Raspberry piでpwmを使ってみる
Raspberry piでpwmを使ってみるRaspberry piでpwmを使ってみる
Raspberry piでpwmを使ってみる
 
rpi_handson_1
rpi_handson_1rpi_handson_1
rpi_handson_1
 
Raspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試すRaspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試す
 
Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会
 
Raspberry Piでつくる高音質オーディオ
Raspberry Piでつくる高音質オーディオRaspberry Piでつくる高音質オーディオ
Raspberry Piでつくる高音質オーディオ
 
Raspberry Pi and WebIOPi
Raspberry Pi and WebIOPiRaspberry Pi and WebIOPi
Raspberry Pi and WebIOPi
 
Arduino、Raspberry Pi、PIC 入門以前(NSEG 2014-04-19)
Arduino、Raspberry Pi、PIC 入門以前(NSEG 2014-04-19)Arduino、Raspberry Pi、PIC 入門以前(NSEG 2014-04-19)
Arduino、Raspberry Pi、PIC 入門以前(NSEG 2014-04-19)
 
レベルを上げて物理で殴る 16x9
レベルを上げて物理で殴る 16x9レベルを上げて物理で殴る 16x9
レベルを上げて物理で殴る 16x9
 
Raspberry pi 2
Raspberry pi 2Raspberry pi 2
Raspberry pi 2
 
Osoljp201204
Osoljp201204Osoljp201204
Osoljp201204
 
Rasberrypi 2013-08-17
Rasberrypi 2013-08-17Rasberrypi 2013-08-17
Rasberrypi 2013-08-17
 
初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話
 
Slide about raspberry pi
Slide about raspberry piSlide about raspberry pi
Slide about raspberry pi
 
NetBSD/evbarm (APC9750) への道
NetBSD/evbarm (APC9750) への道NetBSD/evbarm (APC9750) への道
NetBSD/evbarm (APC9750) への道
 
ロボットシステム学2015年第7回
ロボットシステム学2015年第7回ロボットシステム学2015年第7回
ロボットシステム学2015年第7回
 

Más de Yoshimasa Kawano

Más de Yoshimasa Kawano (18)

「寝ながら作るXojo」ハンズオンテキスト
「寝ながら作るXojo」ハンズオンテキスト「寝ながら作るXojo」ハンズオンテキスト
「寝ながら作るXojo」ハンズオンテキスト
 
20181220 pcba3days
20181220 pcba3days20181220 pcba3days
20181220 pcba3days
 
20181020 opticalsystem
20181020 opticalsystem20181020 opticalsystem
20181020 opticalsystem
 
20181020 iotl tinshenzhen
20181020 iotl tinshenzhen20181020 iotl tinshenzhen
20181020 iotl tinshenzhen
 
20180414 shenzen 20180512
20180414 shenzen 2018051220180414 shenzen 20180512
20180414 shenzen 20180512
 
C89.360°映像システムをつくる
C89.360°映像システムをつくるC89.360°映像システムをつくる
C89.360°映像システムをつくる
 
20171124 startupweekendtokyo
20171124 startupweekendtokyo20171124 startupweekendtokyo
20171124 startupweekendtokyo
 
how to five sense with raspberry pi
how to five sense with raspberry pihow to five sense with raspberry pi
how to five sense with raspberry pi
 
20170130 r114
20170130 r11420170130 r114
20170130 r114
 
20170914 wildlife
20170914 wildlife20170914 wildlife
20170914 wildlife
 
Squarantine 〜Kuroboxを使ったUSBメモリセキュリティソリューション〜
Squarantine 〜Kuroboxを使ったUSBメモリセキュリティソリューション〜Squarantine 〜Kuroboxを使ったUSBメモリセキュリティソリューション〜
Squarantine 〜Kuroboxを使ったUSBメモリセキュリティソリューション〜
 
20160227 de live-scratch
20160227 de live-scratch20160227 de live-scratch
20160227 de live-scratch
 
Scrirty conference20160410
Scrirty conference20160410Scrirty conference20160410
Scrirty conference20160410
 
20160218 devsumi
20160218 devsumi20160218 devsumi
20160218 devsumi
 
De workshop text20150704
De workshop text20150704De workshop text20150704
De workshop text20150704
 
Ikuijxit20150701
Ikuijxit20150701Ikuijxit20150701
Ikuijxit20150701
 
実装機
実装機実装機
実装機
 
Pcb20140111
Pcb20140111Pcb20140111
Pcb20140111
 

Último

Último (7)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

20150919 raspistable (bis)