やまちゃんのオーディオブログ

真空管アンプ、最近は資金調達のためのFX,MetaTrader4ネタもやっています。

ラズベリーパイB

ラズベリーパイ LANクロスケーブル接続を外部ネットへ ネットワークブリッジ 接続トラブル

投稿日:2016年4月6日 更新日:

ラズベリーパイとPCとを直接つないで、かつ、ラズベリーパイを外部ネットワークにつなぐ方法
トラブル対策

ラズベリーパイには、私はvolumioを入れたが、基本はリナックスなので、リナックスベースのプログラムをコマンドラインで操作できる。
リナックスでは、SSHという方法でPCからログインするのが一般的なようだが、
なかなか接続を確立できなかった。

当初は、シリアル接続、スイッチングアダプタなどいろいろやったが・・・
結局わかったのは、シリアル接続は、GPIOピンで外れやすく接続不安定で見栄えもよくないので、
LANのクロスケーブルを使い(普通のケーブルでもよいのかもしれないが)
PCのアドレスと、ラズベリーパイのIPの、上3ケタをきっちり合わせること!!!これが特に重要です。
PC側では、コマンドプロンプトで、ipcofigというコマンドを打ち込み、IPV4と書かれている部分のアドレスを見ます。
ラズベリーパイ側では、このサイトをご覧になっている方は、接続を確立できていない方が多いでしょうから、そもそもSSHのログインが困難なので、ラズベリーパイにHDMI端子⇔DVI端子変換ケーブル(アマゾン)を使って、パソコンのディスプレイに表示させ、または、HDMI端子ケーブル(324円、ダイソー)で、テレビにつなぎ入力切り替えをします。
そして、usbキーボードを接続し、
root@volumio:~#のコマンドプロンプトの状態で、「ifconfig」と打ち込みエンターを押します。
そのうち、inet addrという項目を確認してください。
inet addr:192.168.10.xxとある場合には、上3桁が全く違いますから、接続しようがありません。

<2018.3.24 追加>
この時に、後述のクロスLAN接続をする場合には、まず、PCを立ち上げて、クロスLANケーブルを接続してからにしてください。そうでないと、”inet addr:192.168.”という項目が出てきません。

この部分が、169.254.0.xxとなっている場合には、ラズベリーパイ側も、169.254.0.yyとなっていないと、接続しようがありません。
ここで、169.254.0.xxというのは、有線のクロスケーブルLAN接続で、PCが勝手に決めるIPアドレスになります。ネットでよく説明されているようにラズベリーパイの固定アドレスを設定しても、それだけではPC側が192.168.10.yyというアドレスを設定してくれるわけではなく、接続できません。
そこで、どうするのか、説明していきます。

前述のとおり、上3ケタを合わせて、TeraTarmというソフトで、ログインすれば結構簡単につながります。
それを確認するには、ラズベリーパイ単体でコマンドプロンプトの状態で、「ifconfig」と打ち込みエンターを押し、上記inet addr:192.168.10.xxというのを探します(下2つのアドレスは異なる場合があります)そして、ウィンドウズPC側で、コントロール パネル→ネットワークとインターネット→ネットワーク接続
を押すと、無線LANをお使いの方は、「ワイヤレスネットワーク」とともに、「ローカルエリア接続」という項目があり、そのローカルエリア接続というのをダブルクリックすると、その中に1pv4という項目があるので、ダブルクリックします。その中の「次のIPアドレスを使う」にPCでローカルエリア接続で使うIPアドレスを直打ちして、固定します。そうすると、上3ケタを合わせることが出来るので、少なくとも、PC単体とラズベリーパイどうしを接続できます。
これで、とりあえず、SSHは起動できるようになります。
次に、ラズベリーパイ側のIPアドレスも固定します。「ラズベリーパイ IPアドレス 固定」として検索してください。

