きょうのかんぱぱ

デジモノが大好きなかんぱぱの日記です。

タグ「KURO-SHEEVA」が付けられているもの


玄柴(KURO SHEEVA)でボタン電池が液漏れしていた

  • 投稿日:
  • by
  • Category:

久しぶりに玄柴にログインしようとしたら無反応になっていました。リセットスイッチを押したり電源コンセントを抜き差ししても変化なし。コンソールをUSBに接続しても、PCでUSBを認識しない状態になっていました。LEDは青いLEDが消灯しています。普通は点灯するはずですが。
ふたを開けたところ、基板の上に実装されているボタン電池(AG10)が液漏れしていました。

kuro-sheeva-battery01.jpg

kuro-sheeva-battery02.jpg

とりあえず、ピンセットで液漏れした固形物を取り除き、ティッシュと綿棒で端子を掃除しました。

kuro-sheeva-battery03.jpg

新しい電池(LR1130)を買ってきて取り付けてみたものの変化なし。

kuro-sheeva-battery04.jpg

とにかくUSBデバイスとして全く認識してくれないので厳しい状態です。
青いLEDが点灯しないのはどういう状態なのでしょう。ドキュメントを探してみたいと思います。

KURO-SHEEVA(玄柴)でSETI@homeの1WUが終わりました

  • 投稿日:
  • by
  • Category:

KURO-SHEEVA(玄柴)でSETI@homeに参加していますが、ようやく1つのワークユニットがおわりました。


  • 開始日:2010-02-05

  • 終了日:2010-03-12

  • Credit:104


やはり時間がかかりますね。
現在、2つめのワークユニットを黙々と処理中です。

KURO-SHEEVA(玄柴)でGainer互換のPepperを使ってみる

  • 投稿日:
  • by
  • Category:

KURO-SHEEVA(玄柴)にGainer互換のPepperを接続してみました。
参考にしたのはエレキジャックのサポートページです。
「Gainer互換Pepperでフィジカル・コンピューティング」フォローアップ記事(6)
すでにKernelは2.6.32.3に更新済で、cdc_acmドライバは組み込まれているので、PepperをKURO-SHEEVAのUSBに接続すれば認識できるはずです。

まずは、シリアル通信での動作確認を行うためにuucpパッケージをインストールします。

$ sudo apt-get install uucp
続いてuucpが使用するグループに登録します。
$ sudo usermod -G dialout ユーザ名
$ sudo usermod -G uucp ユーザ名
$ groups ユーザ名
ochanet uucp dialout
$

ここで、PepperをKURO-SHEEVAに接続してみます。syslogを確認します。

$ sudo tail /var/log/messages
Mar 20 08:13:40 debian kernel: usb 1-1: new low speed USB device using orion-ehci and address 2
Mar 20 08:13:40 debian kernel: usb 1-1: config 1 interface 1 altsetting 0 endpoint 0x1 is Bulk; changing to Interrupt
Mar 20 08:13:40 debian kernel: usb 1-1: config 1 interface 1 altsetting 0 endpoint 0x81 is Bulk; changing to Interrupt
Mar 20 08:13:40 debian kernel: usb 1-1: configuration #1 chosen from 1 choice
Mar 20 08:13:40 debian kernel: cdc_acm 1-1:1.0: ttyACM0: USB ACM device
Mar 20 08:13:40 debian kernel: usbcore: registered new interface driver cdc_acm
Mar 20 08:13:40 debian kernel: cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters

認識されているようです。
デバイス名はttyACM0とのことなので、パーミッションを確認します。

$ ls -l /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0 Mar 20 08:13 /dev/ttyACM0
$

dialoutグループに登録しているので、アクセスできるはずです。

$ cu -l /dev/ttyACM0
Connected.

接続しました。ここで ?* と入力すると、

$ cu -l /dev/ttyACM0
Connected.
?1.0.0.0,pepper,20090621*

こんな感じでバージョン情報が表示されます。cuから抜ける場合は ~. です。
これで接続確認までは完了しました。
次にPepperを制御するためにRubyをセットアップします。

$ sudo apt-get install ruby
$ sudo apt-get install rubygems1.8

gainerのパッケージがあるのでしょうか?

