やたら遠回りしながらraspberrypi b+でvolumioを動かした話

## 環境
ノートPC: ubuntu 15.04
volumio: Volumio1.55PI.img 
ハード: raspberry pi b+ with GW-USNANO2A

# 動機
Volumioを[ガイド][Volumio]通りにインストールしたい。
しかし有線LAN環境がない(WiMAXのモバイルルータ)ので、LANケーブル直結で即接続というわけにもいかず。volumioをLANに繋ぐためにはraspiのコンソールをいじってやらねばならない。
しかしHDMIケーブルがないので、できればノートPCとraspiをLANケーブル直結してどうにかしたい。

# 方策
一旦telnetやらsshやらコンソールにアクセス。
その後無線LANに接続できるようにVolumioのlinuxの設定を書き換える

## やってみた
linuxのノートPCとraspi間でLANケーブル直結。
`http://volumio.local/`にアクセスするもつながらない。avahi-daemonはちゃんと入ってるのになぜ？

ネットワークド素人としては何をしていいやら。とりあえずifconfigしてみる

```
$ ifconfig
eth0  Link encap:イーサネット ハードウェアアドレス co:ff:ee:ee:ee:ee
      inet6アドレス: fe80::dead:beaf/64 範囲:リンク
      (後略)
```

なんかそもそもIPv4アドレスがないめう… 
`$ping6 fe80::dead:beaf -I eth0` すると通る。
じゃあ、ってんで`$telnet fe80::dead:beaf%eth0`とか`$ssh volumio@fe80::dead:beaf%eth0`すると`Connection refused.`
[volumio公式FAQ][FAQ and the answers for it : Help - Volumio]によればsshはデフォで通じるはずなんだけど…

