goo blog サービス終了のお知らせ 

Stingray's ブログ

米作りと趣味の電子工作

RaspberryとDAC 8

2014-11-19 23:15:57 | Linux

やっとできた。Volumioに wifi-USB を付けようと2~3日試行錯誤中だったのだ。使ったwifiモジュールはバッファローのWLI-UC-GNと言うもの。

Volumioが立ち上がった状態でWLI-UC-GNを挿しても、何故かなにも起こらない。kernelモジュールがロードされないのだ。仕方ないので、挿した状態で再起動してみると「rt2800usb」とこれに付随するモジュールがロードされる。これなら使えるはずだと試行錯誤を開始したが上手く行かないのだ。


上手く行かない例
root@volumio:~# iwconfig wlan0 essid 106F3F3C800C key s:XXXXXXXXXXXXX(暗号化キー)
root@volumio:~# ip link set wlan0 up
root@volumio:~# ifconfig wlan0 192.168.11.201 up

あれこれ考えたあげく、「Raspbian」OS を入れたSDカードがあることを思い出した。(早く思い出せばよいのだが..)RaspbianではX-windowの起動が可能なのでGUIでwifiの設定ができるし、確か使っていた。
なのでSDカードをUbuntuにマウントして、/etc 以下の設定ファイルを調べることにした。

その結果、次の2ファイルに設定を追加すれば良さそうだと分かった。

ファイル名:/etc/network/interfaces

auto lo
iface lo inet loopback

#auto eth0  ← 起動が遅くなるのでコメントアウトした。
#iface eth0 inet dhcp  ← 同上。

allow-hotplug wlan0  ← ここから追加した。
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet static
address 192.168.11.201
network 192.168.11.0
netmask 255.255.255.0
broadcast 192.168.11.255
gateway 192.168.11.1
dns-nameserver 218.153.1.1


ファイル名:/etc/wpa_supplicant/wpa_supplicant.conf (新規作成)

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid="106F3F3C800C"  ← SSID
psk="XXXXXXXXXXXXX"  ← 暗号化キー
proto=RSN
key_mgmt=WPA-PSK  ← 認証方式
pairwise=TKIP    ← 暗号化モード
auth_alg=OPEN
}

これらのファイルを修正・追加後、再起動するとwifiリンクされる。ケーブルが一本減るので使いやすくなる。

volumio@volumio:~$ sudo ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:63932 errors:0 dropped:0 overruns:0 frame:0
TX packets:63932 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8917063 (8.5 MiB) TX bytes:8917063 (8.5 MiB)

wlan0 Link encap:Ethernet HWaddr 00:24:a5:76:d4:b2
inet addr:192.168.11.201 Bcast:192.168.11.255 Mask:255.255.255.0
inet6 addr: 2408:c0:7fff:64d:224:a5ff:fe76:d4b2/64 Scope:Global
inet6 addr: fe80::224:a5ff:fe76:d4b2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8498 errors:0 dropped:1 overruns:0 frame:0
TX packets:1541 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1325302 (1.2 MiB) TX bytes:464285 (453.4 KiB)

volumio@volumio:~$ sudo iwconfig wlan0
wlan0 IEEE 802.11bgn ESSID:"106F3F3C800C"
Mode:Managed Frequency:2.412 GHz Access Point: 16:6F:3F:3C:80:0C
Bit Rate=54 Mb/s Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Link Quality=47/70 Signal level=-63 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:1 Invalid misc:304 Missed beacon:0

volumio@volumio:~$ lsmod
Module Size Used by
nfsd 243497 2
ipv6 304050 32
snd_soc_hifiberry_dac 2075 0
snd_soc_pcm5102a 1378 1
bcm2708_dmaengine 5108 1
virt_dma 2273 1 bcm2708_dmaengine
snd_soc_pcm512x 8913 0
snd_soc_wm8804 7821 0
arc4 1683 2
snd_soc_bcm2708_i2s 5474 2
regmap_mmio 2806 1 snd_soc_bcm2708_i2s
rt2800usb 16832 0
snd_soc_core 131292 5 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_hifiberry_dac,snd_soc_pcm5102a,snd_soc_bcm2708_i2s
rt2800lib 67495 1 rt2800usb
snd_compress 8060 1 snd_soc_core
rt2x00usb 11488 1 rt2800usb
regmap_i2c 1645 3 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_core
regmap_spi 1897 3 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_core
rt2x00lib 44267 3 rt2x00usb,rt2800lib,rt2800usb
snd_pcm 81593 3 snd_soc_core,snd_soc_hifiberry_dac
snd_page_alloc 5156 1 snd_pcm
snd_seq 53769 0
snd_seq_device 6473 1 snd_seq
snd_timer 20133 2 snd_pcm,snd_seq
mac80211 315860 3 rt2x00lib,rt2x00usb,rt2800lib
cfg80211 209281 2 mac80211,rt2x00lib
leds_gpio 2059 0
crc_ccitt 1529 1 rt2800lib
led_class 3688 2 leds_gpio,rt2x00lib
rfkill 19134 2 cfg80211
snd 61291 7 snd_soc_core,snd_timer,snd_pcm,snd_seq,snd_seq_device,snd_compress
spi_bcm2708 4728 0
i2c_bcm2708 3997 0
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