$ gem search gainer --remote

*** REMOTE GEMS ***

$

無いみたいです。
エレキジャックのページにおいてあるパッケージを持ってきます。

$ wget http://www.eleki-jack.com/FC/2009/12/30/gainer-0.0.2.gem
$ ls -l
total 7
-rw-r--r-- 1 ocha ochanet 7168 Dec 30 09:21 gainer-0.0.2.gem
$ sudo gem install gainer-0.0.2.gem
Successfully installed gainer-0.0.2
1 gem installed

シリアルポートを制御するパッケージも持ってきます。

$ sudo gem install ruby-serialport
Building native extensions. This could take a while...
ERROR: Error installing ruby-serialport:
ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb install ruby-serialport
extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)
from extconf.rb:1


Gem files will remain installed in /var/lib/gems/1.8/gems/ruby-serialport-0.7.0 for inspection.
Results logged to /var/lib/gems/1.8/gems/ruby-serialport-0.7.0/ext/gem_make.out

mkmfが無いとおこられてしまいました。
makeをインストールします。

$ sudo apt-get install make
$

もういちどシリアルポートをインストール

$ sudo gem install ruby-serialport
sudo: unable to resolve host debian
Building native extensions. This could take a while...
Successfully installed ruby-serialport-0.7.0
1 gem installed
Installing ri documentation for ruby-serialport-0.7.0...
Installing RDoc documentation for ruby-serialport-0.7.0...
$

今度は大丈夫です。確認してみます。

$ gem list

*** LOCAL GEMS ***

gainer (0.0.2)
ruby-serialport (0.7.0)
$

早速テストプログラムを流してみます。

$ cat blink.rb
require 'rubygems'
require 'gainer'

gainer = Gainer::Serial.new("/dev/ttyACM0")

flag = true
while true
 gainer.analog_output[0] = (flag == true ? 0xff : 0);
 flag = ! flag
 sleep(0.2)
end
$ ruby blink.rb

Pepperに接続しているLEDが点滅を始めました!
これで開発環境が整いました。

kuro-sheeva-pepper.jpg

KURO-SHEEVA(玄柴)のカーネルを更新しました

  • 投稿日:
  • by
  • Category:

なかなか時間がとれなくてできなかったのですが、KURO-SHEEVA(玄柴)のカーネルを日経Linux 3月号の記事をもとに行ってみました。
mini rootが入ったUSBメモリの書き込みは、MacBook ProのParallels DesktopにインストールしているUbuntu 8.04上で行いました。こちらは特に問題なくUSBメモリにmini rootを書き込むことができました。
続いてそのmini rootの入ったUSBメモリを使って、玄柴を起動です。

kuro-sheeva-kernelupdate.jpg

日経Linuxの記事は良く書けていて、すんなりカーネルの更新ができました。
ただ、記事中の「カーネルモジュールを展開」ではUSBメモリは/dev/sdb1と書かれていますが、私の場合は/dev/sda1でした。

カーネルをアップデートすると2.6.22.18から2.6.32.3になります。
起動メッセージはこんな感じになります。

Starting kernel ...

Uncompressing Linux...................................................................................................................................................................................... done, booting the kernel.
Linux version 2.6.32.3 (yoneda@debian) (gcc version 4.3.2 (Debian 4.3.2-1.1) ) #1 PREEMPT Sun Jan 10 15:45:24 JST 2010
CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Marvell SheevaPlug Reference Board
 :
 :

記事にあるSheevaPlugのユーザが配布しているカーネルですが、もっと新しいものがあるようですので、そのうち最新カーネルにもチャレンジしたいと思います。

日経Linux 2010年 3月号「玄柴」をトコトン使う

  • 投稿日:
  • by
  • Category:

日経Linux 3月号で玄柴の特集があるというので立ち読みしてみました。
記事の内容はなかなか良い内容で、付録DVDに筆者がeSATAの初期化処理を加えてビルドした最新版のカーネルまで入っています。
カーネルのアップデート方法はもちろんFedoraへの変更方法(これもファイルシステムのイメージがDVDに入ってます。)やUSB接続のディスプレイを接続したり、ホームサーバの作りかたなど、記事としては20ページそこそこなのですが、KURO-SHEEVAの楽しみが凝縮されているように感じたので、つい買ってしまいました。
この特集のカバーページの黒い柴犬もかわいいですし・・。
お値段は少ししますが、見かけたらぜひ手に取って読まれてはと思います。