(<2018.3.24 追記>
以下の記述は、すでに古くなっています。
sudo nano /etc/network/interfacesではなくて、別のところで、設定するようになっています。
詳しくは、ネット検索してみてください。ただし、192.168.x.のところを一致させるということは普遍的です。

sudo nano /etc/network/interfaces
をコマンドプロンプトで打ち込んで、エンターを押すと、interfacesの編集が出来るので、
addressと、netmaskの項目を編集します。
なお、TeraTermでは、右クリックでペーストとなります。
編集内容の例は以下の通りです。
「auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.x.y
netmask 255.255.255.0
gateway 192.168.x.1

他の書物によれば、そのnetmaskの項目の後ろに、いろいろ書いてあるかもしれませんが、ラズベリーパイに直接無線LANを接続した場合の無線LANのSSIDの設定だったりして、書くと致命的エラーとなり立ち上がらなかった経験があるのでよくわかっていない方は書かない方が無難です。
192.168.xは、家庭内無線LANの内部IPアドレスの上3ケタと一致させます。その方が後述のネットワークブリッジをする場合に有利です。yという番号は、家庭内無線LANで使っていないIPアドレスを適当に割り当てます。ここで、他のサイトでは、MACアドレスを設定しているかもしれませんが、無理にMacアドレスを設定しなくても、十分に接続できます。その編集が終わったらコントロール+O、コントロール+xで編集を終えます。
<追記2016/4/18:gatewayという記述を忘れていました。これがないと後述のpingでやっても一応反応するが、「connect: Network is unreachable」というエラーが生じて、パソコンのLANを超えて、外界へ接続することができず、updateなどをダウンロードなどできません(「DesignAssembler備忘録に近い
」というサイトを参照)。>

このIPアドレスの固定の設定をした場合には、ネットワークを立ち上げなおします。
sudo /etc/init.d/networking restart
改めて
ifconfigと打ち込み、
ipアドレスを確認します。

<2018.3.24 追記>
pcとのクロスLANケーブル接続の場合、ipアドレスを固定したとしても、PCを先に立ち上げてクロス接続をしておかないと、ifconfigをしても、自己のアドレスがきちんと表示されませんし、pigコマンドを打ち込んでも、到達できません。これで結構悩みました。まず、PCを先に立ち上げて、クロスLANケーブルを接続したうえで、ラズベリーパイを立ち上げてください。

そのアドレスに合わせて、上記ipv4を修正します。
これで、とりあえず、PCと、ラズベリーパイをSSHで接続できるようになりました。これはかなり苦労したので感動しましたね。

しかし、本に載っているような高機能を実現するには、外部ネットに接続し、ラズベリーパイのコマンドラインからツールをダウンロードしなければなりません。このままでは、ラズベリーパイの通信は、PCを超えて外界のネットワークに接続できません。
そこで、「ラズベリーパイ ネットワークブリッジ」というのでウェブを検索してください。
コントロール パネル\ネットワークとインターネット\ネットワーク接続のところで
、「ワイヤレスネットワーク」とともに、「ローカルエリア接続」を、シフトを押しながら両方選択して、右クリックを押すと、「ブリッジ」という項目が出てきますから、これをクリックすると、「ブリッジ接続」という項目が出来上がります。
実際には、これだけでは、動かなくて苦労しました。

<2018.3.24 以下の設定も古くなっているかもしれません。>
「Beyond Life」というサイトの、「Windowsブリッジ接続でラズパイ2をネットにつなぐ 」という記事の「resolv.conf 編集」という項目が特に役に立ちました。ありがとうございます!
後は、それに従わせていただくだけなのですが、
「sudo vim /etc/resolvconf/resolv.conf.d/base」というコマンドを打ちます。
vimは、プロ御用達の難解なエディタなので、vimを「nano」に置き換えます。
sudo nano /etc/resolvconf/resolv.conf.d/baseを打ち込んで、
空のファイルが開くので、
nameserver 192.168.x.y
を入力し、セーブします。
ここで、x,yは数字で、「192.168.x.y」は、無線ルーターのIPアドレスと合わせます。
これが合っていないと、ラズベリーパイは、PCの外界ネットワークへ出られません。
次に、sudo vim /etc/resolv.confを開き、
ここでも、上記「nameserver 192.168.x.y」を加え、セーブします。
上記sudo /etc/init.d/networking restartrebootにより、ネットワークシステムを立ち上げなおし、
dig google.co.jpで反応があるかを見たり、sudo apt-get updateできちんとアップデートできるかを確認します。
やっと、手元にラズベリーパイを置いて、ソフトをダウンロードしたり、できるようになりました。
<2018.3.24 追記>
クロス接続+ブリッジ接続の場合、結構頻繁にLANが途切れます。ラズパイ+PCセットの通信回線となっているので、ラズパイが停止してしまったのちは、PCでのネット検索も停止する傾向にあります。PCだけを使っている場合、ラズパイは停止していますから、PCでのネット検索も停止する傾向にあります。ネット設定をいじったり、ラズパイにキーボードを接続して、復帰させたりして、ごにょごにょやっているうちに復帰したりします。近いところに、回線のルーターがあるならそちらに接続したほうが、安定します。

ちなみに、外界へ接続するのですから、パスワードはきっちり変えてください。
sdo su
passwd
とし、変更後のパスワードを2回打ち込みます(それぞれエンターを押す。)。(「ラズベリーパイでI/O」という本p72参照)。

-ラズベリーパイB

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

no image

ラズベリーパイのi2s外部クロック、ついに動作確認

やりました! とうとうやりました。 PLLではなく、外部クロックでラズベリーパイを鳴らせることができました! bckも外部クロックで駆動しています。 使ったクロックは、キョーセラの7050k(22.5 …

no image

ラズベリーパイのi2s外部クロック、その後3-2(2018年度版)

11 カーネルソースの編集 編集すべきは、以下の3つ。 (1) rpi-dac.c  (snd_soc_rpi_dac) (2) bcm2835-i2s.c (snd_soc_bcm2835_i2s) …

no image

コマンドラインで動く、汎用i2sハイレゾモジュールの作り方(これまでのまとめ)。 (How to make a general i2s hi-resolution play-module with external bck clock using command-line on raspberry pi. And you can use gpio for operation)

これまでののうち、コマンドをまとめました。 <2018.4.28 追記 以下は、24ピンのラズパイBノーマルバージョンかつ当時のカーネルを使うことが前提になります。 今のカーネルには、bcm2708- …

no image

ラズベリーパイのi2s外部クロック、その後7(2018年度版)

過去記事では、ラズパイ2のi2s方式での音楽再生について、ラズパイ側がクロックスレーブとなる形式(ラズパイの外部からクロックを供給する形式)で再生するためのi2sのドライバーの改造方法、FPGAを用い …

no image

ラズベリーパイのi2s外部クロック、その後8(2018年度版)

やっと、外部クロックで、ラズパイを動かすことができました!!! ラズパイからは、GPIOでサンプリング周波数を指示し、これに基づいて、外部ボードであるde0-socが周波数を切り替え、マスタークロック …

[最近の記事]
2016年4月
 12
3456789
10111213141516
17181920212223
24252627282930