RaspberryとDAC 7

2014-11-09 19:52:41 | Linux

SDカードを Transcend SDHC UHS-1 32GB に替えてみる。
仕様的には、200X 30MB/s とある。

Ubuntuでパフォーマンス確認する。

isih@ishi-Pri-Ser:~$ dmesg

[ 89.482055] sd 6:0:0:0: [sdc] 61863936 512-byte logical blocks: (31.6 GB/29.4 GiB)
[ 89.482189] sd 6:0:0:0: [sdc] Cache data unavailable
[ 89.482191] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[ 89.610325] sd 6:0:0:0: [sdc] Cache data unavailable
[ 89.610328] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[ 89.611323] sdc: sdc1

isih@ishi-Pri-Ser:~$ sudo hdparm -t /dev/sdc
[sudo] password for isih:

/dev/sdc:
Timing buffered disk reads: 54 MB in 3.06 seconds = 17.65 MB/sec

「RaspberryとDAC 2と4」の手順で、SDへのイメージを書き込みと空き領域の確保を行った。
その後、volumioを起動して確保した領域はvfatでフォーマットした。
dd コマンドで disk のパフォーマンスを確認してみる。
数値的には、ほとんど変わらないようだ。

volumio@volumio:~$ sudo dd if=/dev/mmcblk0p4 of=tempfile bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.717318 s, 14.6 MB/s
volumio@volumio:~$

再起動が面倒なので手動でマウントする。

volumio@volumio:~$ df -h  ←現在の状態を確認。
Filesystem Size Used Avail Use% Mounted on
rootfs 1.5G 542M 880M 39% /
/dev/root 1.5G 542M 880M 39% /
devtmpfs 235M 0 235M 0% /dev
tmpfs 49M 580K 48M 2% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 256M 0 256M 0% /run/shm
/dev/mmcblk0p1 75M 19M 56M 25% /boot
Ramdisk 256M 0 256M 0% /run/shm
volumio@volumio:~$ sudo mount /mnt/NAS/   ←fstabの記述によりマウントされる。
volumio@volumio:~$ df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 1.5G 542M 880M 39% /
/dev/root 1.5G 542M 880M 39% /
devtmpfs 235M 0 235M 0% /dev
tmpfs 49M 580K 48M 2% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 256M 0 256M 0% /run/shm
/dev/mmcblk0p1 75M 19M 56M 25% /boot
Ramdisk 256M 0 256M 0% /run/shm
/dev/mmcblk0p4 28G 16K 28G 1% /mnt/NAS  ←無事マウントされた。
volumio@volumio:~$

早速、楽曲をコピーして再生してみると、何と音が途切れない。
転送速度の実測値は大きく違わないのだが、その他に何か違いがあるのだろうか?
今まで使っていたものは、安売り(1980円)のSDカードだった。
Transcend も安いのだが有名ブランドだ。 そう、4GBのSDもTranscendだった。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

RaspberryとDAC 6

2014-11-09 13:58:25 | Linux

音が途切れる。volumioを32GBのSDカードへインストールしなおし、/mnt/NAS へ空き領域をマウントした。そして、/mnt/NASへコピーした楽曲を再生すると音が途切れるのだ。/mnt/USB(8GBのUSBメモリ)へコピーした楽曲は全く問題なく再生されるのだが。。