## IPv4アドレスをあげよう
[Raspi公式][Use your desktop or laptop screen and keyboard with your Pi - Raspberry Pi]で紹介されてる[記事][Guide To…Direct Network Connection | Meltwater's Raspberry Pi Hardware]を参考にraspiのブート領域にある設定ファイルを書き換えて、IPv4アドレスを主張してもらう。

```cmdline.txt
force_turbo=1 dwc_otg.lpm_enable=0 console=ttyAMA0,115200
kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p3 elevator=noop
rootfstype=ext4 rootwait smsc95xx.turbo_mode=N ip=169.254.0.2
```

169.254.x.xってIPは[リンクローカルアドレス][リンクローカルアドレス]という特別なものらしい。
このraspiに接続するノーパソはWiMAXのネットワークにも参加してるので、そこのDHCPと干渉しないためにもこのアドレス帯を採用。

## 再確認
```
$ ifconfig
eth0  Link encap:イーサネット ハードウェアアドレス co:ff:ee:ee:ee:ee
      inet6アドレス: fe80::dead:beaf/64 範囲:リンク
      (後略)
```

キレそう。
当然 http://volumio.local/ にもつながらない。

# 公式ヘルプ確認
どうやら[これ][Volumio for Raspberry PI B+ - Volumio]が原因ではないかという感じ。しかしこれを対策するにはraspiのコンソールにLAN抜きでアクセスしないといけない。やはりHDMIケーブルが必要か…ぐぬぬ

# 負けた
HDMIケーブルを買ってきてモニタ出力。これで勝ったも同然、とおもいきやここから結構面倒だった。

## りーどおんりー
aptを使うために無線LAN設定しよ、と思ったらなんかreadonlyとか抜かしやがる。どこもかしこもreadonlyのようなので `$ mount -o remount,rw /` して再起動。

## 無線設定
```/etc/network/interfaces.conf
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
```

## 無線叩き起こし
ここで`$ sudo iwlist scan`すると`No scan result`。`ifconfig`結果をよく見ると`wlan0`がいない。そういや再起動してないからauto設定しただけじゃん。
`$ sudo ifconfig wlan0 up`で`wlan0`をたたき起こして`$ sudo iwconfig wlan0 essid (SSID) key s:(password)`で接続成功。

## 設定の保存
```sh
$ su # default root pass: volumio
% wpa_passphrase "接続先のSSID" "接続先のパスワード" >> /etc/wpa_supplicant/wpa_supplicant.conf
% vi /etc/wpa_supplicant/wpa_supplicant.conf
```

```/etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
        ssid="(接続先のSSID)"
        #psk="(パスワード)"
        psk=(数字とアルファベットの羅列)
        scan_ssid=1 # ここ追記
}

```

# 確認
`% reboot`
再起動ログを読むとeth0からDHCPしようとしばらく頑張ったあとwlan0からDHCPして見事につながってくれる。この待ち時間が嫌ならeth0の設定コメントアウトすりゃいいんだろうけどノーパソもつなぎたいから残しとく。

`% apt-get update && apt-get upgrade && rpi-config `して`% reboot`したらようやっとvolumio鯖として起動を確認~~！よかった~~。
ちなみにapt-get upgradeは死ぬほど時間かかる上にちょいちょい対話的入力を求められるので昼寝やコーヒーをはさみながらやると吉。

ssh接続もavahiやvonjour環境から`$ssh volumio@volumio`するだけのお手軽。
あとはユーザ消すなりpass変えるなり公開鍵置くなりこころの赴くままサーバ設定をすればよろし。

#参考ページ
[Get Started - Volumio][Volumio]
[FAQ and the answers for it : Help - Volumio][FAQ and the answers for it : Help - Volumio]
[Use your desktop or laptop screen and keyboard with your Pi - Raspberry Pi][Use your desktop or laptop screen and keyboard with your Pi - Raspberry Pi]
[Guide To…Direct Network Connection | Meltwater's Raspberry Pi Hardware][Guide To…Direct Network Connection | Meltwater's Raspberry Pi Hardware]
[リンクローカルアドレスとは｜169.254.xxx.xxx｜link local address - 意味/解説/説明/定義 ： IT用語辞典][リンクローカルアドレス]
[Volumio for Raspberry PI B+ - Volumio][Volumio for Raspberry PI B+ - Volumio]
[mount - How do I remount a filesystem as read/write? - Ask Ubuntu](http://askubuntu.com/questions/175739/how-do-i-remount-a-filesystem-as-read-write "mount - How do I remount a filesystem as read/write? - Ask Ubuntu")
[command line - 'iwlist' -&gt; interface doesn't support scanning (Ubuntu LTS 10.04) - Unix &amp; Linux Stack Exchange](http://unix.stackexchange.com/questions/45338/iwlist-interface-doesnt-support-scanning-ubuntu-lts-10-04 "command line - 'iwlist' -&gt; interface doesn't support scanning (Ubuntu LTS 10.04) - Unix &amp; Linux Stack Exchange")
[Raspberry PiをWiMAXを使ってネット接続する - ysdyt.net for tech memo](http://ysdyt.github.io/blog/2015/03/28/raspi-wifi-setting/ "Raspberry PiをWiMAXを使ってネット接続する - ysdyt.net for tech memo")
[wireless - Wifi - bring wlan0 up on boot - Raspberry Pi Stack Exchange](http://raspberrypi.stackexchange.com/questions/3200/wifi-bring-wlan0-up-on-boot "wireless - Wifi - bring wlan0 up on boot - Raspberry Pi Stack Exchange")

<!-- links -->
[Volumio]:https://volumio.org/get-started
[FAQ and the answers for it : Help - Volumio]:https://volumio.org/forum/faq-and-the-answers-for-t1545.html
[Use your desktop or laptop screen and keyboard with your Pi - Raspberry Pi]:https://www.raspberrypi.org/blog/use-your-desktop-or-laptop-screen-and-keyboard-with-your-pi/
[Guide To…Direct Network Connection | Meltwater's Raspberry Pi Hardware]:https://pihw.wordpress.com/guides/direct-network-connection/
[リンクローカルアドレス]:http://e-words.jp/w/%E3%83%AA%E3%83%B3%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9.html
[Volumio for Raspberry PI B+ - Volumio]:https://volumio.org/volumio-raspberry-pi-b-plus/