KURO-SHEEVA(玄柴)でSETI@homeに参加する

  • 投稿日:
  • by
  • Category:

動き出したKURO-SHEEVAですが、せっかく常時稼働しているのでBOINCを動かしてSETI@homeに参加してみることにしました。
もし、初めてSETI@homeに参加するのであれば、玄柴で動かす前に他のPCで一度動かしてみることをおすすめします。アカウントの取得などの準備作業もそちらが楽です。
BOINCとかSETI@homeとは何ぞやというのはそちらのページを読んでいただくこととして、まずはBOINC関係のパッケージがあるか確認します。

root@debian:~# apt-cache search boinc
boinc-app-seti - SETI@home application for the BOINC client
boinc-client - core client for the BOINC distributed computing infrastructure
boinc-dbg - debugging symbols for BOINC binaries
boinc-dev - development files to build applications for BOINC projects
boinc-manager - GUI to control and monitor the BOINC core client
kboincspy - monitoring utility for the BOINC client
kboincspy-dev - development files for KBoincSpy plugins

SETI@homeに参加するためには、エンジンとなるboinc-clientとboinc用のSETIアプリが最低限必要になります。早速インストールです。

# apt-get install boinc-client
# apt-get install boinc-app-seti

次にすでに登録しているSETI@homeのアカウントを指定してBOINCクライアントを動かします。

$ boinccmd --host localhost --project_attach http://setiathome.berkeley.edu XXXXXXXXXXXXXXXXXXXXXXXXXXX←アカウントキー(英文字の羅列)

状態をみるのは以下のコマンドです。
$ boinccmd --get_state
======== Projects ========
1) -----------
name: SETI@home
master URL: http://setiathome.berkeley.edu/
user_name: ocha
team_name: KUR0-BOX
resource share: 100.000000
user_total_credit: 3716.516305
user_expavg_credit: 0.057855
host_total_credit: 0.000000
host_expavg_credit: 0.000000
nrpc_failures: 0
master_fetch_failures: 0
master fetch pending: no
scheduler RPC pending: no
attached via Account Manager: no
ended: no
suspended via GUI: no
don't request more work: no
disk usage: 0.000000
last RPC: 1265427642.866600
project files downloaded: 0.000000
GUI URL:
name: Message boards
description: Correspond with other users on the SETI@home message boards
URL: http://setiathome.berkeley.edu/forum_index.php
GUI URL:
name: Help
description: Ask questions and report problems
URL: http://setiathome.berkeley.edu/forum_help_desk.php
GUI URL:
name: Your account
description: View your account information and credit totals
URL: http://setiathome.berkeley.edu/show_user.php?userid=7986831
GUI URL:
name: Your preferences
description: View and modify your SETI@home account profile and preferences
URL: http://setiathome.berkeley.edu/home.php
GUI URL:
name: Your results
description: View your last week (or more) of computational results and work
URL: http://setiathome.berkeley.edu/results.php?userid=7986831
GUI URL:
name: Your computers
description: View a listing of all the computers on which you are running SETI@Home
URL: http://setiathome.berkeley.edu/hosts_user.php?userid=7986831
GUI URL:
name: Your team
description: View information about your team: KUR0-BOX
URL: http://setiathome.berkeley.edu/team_display.php?teamid=131979
GUI URL:
name: Donate
description: Donate to SETI@home
URL: http://setiathome.berkeley.edu/sah_donate.php

======== Applications ========
1) -----------
name: setiathome_enhanced
Project: SETI@home

======== Application versions ========
1) -----------
application: setiathome_enhanced
version: 5.13
project: SETI@home

======== Workunits ========
1) -----------
name: 04dc06ac.24128.14387.11.10.57
FP estimate: 160720000000000.000000
FP bound: 1607200000000000.000000
memory bound: 33554432.000000
disk bound: 33554432.000000

======== Results ========
1) -----------
name: 04dc06ac.24128.14387.11.10.57_1
WU name: 04dc06ac.24128.14387.11.10.57
project URL: http://setiathome.berkeley.edu/
report deadline: Thu Mar 25 00:47:15 2010
ready to report: no
got server ack: no
final CPU time: 11438.100000
state: 2
scheduler state: 2
exit_status: 0
signal: 0
suspended via GUI: no
active_task_state: 0
stderr_out:
app version num: 513
checkpoint CPU time: 11401.910000
current CPU time: 11438.100000
fraction done: 0.003890
swap size: 0.000000
working set size: 0.000000
estimated CPU time remaining: 4249363.462054
supports graphics: no
$

以下のコマンドを入力すると詳細なログを見ることができます。

$ boinccmd --get_messages 0

KURO-SHEEVAのBOINCクライアントは、BOINC Managerをインストールしている他のPCからでも制御ができます。BOINC Managerの「高度な操作」→「コンピュータの選択」→KURO-SHEEVAのIPを入力すればOK。
その場合は、/etc/boinc_client/remote_hosts.cfgにリモートアクセスを許可するPCのIPアドレスを書く必要があります。
さて、1ワークユニットにどれぐらいの時間がかかるのか。相当時間がかかりそうですが様子をみたいと思います。

KURO-SHEEVA (玄柴) その後

  • 投稿日:
  • by
  • Category:

KURO-SHEEVAのその後です。
とりあえず、apt-get update, apt-get upgradeを行って最新の環境にしました。
あとはNTPでの時刻の同期や一般ユーザなど作成しました。これから必要なソフトウェアをインストールしていくことになりますが、さて、何をしましょうか。
eSATAのインターフェースにHDDをつないでNASとして使うのは当たり前すぎて面白くありません。NASならhackkitが入ったLinkStationがすでにあるのでそちらを使います。
ここはUSBとSDカードとNetworkをだけ使って何かするとしたら考えてみると・・・

  1. 昔、玄箱でやっていたようにSETI@homeに参加してみる。久々にboincを動かしますか。
  2. USBの入力とかNetworkからの入力でSDカードにデータを溜め込むようなロガーを作る。
  3. USBにPepperとかGainerを接続して、外部機器をコントロールする。
  4. 玄柴をたくさん集めてHadoopクラスタを動かす・・・。

とりあえずいろんなデバイスを使うためにも、まずはカーネルを最新にしたほうが良さそうかも。

KURO-SHEEVA(玄柴)再入荷分のご案内!!

  • 投稿日:
  • by
  • Category:

バッファローダイレクト通信:号外メールがきました。
「1月入荷分にキャンセルが発生しました。販売予定数はたったの5台!」
また一瞬で完売したようです。
ちなみに、バッファローからのメールはいつも20時ごろに届きますので、毎日20時は要注意かも・・・。

KURO-SHEEVA (玄柴) 入手できました

  • 投稿日:
  • by
  • Category:

土日にかけてKURO-SHEEVAが秋葉原のショップで販売されているという話を聞き、出かけてきました。TSUKUMO exやT-ZONEやクレバリーなどで土曜日から売られていたようですが、今日見た限りではすでに売り切れの模様。そういえば少し離れたTSUKUMO 12号館にはないかなと覗いてみたら、KURO-SHEEVAの箱が置いてありました。そのままレジに。
自宅に帰って早速開封です。外観はこんな感じ。

kuro-sheeva1.jpg

付属品はUSBケーブル、LANケーブル、電源ケーブル、電源プラグ(日本では使用禁止とのこと)、CD-ROMが1枚だけ。
とりあえず、付属のUSBケーブルでVAIO Type P(WIndows7)に接続し、CD-ROMからUSB-シリアルドライバをインストール。シリアルスピードを調整したらコンソール画面が出てきました。

kuro-sheeva2.jpg

このあと、rootのパスワードを変更して、固定IPにして、DNSが引けるようにしました。
最低限のセットアップが完了。我が家のネットワークに組み込まれました。
とりあえず、サーバラックに設置。

kuro-sheeva3.jpg

とりあえず仮設置完了です。どこにKURO-SHEEVAがあるか分かりますか?
まだ細かい設定を進めたいのですが、ちょっと風邪気味なので今日はこれまで。

警告とメッセージ