volumio@volumio:~$ df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 1.5G 533M 889M 38% /
/dev/root 1.5G 533M 889M 38% /
devtmpfs 235M 0 235M 0% /dev
tmpfs 49M 592K 48M 2% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda1 7.5G 1.1G 6.4G 15% /mnt/USB ← 8GB USBメモリ
tmpfs 256M 0 256M 0% /run/shm
/dev/mmcblk0p1 75M 19M 56M 25% /boot
/dev/mmcblk0p4 28G 3.5G 24G 14% /mnt/NAS ← SDカードの28GB領域
Ramdisk 256M 0 256M 0% /run/shm
volumio@volumio:~$

しかたなく、「mmcblk0p4」のファイルシステムを「vfat」へ変更してみたのだがやはり音が途切れる。

volumio@volumio:~$ sudo vi /etc/fstab

# /etc/fstab: static file system information.
#
#/dev/mmcblk0p3 /               ext4    noatime,discard,data=writeback,journal_async_commit,nouser_xattr,barrier=0,errors
/dev/mmcblk0p3 / ext4 noatime,nouser_xattr,errors=remount-ro 0 1
/dev/mmcblk0p1 /boot vfat utf8 0 0
/dev/mmcblk0p4 /mnt/NAS vfat utf8 0 0
Ramdisk /run/shm tmpfs defaults,size=256M,noexec,nodev,nosuid 0 0

diskのパフォーマンス的には問題ないと思う

volumio@volumio:~$ sudo dd if=/dev/mmcblk0p4 of=tempfile bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.774918 s, 13.5 MB/s ← 転送速度
volumio@volumio:~$ sudo rm tempfile  ←不要ファイル削除

何かのプロセスに邪魔されているように思えるので、mpd の優先度を上げてみる。

volumio@volumio:~$ ps axl | grep mpd  ←mpd のプロセスIDを調べる。
1 106 2445 1 20 0 88168 9496 SyS_ep Ssl ? 1:57 /usr/bin/mpd /etc/mpd.conf
5 109 2743 1 20 0 72244 1888 futex_ Ssl ? 0:06 /usr/bin/upmpdcli -D -c /etc/upmpdcli.conf
0 1001 3348 2800 20 0 3660 828 pipe_w S+ pts/1 0:00 grep mpd
volumio@volumio:~$ sudo renice -5 2445  ←nice値変更
2445 (process ID) old priority 0, new priority -5
volumio@volumio:~$ ps axl | grep mpd  ←結果確認
1 106 2445 1 15 -5 88168 9496 SyS_ep S 5 109 2743 1 20 0 72244 1888 futex_ Ssl ? 0:06 /usr/bin/upmpdcli -D -c /etc/upmpdcli.conf
0 1001 3362 2800 20 0 3660 828 pipe_w S+ pts/1 0:00 grep mpd
volumio@volumio:~$

音切れの頻度が少なくなるようだが、やはり途切れる。
General music daemon options - Audio buffer size 等は特に設定していない。
USB-DISKへ楽曲入れる本来の使い方をしよう。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

RaspberryとDAC 5

2014-11-03 22:10:37 | Linux
何故か携帯から接続する場合は、「http://volumio.local」では繋がらない。PCはWin7でもLinuxでも問題ないのだが。。。 勿論、携帯もWifiで繋いでいるので同じセグメントにある。本家サイトには「volumio.local」で接続できない場合は、IPアドレスで繋げとある。 それならばと、

isih@ishi-Pri-Ser:~$ ping volumio.local
PING volumio.local (192.168.11.23) 56(84) bytes of data.
64 bytes from 192.168.11.23: icmp_seq=1 ttl=64 time=2.24 ms
64 bytes from 192.168.11.23: icmp_seq=2 ttl=64 time=1.41 ms
^C
--- volumio.local ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 1.084/1.407/2.243/0.435 ms
isih@ishi-Pri-Ser:~$

volumio に DHCP から割り振られたアドレスは 192.168.11.23 と分かった。



何時ものようにミーコは寝ている。バンザイ。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

RaspberryとDAC 4

2014-11-03 00:29:59 | Linux
SDカードの未使用領域を使うためfstabなどを編集したいのだが、物理キーボードとモニタを接続するのは少々面倒だ。 そこで、ssh でログインする。

isih@ishi-Pri-Ser:~$ ssh volumio@volumio.local
volumio@volumio.local's password: ← volumioと入れた。
Linux volumio 3.10.36+ #662 PREEMPT Fri Apr 4 18:31:16 BST 2014 armv6l
 ・
省略
 ・
Volumio Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Nov 2 13:36:19 2014 from ishi-pri-ser.local
volumio@volumio:~$

