タグ「RaspberryPi」を含む投稿[68件](4ページ目)
裸族のパイのUSB-LANアダプタですが、不調の原因が判明。
原因はUSB3.0のA-Aケーブルがクロス結線なことでした。電源は無関係でした。
USBは[RaspberryPi/USB3.0]-[USB3.0/A-A_Cable]-[USB3.0/A-A_KeyStone]-[USB-LAN]と繋いでいますが、ケーブルがクロス結線でキーストーンがストレート結線なのでRaspberryPiに対しUSB-LANアダプタは結線間違いになっていたのです。ケーブルを2本つなぐと正常に動くという摩訶不思議な現象だったので配線を当たったところ判明。
正直、「なんでクロス結線!?」と思いますが、USB3.0のA-Aケーブルはクロス結線が普通でストレートは例外みたいです。
対策は、キーストーンの中身を無理やりクロス結線に変え、クロスからクロスでストレートにしました。
ちなみに、USB3.0/A-Aのクロス結線は・・・
1-1 ※1番ピンから4番ピンはUSB2.0互換
2-2
3-3
4-4
5-8
6-9
7-7
8-5
9-6
です。
USB3.0のメモリを挿して動いたのであまり気にしていませんでしたが、USBメモリは3.0がダメなら2.0に切り替えてしまうみたいです。正確なところはわかりませんけどね。
紆余曲折ありましたが「裸族のパイ」が完成しました。作り方を忘れないウチにもう2台作ってしまいたいけどしばらく無理かなぁ~。
今後、裸族のパイの耐久試験を実施し、大丈夫なら自宅サーバーをコレに切り替えるつもりです。
#サーバー #RaspberryPi
原因はUSB3.0のA-Aケーブルがクロス結線なことでした。電源は無関係でした。
USBは[RaspberryPi/USB3.0]-[USB3.0/A-A_Cable]-[USB3.0/A-A_KeyStone]-[USB-LAN]と繋いでいますが、ケーブルがクロス結線でキーストーンがストレート結線なのでRaspberryPiに対しUSB-LANアダプタは結線間違いになっていたのです。ケーブルを2本つなぐと正常に動くという摩訶不思議な現象だったので配線を当たったところ判明。
正直、「なんでクロス結線!?」と思いますが、USB3.0のA-Aケーブルはクロス結線が普通でストレートは例外みたいです。
対策は、キーストーンの中身を無理やりクロス結線に変え、クロスからクロスでストレートにしました。
ちなみに、USB3.0/A-Aのクロス結線は・・・
1-1 ※1番ピンから4番ピンはUSB2.0互換
2-2
3-3
4-4
5-8
6-9
7-7
8-5
9-6
です。
USB3.0のメモリを挿して動いたのであまり気にしていませんでしたが、USBメモリは3.0がダメなら2.0に切り替えてしまうみたいです。正確なところはわかりませんけどね。
紆余曲折ありましたが「裸族のパイ」が完成しました。作り方を忘れないウチにもう2台作ってしまいたいけどしばらく無理かなぁ~。
今後、裸族のパイの耐久試験を実施し、大丈夫なら自宅サーバーをコレに切り替えるつもりです。
#サーバー #RaspberryPi
私が作るサーバーにはNIC(ネットワーク・インターフェース・カード)を2つ搭載します。
1つでもいいのですが、内向きと外向きを別々にした方がネットサーバーを構成するには都合がいいのです。
裸族のパイの母体はRaspberryPiなのでNICは1つですから、もう1つ増やすにはUSB-LANアダプタを取り付けます。
ところがです、標準ドライバで動いた実績のあるUSB-LANアダプタを取り付けても認識しない。全体的な挙動もおかしくなる。
あれ?
別なモノを挿しても同じ。
USBコネクタがおかしいのかとUSBメモリを刺すと正常に動く。
あれ?
結論から言いますと電力不足でした。
USBに別電源を割り込ませたところ正常に動作。
RaspberryPiのUSBコネクタは電力供給が弱いので当然です。
電源周りとUSBコネクタに追加工が必要になりました。
#サーバー #RaspberryPi
1つでもいいのですが、内向きと外向きを別々にした方がネットサーバーを構成するには都合がいいのです。
裸族のパイの母体はRaspberryPiなのでNICは1つですから、もう1つ増やすにはUSB-LANアダプタを取り付けます。
ところがです、標準ドライバで動いた実績のあるUSB-LANアダプタを取り付けても認識しない。全体的な挙動もおかしくなる。
あれ?
別なモノを挿しても同じ。
USBコネクタがおかしいのかとUSBメモリを刺すと正常に動く。
あれ?
結論から言いますと電力不足でした。
USBに別電源を割り込ませたところ正常に動作。
RaspberryPiのUSBコネクタは電力供給が弱いので当然です。
電源周りとUSBコネクタに追加工が必要になりました。
#サーバー #RaspberryPi
mdadmに問題発生!
マウントして使えるところまで設定出来たと思ったのに、再起動したらmdadmがエラーを吐いてコンソールが起動しない。これでは手直しも出来ません。
仕方ないので最初から組み直し。
ディスクのフォーマットやRAID1の同期には半日くらいかかりますが、その他の操作は数分で終わるのでいいかなと。使い始めてからエラーになるよりマシだし。
ひょっとするとですが、裸族のカプセルホテルはクーリングがイマイチなのでサーマルプロテクトで何かあったかな?
RaspberryPiのCPU温度が70度近くになっていたので高いなぁ~とは思っていたのでが・・・
試しに外枠を外した状態で再構成をしてます。これで通れば横っ腹に大穴を空けますかね。
#サーバー #RaspberryPi
マウントして使えるところまで設定出来たと思ったのに、再起動したらmdadmがエラーを吐いてコンソールが起動しない。これでは手直しも出来ません。
仕方ないので最初から組み直し。
ディスクのフォーマットやRAID1の同期には半日くらいかかりますが、その他の操作は数分で終わるのでいいかなと。使い始めてからエラーになるよりマシだし。
ひょっとするとですが、裸族のカプセルホテルはクーリングがイマイチなのでサーマルプロテクトで何かあったかな?
RaspberryPiのCPU温度が70度近くになっていたので高いなぁ~とは思っていたのでが・・・
試しに外枠を外した状態で再構成をしてます。これで通れば横っ腹に大穴を空けますかね。
#サーバー #RaspberryPi
RaspberryPiを32bitOSにしてチェックし直しました。何をやっても安定してます。
まだしばらくは32bitOSでいきましょう。
今はRAID1の設定と操作を色々試しています。RAID1を構成するには何かと時間がかかりますが、コマンド操作は少なく待ち時間が長いだけなので、本業が忙しい時には丁度良い作業です。
RAID1をHDD2台で構成していますが、交換手順を試しておかないといけません。PCマザーのSATA直刺しで使うことはありましたが、RaspberryPiに接続した裸族のカプセルホテルでRAID1を使うのは初めてだからです。
ディスクの入れ替えが容易に出来ればRAID1の扱いは一人前と言っていいのかな?
#サーバー #RaspberryPi
まだしばらくは32bitOSでいきましょう。
今はRAID1の設定と操作を色々試しています。RAID1を構成するには何かと時間がかかりますが、コマンド操作は少なく待ち時間が長いだけなので、本業が忙しい時には丁度良い作業です。
RAID1をHDD2台で構成していますが、交換手順を試しておかないといけません。PCマザーのSATA直刺しで使うことはありましたが、RaspberryPiに接続した裸族のカプセルホテルでRAID1を使うのは初めてだからです。
ディスクの入れ替えが容易に出来ればRAID1の扱いは一人前と言っていいのかな?
#サーバー #RaspberryPi
現場の準備が忙しい今日この頃です。
合間に息抜きというか気分転換で少々工作。
裸族のPiはフォーマット(mkfs)が通らない。セクタチェックを入れるとSuperblockの書き込み時点でRaspberryPiが止まってしまいます。入れないと通るので全くダメでもなさそう。
さて何ででしょう。
こんな基本的なことが通らないのは後々トラブルになりそうですからキチンとしたい。
mdadmでソフトウェアRAIDに使っていたHDDを普通モードにしたのでそのせいかもしれません。RAIDの設定値が残って不具合が起こるのはよくあることです。
もう一度gdiskで初期化してからセクタチェックをせずにフォーマットした後、セクタチェックを入れたフォーマットをしています。
ひょっとするとですが、64bitのRasbianを使っていることが原因かもしれません。これまではメモリ容量2GBのRaspberryPiを使っていたので32bitで良かったのですが、4GB以上しか手に入らなくなったのと、時代は64bit化ですから32bitが廃番なると面倒なので64bitにしたのです。ですが、64bitのRasbianは比較的最近stableされた物ですからドライバ周りに不具合があるのかもしれません。
64bitに対応するRaspberryPiは3系、4系、zero2です。私が使う中で対応しないのは初代zeroだけですが、私にとって64bit化するメリットは32bit版の廃番に対する対策しでしかありません。まだ早いのかな?
追記
そういやRaspberryPiは電源電圧が5vをわずかでも下回ると動作が鈍ることがあります。
ネットを見ると64bitOSを使うとこの現象が顕著に出るとか出ないとか。5.25vにすると解決するとかしないとか。
ACアダプタ電源で32bitOSを使って十分な速度で安定していますから、64bitOSは時期尚早と考え、まだしばらく32bitOSを使うのがいいのかもしれません。
簡単に言うならNASサーバーを作っているので、瞬間最大性能より絶対安定性能が重要ですしね。
#サーバー #RaspberryPi
合間に息抜きというか気分転換で少々工作。
裸族のPiはフォーマット(mkfs)が通らない。セクタチェックを入れるとSuperblockの書き込み時点でRaspberryPiが止まってしまいます。入れないと通るので全くダメでもなさそう。
さて何ででしょう。
こんな基本的なことが通らないのは後々トラブルになりそうですからキチンとしたい。
mdadmでソフトウェアRAIDに使っていたHDDを普通モードにしたのでそのせいかもしれません。RAIDの設定値が残って不具合が起こるのはよくあることです。
もう一度gdiskで初期化してからセクタチェックをせずにフォーマットした後、セクタチェックを入れたフォーマットをしています。
ひょっとするとですが、64bitのRasbianを使っていることが原因かもしれません。これまではメモリ容量2GBのRaspberryPiを使っていたので32bitで良かったのですが、4GB以上しか手に入らなくなったのと、時代は64bit化ですから32bitが廃番なると面倒なので64bitにしたのです。ですが、64bitのRasbianは比較的最近stableされた物ですからドライバ周りに不具合があるのかもしれません。
64bitに対応するRaspberryPiは3系、4系、zero2です。私が使う中で対応しないのは初代zeroだけですが、私にとって64bit化するメリットは32bit版の廃番に対する対策しでしかありません。まだ早いのかな?
追記
そういやRaspberryPiは電源電圧が5vをわずかでも下回ると動作が鈍ることがあります。
ネットを見ると64bitOSを使うとこの現象が顕著に出るとか出ないとか。5.25vにすると解決するとかしないとか。
ACアダプタ電源で32bitOSを使って十分な速度で安定していますから、64bitOSは時期尚早と考え、まだしばらく32bitOSを使うのがいいのかもしれません。
簡単に言うならNASサーバーを作っているので、瞬間最大性能より絶対安定性能が重要ですしね。
#サーバー #RaspberryPi
作業部屋があまりに酷い。自分以外の人が見たら単なるゴミ部屋状態で作業がし難い。
とりあえず、分解されている品からボチボチ仕上げることにしました。
まずは、センチュリー社製の「裸族のカプセルホテル」にRaspberryPi4Bを内蔵した「裸族のPi」を1台仕上げました。
RaspberryPi4Bを手に入れるのに難儀しましたが組まないと意味がありません。
動作確認を兼ねてHDDのフォーマット大会をしています。
#ガチ工作 #RaspberryPi
とりあえず、分解されている品からボチボチ仕上げることにしました。
まずは、センチュリー社製の「裸族のカプセルホテル」にRaspberryPi4Bを内蔵した「裸族のPi」を1台仕上げました。
RaspberryPi4Bを手に入れるのに難儀しましたが組まないと意味がありません。
動作確認を兼ねてHDDのフォーマット大会をしています。
#ガチ工作 #RaspberryPi
RaspberryPiのハードウェアI2Cをマスタにしてどうにかならないかと考えてみました。
BFで送受信の終了を監視し、SSPIF(ACKの終了)を監視してCKPをセットすれば良いっちゃ良いのだけど、不可能ではないけど面倒くさい処理の典型と化します。
クロックストレッチングを使わなくても(ACKの直後に次の送受信が始まっても)動く様にしておけばよいのはわかっていますが、PICのI2Cはクロックストレッチングが前提の構成(特にスレーブ送信)だし、RaspberryPiに限った問題なのでi2c-gpioを使ってクロックストレッチングを用いた方が素直な気がします。i2c-gpioが凄い足かせになるワケでもないようですし。
追記
どうにもモヤモヤするのでクロックストレッチングを使わない方法を考え続けてみました。帰りの車中は考え事に最適です。
条件を整理します。RaspberryPiのI2CがクロックストレッチングをしてくれないのですからPIC側の条件です。
タイミングチャートを読みますと、ACKのクロック(ワードの9クロック目)の立下りで割り込みフラグSSPIFがアクティブになった後、次のワードの最初のクロックの立ち上がりまでに送受信のコンディションを整えられれば何事もなく次のワードが扱えるようです。これはSSPIFで割り込みが発生してから半クロック分の時間が使えるとも言えます。I2Cのビットレートは一意ではありませんが、標準的なビットレートである100kbpsに限って考えるなら半クロックは5usec。32MHz動作のPICなら40命令ステップに相当する時間です。
PICは割り込みの入りと出にパイプラインロスが発生するのでそれぞれ1命令ステップが消費され、I2CのクロックとPICの動作クロックは同期していないし信号の立ち上がり立下り時間もあるので2命令ステップくらいの誤差は起こりえます。となると実処理のために使える命令ステップ数は最大で36程度です。
ザックリと考えるならSSPIFで割り込みに入ってから30命令ステップ以内に送受信コンディションを整えて割り込みから抜ければよいのでは?となる。
30命令ステップあれば書き込み(RaspberryPi→PIC)は間に合いそうです。
I2Cは1フェーズ内では読み出しか書き込みかどちらかしか出来ませんので、Pythonの読み出しコマンド(PIC→RaspberryPi)はI2Cにおいて2フェーズ(1つ目のフェーズでコマンドや読み出すアドレスを書き込み、2つ目のフェーズでデータを読み出す)で実行されます。すなわち、PICが受け取ったワードをキーに処理して次のワードで即応する必要はありません。受け取るだけ受け取ってから処理をし、次の返信フェーズに備えればいいのです。もし鬼連続でコールされても2つ目の読み出しフェーズでデバイスアドレスを送受信する時間は返信データを作るのに使えます。1ワードは9bit分ですから100kbpsなら720usecです。足りる足りないではなくこの時間で済むように作ればいいのです。つか、PICにとっては5,760命令ステップに相当する時間です。私はPIC16をアセンブラで書きますが、5000ステップ以上の処理など書きたくもない・・・。
割り込みベクタが一つしかないPIC16系で多重割り込みをするとI2Cのタイミングを外す可能性があります。他の処理はポーリングとなりますが、DMX512の送受信や位相制御のトリガー処理もポーリングで十分間に合っているので問題ないっしょ。むしろPIC1個にそんな沢山の仕事させるなってね(笑
あれ?クロックストレッチングを使わないで組めそうな気がしてきた。
なんのことやらオレメモ暴走独り言ですみません。
#RaspberryPi #電子工作
BFで送受信の終了を監視し、SSPIF(ACKの終了)を監視してCKPをセットすれば良いっちゃ良いのだけど、不可能ではないけど面倒くさい処理の典型と化します。
クロックストレッチングを使わなくても(ACKの直後に次の送受信が始まっても)動く様にしておけばよいのはわかっていますが、PICのI2Cはクロックストレッチングが前提の構成(特にスレーブ送信)だし、RaspberryPiに限った問題なのでi2c-gpioを使ってクロックストレッチングを用いた方が素直な気がします。i2c-gpioが凄い足かせになるワケでもないようですし。
追記
どうにもモヤモヤするのでクロックストレッチングを使わない方法を考え続けてみました。帰りの車中は考え事に最適です。
条件を整理します。RaspberryPiのI2CがクロックストレッチングをしてくれないのですからPIC側の条件です。
タイミングチャートを読みますと、ACKのクロック(ワードの9クロック目)の立下りで割り込みフラグSSPIFがアクティブになった後、次のワードの最初のクロックの立ち上がりまでに送受信のコンディションを整えられれば何事もなく次のワードが扱えるようです。これはSSPIFで割り込みが発生してから半クロック分の時間が使えるとも言えます。I2Cのビットレートは一意ではありませんが、標準的なビットレートである100kbpsに限って考えるなら半クロックは5usec。32MHz動作のPICなら40命令ステップに相当する時間です。
PICは割り込みの入りと出にパイプラインロスが発生するのでそれぞれ1命令ステップが消費され、I2CのクロックとPICの動作クロックは同期していないし信号の立ち上がり立下り時間もあるので2命令ステップくらいの誤差は起こりえます。となると実処理のために使える命令ステップ数は最大で36程度です。
ザックリと考えるならSSPIFで割り込みに入ってから30命令ステップ以内に送受信コンディションを整えて割り込みから抜ければよいのでは?となる。
30命令ステップあれば書き込み(RaspberryPi→PIC)は間に合いそうです。
I2Cは1フェーズ内では読み出しか書き込みかどちらかしか出来ませんので、Pythonの読み出しコマンド(PIC→RaspberryPi)はI2Cにおいて2フェーズ(1つ目のフェーズでコマンドや読み出すアドレスを書き込み、2つ目のフェーズでデータを読み出す)で実行されます。すなわち、PICが受け取ったワードをキーに処理して次のワードで即応する必要はありません。受け取るだけ受け取ってから処理をし、次の返信フェーズに備えればいいのです。もし鬼連続でコールされても2つ目の読み出しフェーズでデバイスアドレスを送受信する時間は返信データを作るのに使えます。1ワードは9bit分ですから100kbpsなら720usecです。足りる足りないではなくこの時間で済むように作ればいいのです。つか、PICにとっては5,760命令ステップに相当する時間です。私はPIC16をアセンブラで書きますが、5000ステップ以上の処理など書きたくもない・・・。
割り込みベクタが一つしかないPIC16系で多重割り込みをするとI2Cのタイミングを外す可能性があります。他の処理はポーリングとなりますが、DMX512の送受信や位相制御のトリガー処理もポーリングで十分間に合っているので問題ないっしょ。むしろPIC1個にそんな沢山の仕事させるなってね(笑
あれ?クロックストレッチングを使わないで組めそうな気がしてきた。
なんのことやらオレメモ暴走独り言ですみません。
#RaspberryPi #電子工作
クロックストレッチングについて改めて調べましたが、最新のRaspberryPiで治っている情報はありません。
2022年7月現在、Broadcom社製のBCMシリーズを使ったRaspberryPiは総じてダメなようで、ソフトウェアデバイスであるi2c-gpioを使うのが有効な対策だと思います。
もちろん、ハードウェアデバイスに比べたらCPUに負担がかかるので、CPU負荷が多いシステムやI2Cメモリなどの扱うデータ量が多いデバイスでの使用は避けるべきかもしれません。
あくまで、扱いデータ量が比較的少なく多少の遅延が発生しても支障がない機内通信で使うのがよいと思われます(I2Cはそもそもそういうモノらしいですけど)。
今回はPICをインターフェースとして用い、パラレルバスのLCDキャラクタディスプレイ(SC1602やSC2004を用いた製品)をI2Cで接続しANSIエスケープシーケンスっぽいASCII文字列で制御できるシステムを目指します。
もちろん、UART(シリアル)でも動く様に考えます。8PのDIPスイッチを取り付け、1PでI2C/UARTを選択し、残りの7PでI2CのアドレスやUARTのビットレートを設定できる様にすれば汎用性が高まるでしょう。
#RaspberryPi #電子工作
2022年7月現在、Broadcom社製のBCMシリーズを使ったRaspberryPiは総じてダメなようで、ソフトウェアデバイスであるi2c-gpioを使うのが有効な対策だと思います。
もちろん、ハードウェアデバイスに比べたらCPUに負担がかかるので、CPU負荷が多いシステムやI2Cメモリなどの扱うデータ量が多いデバイスでの使用は避けるべきかもしれません。
あくまで、扱いデータ量が比較的少なく多少の遅延が発生しても支障がない機内通信で使うのがよいと思われます(I2Cはそもそもそういうモノらしいですけど)。
今回はPICをインターフェースとして用い、パラレルバスのLCDキャラクタディスプレイ(SC1602やSC2004を用いた製品)をI2Cで接続しANSIエスケープシーケンスっぽいASCII文字列で制御できるシステムを目指します。
もちろん、UART(シリアル)でも動く様に考えます。8PのDIPスイッチを取り付け、1PでI2C/UARTを選択し、残りの7PでI2CのアドレスやUARTのビットレートを設定できる様にすれば汎用性が高まるでしょう。
#RaspberryPi #電子工作
ちょいと調べたところ、RaspberryPiのI2Cにはバグがあってクロックストレッチングが機能しないとか・・・マジかい!?
確かに、クロックストレッチングを多用すると噂のジャイロセンサBMX055を扱った時に数値が変だったりしたかも。
i2c-gpioと呼ばれるソフトウェアI2Cを使えばクロックストレッチングが機能するとのことですが、こんな大事な機能にバグがあるとは困ります。
クロックストレッチングを使わなくても機能する様にPIC側を作ればいいか。100kbpsならACKの間に10usecありますから、割り込みを使い5usec程度で処理すれば大丈夫と言えば大丈夫です。複雑な返信はしませんしね。
#電子工作 #RaspberryPi
確かに、クロックストレッチングを多用すると噂のジャイロセンサBMX055を扱った時に数値が変だったりしたかも。
i2c-gpioと呼ばれるソフトウェアI2Cを使えばクロックストレッチングが機能するとのことですが、こんな大事な機能にバグがあるとは困ります。
クロックストレッチングを使わなくても機能する様にPIC側を作ればいいか。100kbpsならACKの間に10usecありますから、割り込みを使い5usec程度で処理すれば大丈夫と言えば大丈夫です。複雑な返信はしませんしね。
#電子工作 #RaspberryPi
先日、千石電商さんでRaspberryPi4Bが買えると書きましたが、数日経った今でも4GBモデルは在庫があるようです。
8GBモデルは完売していますが、私は2GBモデルでも十分なので4GBモデルを買えるなら欲しいところです。
お一人様1個の条件ですが、以前のオーダーから数日経過していますので、試しにもう1個頼んでみたところ通ったようです。カード決済まで済んでからダメとはならないでしょう。
買占め・転売が目的ではありませんが、使いたい数を買えるなら買っておきます。
追記
約3時間後にもう一回オーダーしたところ通ったようです。受注確認のメールも来ましたので大丈夫かな?
欲しい数にはまだ足りませんが、同類達も不自由していることですから乱発はやめておきましょう。
せめて1日に1回かな。
さらに追記
1日に2回はダメでした。丁寧なお断りメールがやってきました。
今日の1回目は先週頼んだ現品が届いた後でした。商いが終了した後の追加は可能なのかもしれません。
#RaspberryPi
8GBモデルは完売していますが、私は2GBモデルでも十分なので4GBモデルを買えるなら欲しいところです。
お一人様1個の条件ですが、以前のオーダーから数日経過していますので、試しにもう1個頼んでみたところ通ったようです。カード決済まで済んでからダメとはならないでしょう。
買占め・転売が目的ではありませんが、使いたい数を買えるなら買っておきます。
追記
約3時間後にもう一回オーダーしたところ通ったようです。受注確認のメールも来ましたので大丈夫かな?
欲しい数にはまだ足りませんが、同類達も不自由していることですから乱発はやめておきましょう。
せめて1日に1回かな。
さらに追記
1日に2回はダメでした。丁寧なお断りメールがやってきました。
今日の1回目は先週頼んだ現品が届いた後でした。商いが終了した後の追加は可能なのかもしれません。
#RaspberryPi