約 1,690,313 件
https://w.atwiki.jp/adamay/pages/14.html
USL-5P 備忘録 設定 [USL-5P] [Edit]
https://w.atwiki.jp/tadaogi/pages/6.html
SH4でLinuxが動くボードを調べていたら、I/OデータのUSL-5Pっていうのが、linuxが動くということが分かった。玩具(?)として面白そうなので、早速秋葉原で買ってくる。 動かす前にいきなりばらして、コンパクトフラッシュが64Mなのを確認。ネットでは、128Mがささっているロットもあるように書いてあったが、、。どうやって遊ぼうか考え中。 購入 net で調べて、秋葉原のクレバリーで税込み12,043円で購入。ちなみに、ビックカメラだと税込み14,800円だった。ついでに、64MのCFを630円で購入。 動作確認 ばらすことが前提だけど、とりあえず動作確認はOK。 ばらす とりあえずは、1つしかないネジを外す。 USL-5Pで遊ぶ話 ここに図が書いてあるけど、本物でやらないといまひとつわからない。壊さない程度に引っ張ったり押したりしていると外れる。CFは128MBのがついているロットもあるみたいだけど、64Mのがついていた。上のページのやり方に沿って、新しいCFにコピーして実験。 telnetでログイン とりあえず、書かれているようにやると telnet でログインできるようになる。 開発環境 次に、プログラムを作ろうとすると、開発環境が必要になる。当然本体には入っていない。上のページも USL-5P - PukiWiki も、kernel 入れ替えが前提。C コンパイラだけあれば良いんだけど、、。 開発環境 できるだけ情報が多い方が良いので、iohack の debian2.6 のセルフビルドにトライする。64MのCFだと無理くさい。外付けにUSBディスクをつけるか、容量の大きいCFかMicroDriveが必要。ちょっと近くのパソコンショップに行って物色。(本体を買うときに秋葉原で買っておけばよかった、、、) 辻堂のPC-DEPOで、1GのCFを安売りしていたのを買う。(kakaku.comの最安値が6131円、辻堂で7900円。まあしょうがないか。)ついでに、Linux World を見たら、調度 USL-5Pの特集があったので買ってきた。fdiskだけ少し小さめにしてこの本の通りやったら、1発で debian が動いた! apt-get update, apt-get upgrade するとエラーが出て、「ここで止めますか?」みたいなメッセージ。とりあえず止める。 その後、 開発環境 にしたがって、開発環境を入れる。CでHelloWorldが動く。 Todo Webカメラをつなぐ Pasoriをつなぐ 試行錯誤 カメラの画像を送るプログラムを、JMFのサンプルを使って、Javaで作った。これは、videoとしてはmotion jpegで、RTPで送れる。(以上全てWindows上) この環境をUSL-5Pに移行しようと思ったけど、Javaがない。 仕方ないので、Cで書ける方法を探していて、どうも ffmpeg というツールでできそうだというところまで到達。 Linux上で試して、ffmpegでファイルに落としたデータをJMFのJMStudioで再生できるところまで確認。これを RTP で送ろうとするとうまくいかない。送り側が、JMFのサンプルだとできるので、おそらく video のフォーマットだと予測。JMFは、かなり自動でやってくれるが、ffmpegは多彩なオプションを使ってうまく指定してあげないといけない。予備知識が全くないので、とりあえずネットサーフィンして調べる。現状はここまで (日記になってしまっている。) 動画フォーマット 色々調べた結果、ffmpegは、(ソースをいじると)motion JPEG(って、おそらく、JPEGそのもの)を RTP で送ることができる。実は、RTPのマーカがオンになるようにしてあげないと、JMFのJMStudioで受けられない。ちなみに、JMStudioをLinuxで起動するには、-Dawt.toolkit=sun.awt.motif.MToolKit をつけないといけない。 ところが、Java JMF で RTP で受けようとすると、JPEG VIDEO (= RFC2435)を期待している。(送り側のサンプルはそれで送っている。) で、画像のフォーマットが違う。もう少し調べないといけない。はまっていく、、、。 一週間くらい格闘して、ffmpeg でかろうじて RTP で JPEG を送るところまでできたが、絵が汚い。JPEGを作る処理もいじったので、どこかにバグがあるに違いないが、お手上げ状態。データが圧縮されるロジックが複雑過ぎてデバッグできないよお、、、。しかたないので別のツールをベースにすることにする。grabbjが簡単そう。jpegって、ライブラリにあるのを今さらながら発見。 カメラドライバ まず、カメラのドライバを入れる。カメラは、秋葉原で買ってきた怪しいカメラで、ドライバは標準では入っていない。ネットで探して、 spca5xx を見つける。module のビルドなので、カーネルのビルド環境がないといけない。仕方ないので入れる。ディスクは外付けUSBをつける。 makeすると、いきなり、コンパイラが怒る。-m4-nofpu というオプションがないという。これは、sh4専用のオプションみたい。良く分からないので、Makefileを修正して、オプションを外してしまう。 makeが終わったら、コンパイラのバージョンが違うと怒られた。gcc-3.4 を入れなおして、Makefileを直してビルドしなおし。最初から入っているCCを直しただけだとMakefileの定義の順番で効かない。前のほうで定義する必要あり。 2.6 だと、xxx.o でなくて、 xxx.ko が入る。 やっと、ビルド、インストールできる。カメラをUSBに刺して dmesg で見ると、認識されている。moduleもロードされている。 vgrabbj vgrabbjを入れる。libjpegが必要。aptにはないので、ソースを落としてビルド。 make install しても、ないと怒られる。調べると、make install-lib をしないとインストールされない!! さらに、libpng が必要。これもソースを探すが、オリジナルの場所だとサーバが死んでいてダウンロードできない。仕方ないので、src.rpmを見つけてそれを落とす。rpmだと、インストールできないので、alien を入れて、ソースを取り出す。ビルドにzlibが必要。これはaptでget。makeでエラー。いい加減耐えられないので、どうせ使わない png は切り捨てることにして、vgrabbj のソースを修正する。(どこかのホームページに書いてあった。) やっと、makeを実行できる。でもキャストのエラー。intelマシンだとこんなの起きなかったのに、、、。手で修正(実は直し方が誤っていて、後で修正した。) /dev/video のデバイスを作る。作り方がわからないので、xawtv や vl4-conf とかを apt で get したが分からない。xawtvをソースごと落として、MAKEDEV.v4l を実行して作る。vgrabbj を実行。妙なエラーで死ぬ。デバッグ。先ほどのキャストのエラーを手で直したところが間違っていた。修正したら、動くようになった。キャプチャしてjpegになったのをWindowsマシンで見ると、確かに写っている。OK。 その後、xawtv は自力でビルドできたが、camserv はビルドできない。 gcc -g -O2 -o camserv camconfig.o camserv.o filter.o main_loop.o picture_loop.o shm.o video.o -Wl,--export- dynamic ../libltdl/.libs/libltdlc.al -ldl ../common/ libcommon.a -lnsl -ljpeg -lm /usr/bin/ld errno TLS definition in /lib/libc.so.6 section .tbss mismatches no n-TLS reference in camserv.o /lib/libc.so.6 could not read symbols Bad value collect2 ld returned 1 exit status ううむ、訳分からん。 TLS っていうのは、thead local segment らしい。 色々、調べていたら、kaffe があるのを発見。Javaコードが動くのなら、こんな苦労はしなくていいんだけど。 http //jbpe.tripod.com/rfcj/rfc1889.j.sjis.txt 画像転送 色々試して、RTPでJPEG payload を送ることができるようになった。本当は、Motion JPEGで送りたいのだが、フォーマットが分からない。各社各様みたい。それと、Java の JMF で RTP で画像を送ろうとすると、RTPのJPEG Payloadになってしまう。良く分からずにサンプルプログラムの通りやっただけなので、まあこれで良しとする。これは RFC もある。vgarbbjを改造して、遅れるようにした。最初適当に作って、送信者のアカウントとか、統計データとか省略して、なかなかうまくいかなかったのが、最終的には、RFC の通りに正確に送らないといけないことが分かった。 リンク集 USL-5Pで定点カメラをつくる USL-5Pで遊ぶ話 USL-5P - PukiWiki
https://w.atwiki.jp/adamay/pages/20.html
USL-5P/備忘録 LANDISKで漕ぎいでな~ USL-5Pで自宅サーバー ポケット・サイズ・サーバー I-O Hack USL-5P USL-5P pukiwiki iohack project package pool USL-5Pで遊ぶ話 USL-5Pで遊ぶ USL-5Pで定点カメラをつくる Edit
https://w.atwiki.jp/tadaogi/pages/16.html
USL-5P再び 最近家でPCを使っていて、ちょっと席をどくと、すぐに子供達(たまに家内)が使ってしまう。VAIOとかもあるけど、使いたいデータがメインのPCにしかないので、作業(って言ったって日記と小遣い帳くらいだけど、、)が止まってしまう。やることは少しなので、データだけサーバにおいておけばVAIOでもLavieでも使えるじゃん。 で、NASにも心を引かれたけど、前に買って放置しておいたUSL-5Pがあるのを思い出してファイルサーバにすることにした。(本来の使い方だ。) でも、せっかくCFを1GにしてDebianも使えるようにしてあるので、この環境でSambaを動かそうかなあと挑戦。 久しぶりに電源を入れて、外付けUSBディスクを接続すると、マウントされない、、、。手動でマウントすると、iso8859-1のNLSがロードできないとかなんとか言って動かない。どうも、kernelのconfigで設定するみたい。ううむ、kernel build か、、、、。正月休みの間にできるかなあ、、、。 開発環境 本当はCROSSの方が速いのは分かっているけど、とりあえずセルフに挑戦。 みんながリンクを張っている「LANDISKで漕ぎいでな」のページ(http //eggplant.ddo.jp/www)にアクセスができないのが、そこのミラーを発見。http //iohack.sourceforge.jp/kogiidena/ USL-5Pで定点カメラを作るを参考にして、適当なdebパッケージを持ってきてインストール。 カーネルビルド 次はカーネルソース。オリジナルは2.4ベースなので、やはり上のページから、2.6.17と思われるソースをダウンロード。 外付けディスクに /ext/src を作って解凍。とりあえず /usr/src からリンクを張る。/usr/src/kernel-2.6.17.4 で make menuconfig 失敗 ncurses がないと menuconfig ができない。develをいれないとheaderがはいらない。とりあえず、ncurses と関係ありそうなのをdpkg でインストール。こんどは動く。 USL-5Pで遊ぶを参考にしながら config を修正。 make dep は不要とメッセージが出る make clean make 3時間半でビルド完了。lilo.conf を修正して、lilo - error これだと、vmlinux ができるけど、それじゃだめで make zImage で zImageを作る必要がある。(vmlinuxから圧縮すれば良いかもしれないけど、、)とりあえず make zImage こんどはOK。lilo して reboot。OK立ち上がった。サイズが少し大きめなのは、余計なドライバが入っているためか??? module に、nls_iso8859_1 があるのを確認して、insmod してからusbメモリを入れてmount -t vfat すると、今度はちゃんとマウントされて、ファイル名も8.3を超えて見える。OK、OK。次は samba だね。
https://w.atwiki.jp/tadaogi/pages/19.html
USL-5Pに外付けディスクをつけてsambaで見えるようにした。ところが、夜中に何か音がするなあ、、と思ったらディスクの音だ。USL-5P自体は静かなんだけどディスクが動いている。で、止めようと思った。 とりあえずネットで調べると、hdparmとかnoflushdとかが出てくる。hdparmはIDEのみと書いてあるので、noflushdを入れて試すが、こいつも「/dev/sdaをどうやって止めれば良いか分かりません。」と文句を言う。もう少し調べると、sdparmというのがある。こいつはsdaにも効くらしい。で、入れて試すと、コマンドはエラーにならないが、ディスクは静かにならない。 で、そもそも本当に止まるのか調べる。オリジナルのlinuxで立ち上げて、省力モードに設定し、しばらく待つが静かにならない。ただし、これはサポートディスクに入っていないからかも。 で、最後に、PC直結に直してみる。バッファロの省電力ツールで、停止してみるが、静かにならない。取り外しまですると、静かになる。もしかしたら、ディスクは止まっているけど、ケースのファンが動いているのかもしれない。で、とりあえずギブアップ状態。
https://w.atwiki.jp/adamay/pages/21.html
USL-5P/設定 CF バックアップ&コピー # dd if=/dev/hda of=./dd.dat fdisk # fdisk /dev/hda telnet化 lilo設定 lilo -C /etc/lilo_cross.conf ---- linear boot=/dev/hda disk=/dev/hda bios=0x80 timeout=50 install=/boot/boot.b-selk default=debian image=/boot/vmlinuz-2.6.16-sh label=debian read-only append="mem=64M console=ttySC1,9600 root=/dev/hda3" image=/boot/zImage label=linux read-only append="mem=64M console=ttySC1,9600 root=/dev/hda1" Edit
https://w.atwiki.jp/tadaogi/pages/17.html
USL-5Pにsamba 導入 今度は、USL-5Pにsambaを入れる。 ここiTunes連携からSamba導入まで──挑戦者「白箱」をぷちHackしてみた(後編)の通りでほぼOK。 すでに deb のありかは分かっているので、samba-common、samba、libcupsys2-gnutls10、swat を入れる。samba-commonとsambaの時には設定画面が出てくる(ってことは、ncursesが入っていないとエラーになるのかな?) このままだと、swatが自動では立ち上がらないので、Sambaで始めるWindowsファイルサーバー入門に書いてあるように、/etc/initd.conf の行をコメントを外す。sambaは設定のときにdaemonとしておいたら大丈夫。 後は、swatで設定すればそのままで使えるようになる。(結構カンタン) USBメモリの自動マウント このままだと、USBメモリを挿しても手動でマウントしないといけないので、修正する。 USL-5Pで定点カメラを作るにヒントが書いてある。 製品版だと、USBメモリをさすと自動でmountされる。(っていうか、ディスクも自動でマウントされる。)今回入れたDebianはそうならない。一応、autofsでできるみたいだけど、製品版にはautofsの設定はない。どうやっているのか不思議。 とにかく、config しなおして、AUTO_FS、AUTO_FS4 を on にして make zImage。lilo(一度これを忘れてはまった、、。) autofsは何故か rpm しか見つからないので、alien を入れてインストール。実は alien を入れるのはとっても大変で、かなりたくさん依存関係を追いかけないといけない。でもまあ順に入れていけばよい。 で、rpmでautofsを入れると、RedHat前提の設定になっているので、/etc/rc.d/init.d/autofs から /etc/init.d に入れて、/etc/rc.S からリンクを張りなおす。autofs の中身自体も修正しないといけない。単体で起動するとエラーがでるので、無理やりデバッグしてでないようにした。 そのまえに、autofs の設定ファイルを修正する必要がある。標準に入っている /etc/auto.master と /etc/auto.misc を修正した。 /etc/auto.masterの内容 /auto /etc/auto.misc -t 60 /etc/miscの内容 usbmem -fstype=auto,user,rw,sync,umask=000 /dev/sdb1 これで mount を見ると /auto が automount によってマウントされてるのが分かる。USBメモリを入れて、ls /auto/usbmem とすると自動でマウントされる。ls /auto だけだと見えないので注意。 samba側も設定すると見えるようになる。 セキュリティの警告 sambaで共有にしたディスクにWindowsのexeファイルを置いて実行すると、「セキュリティの警告」画面が出る。XPのSP2あたりから追加された機能らしくて、MSの技術情報などにはこれを出さない方法が書いてあるけど、その通りにならない。うっとうしいけど、とりあえず放置。 → この件、なんとなく解決 samba上に置いたHTMLファイルをIE7で開いたら、「イントラネットゾーンはデフォルトでオフになっています。」みたいな表示が出た。これをオンにしてあげたら、以降この警告はでなくなった。IEの設定の問題だったのか??? Todo残り プリンタをUSL-5P直結にしたい。(→ 2007-1-7 完了)
https://w.atwiki.jp/tadaogi/pages/18.html
USL-5Pにプリンタ 目標 USL-5PにUSB経由でプリンタを接続して、LANの中から共有できるようにする。おおよそ、CUPSを入れてsambaで共有すればできそう。 CUPSインストール CUPSのインストールについては、ネットで調べると「すでに入っている」とか「apt-getで」などと書いてあるが、この環境では入っていないし、apt-get だと色々たりないと文句を言われる。 usl-5p /ext/home/landisk/test/cups# apt-get install cupsys Reading package lists... Done Building dependency tree... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. Since you only requested a single operation it is extremely likely that the package is simply not installable and a bug report against that package should be filed. The following information may help to resolve the situation The following packages have unmet dependencies cupsys Depends xpdf-utils but it is not installable Depends gs-esp but it is not installable E Broken packages 探したら、xpdf-utilsはここにあった。 いろいろ試した結果、cupsはソースを落として自分でビルドした。 cups-client, cups-bsd は .deb からインストール。 PM-970Cのドライバを見つけたが、バイナリが入っていて、どうもIA32専用みたいだ。仕方ないので、RAWで使うようにする。デフォルトでは使わない設定になっているので、/etc/cups/mime.convsの該当行のコメントを外す。 application/octet-stream application/vnd.cups-raw 0 - cupsを再起動。 cupsのブラウザからの設定がデフォルトでは127.0.0.1からしかできないので、/etc/cups/cupsd.confを修正(2箇所) Allow From 192.168.1.0/24 これで、http //usl-5p 631 でcupsの設定ができる。 プリンタを追加する。最初はRAWで設定できないけど、一度設定してから変更するとRAWで設定できる。次に、Windowsからリモートプリンタを設定する。ポートが、http //usl-5p 631/printers/ printer名称 でつなげれば、後は特に問題なく印刷できる。 sambaの設定はしなくても、Windowsから見えるようになった。 でも、これだとEPSONのツールが使えなくて、インクの残量とかが見えないので、結局元に戻した。
https://w.atwiki.jp/tadaogi/pages/20.html
目標 USL-5Pにlighttpdを入れて、ERBをfast-cgiで動かす。 別の環境(sh4+kernel 2.4)に移植する必要があって、訳アリで単なるcgiは不可(というか、signal周りがバグっていてcgiでは動かない。fastcgiが動くのは確認済み。) lighttpd apt-get install でいきなり入った。confとrcは入らないみたいなので、手作業で入れる。 fast-cgi ruby-fcgiは、pure ruby でも動くはずだけど、インストールしようとするとfcgiがないと言って怒られるので、深く突っ込まずにfcgiをソースから入れた後でruby-fcgiを入れる。 ERB xxx.rhtmlをfast-cgiで動かしたいけど、dispatcherがよく分からないので試行錯誤。結局こんな感じになった。 #! /usr/local/bin/ruby require 'fcgi' require 'cgi' require 'erb' FCGI.each_cgi {|cgi| puts cgi.header doc_root = cgi.env_table['DOCUMENT_ROOT'] doc_name = doc_root.chop + cgi.env_table['SCRIPT_NAME'] script = IO.read(doc_name) erb = ERB.new(script) erb.run(binding) } require 'cgi'はいらないかも。bindingを渡しているので、rhtml側でcgiのパラメータにアクセスできる。 html head title erb test /title /head body abc %= Time.now % %= cgi.request_method % %= cgi.params % /body /html
https://w.atwiki.jp/twiclub/pages/16.html
使い方 どんどん増やせるように努力します。 【使い方】POPアクセスの方法【全般】 【使い方】携帯からtwiclub.info、つかえます!【モバイル】 【カレンダー】iPhone(touch)にカレンダーを同期させよう 以下からはtwiclubとは関係ございません。