今のDisk使用状況
volumio@volumio:~$ df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 1.5G 533M 889M 38% /
/dev/root 1.5G 533M 889M 38% /
devtmpfs 235M 0 235M 0% /dev
tmpfs 49M 480K 49M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda1 7.5G 1.1G 6.4G 15% /mnt/USB
tmpfs 256M 0 256M 0% /run/shm
/dev/mmcblk0p1 75M 19M 56M 25% /boot
Ramdisk 256M 0 256M 0% /run/shm

新しいディスク領域を確保する。
volumio@volumio:~$ sudo fdisk /dev/mmcblk0

Command (m for help): p ←現在の領域情報をプリント

Disk /dev/mmcblk0: 3974 MB, 3974103040 bytes
4 heads, 16 sectors/track, 121280 cylinders, total 7761920 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00043284

Device Boot Start End Blocks Id System
/dev/mmcblk0p1 * 2048 155647 76800 b W95 FAT32
/dev/mmcblk0p3 155648 3411967 1628160 83 Linux

Command (m for help): n ←新しい領域を作成
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p ←プライマリ
Partition number (1-4, default 2): 4 ←領域番号4
First sector (3411968-7761919, default 3411968): ←リターンのみ(デフォルト値使用)
Using default value 3411968
Last sector, +sectors or +size{K,M,G} (3411968-7761919, default 7761919): ←リターンのみ
Using default value 7761919

Command (m for help): p ←情報プリント

Disk /dev/mmcblk0: 3974 MB, 3974103040 bytes
4 heads, 16 sectors/track, 121280 cylinders, total 7761920 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00043284

Device Boot Start End Blocks Id System
/dev/mmcblk0p1 * 2048 155647 76800 b W95 FAT32
/dev/mmcblk0p3 155648 3411967 1628160 83 Linux
/dev/mmcblk0p4 3411968 7761919 2174976 83 Linux

Command (m for help): w ←書き込み
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

領域情報を有効にするため再起動する。
volumio@volumio:~$ sudo shutdown -r now

少し待って、再接続する。

isih@ishi-Pri-Ser:~$ ssh volumio@volumio.local
volumio@volumio.local's password: ←volumio

ログインできたら、新しい領域にファイルシステムを作成する。
volumio@volumio:~$ sudo mkfs -t ext4 /dev/mmcblk0p4
mke2fs 1.42.5 (29-Jul-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
136000 inodes, 543744 blocks
27187 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=557842432
17 block groups
32768 blocks per group, 32768 fragments per group
8000 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

fstabを修正する。
volumio@volumio:~$ sudo vi /etc/fstab

# /etc/fstab: static file system information.
#
#/dev/mmcblk0p3 / ext4 noatime,discard,data=writeback,journal_async_commit,nouser_xattr,barrier=0,errors
/dev/mmcblk0p3 / ext4 noatime,nouser_xattr,errors=remount-ro 0 1
/dev/mmcblk0p1 /boot vfat utf8 0 0
Ramdisk /run/shm tmpfs defaults,size=256M,noexec,nodev,nosuid 0 0

上のfstabへ下記の一行を追加する。(volumioのNASへ新しい領域をマウントする記述)
/dev/mmcblk0p4 /mnt/NAS ext4 rw 0 1

もう一度再起動する。
volumio@volumio:~$ sync
volumio@volumio:~$ sudo shutdown -r now

立ち上がった頃に再接続する。
isih@ishi-Pri-Ser:~$ ssh volumio@volumio.local
volumio@volumio.local's password: ←volumio
Linux volumio 3.10.36+ #662 PREEMPT Fri Apr 4 18:31:16 BST 2014 armv6l

Volumio Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Nov 2 13:39:25 2014 from ishi-pri-ser.local

新しい領域がマウントされたか確認する。
volumio@volumio:~$ df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 1.5G 533M 889M 38% /
/dev/root 1.5G 533M 889M 38% /
devtmpfs 235M 0 235M 0% /dev
tmpfs 49M 484K 49M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda1 7.5G 1.1G 6.4G 15% /mnt/USB
tmpfs 256M 0 256M 0% /run/shm
/dev/mmcblk0p1 75M 19M 56M 25% /boot
/dev/mmcblk0p4 2.0G 435M 1.5G 1% /mnt/NAS ←無事にマウントされた。
Ramdisk 256M 0 256M 0% /run/shm
volumio@volumio:~$

後は、エクスプローラからNAS Music へ音楽ファイルをコピーして使用する。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする