パソコン・インターネット

Re: ゼロから始める10億色生活 #1

 ついに決断しました

 意気揚々とブログのタイトルを決めて連載できるか考えていたのですが、うちのパソコンには Display Port がついてない!といきなり無理な状況に出会ってしまいました。し、シリーズもになると思ってナンバリングまでしたのに…

 自作PCものではこんなことがよくあるみたいです。CPU corei3 4330T のオンボード GPU Intel® HD Graphics 4600 のスペックによると、Display port 出力なら 3840x2160@60Hz までいけるとか、openGL4.3、directX 11.2 などと書いてあり、増設要らないじゃん、と意気込んでいたところ、H81M-ITX マザボには Dipslay port などというオサレな口はついておりませんでした…。

 なんだよー、10億色を味見しようと思って手軽なモニタを一生懸命探していたのに、quadro などというゴッツいグラボも必要だったなんて予想外の出費…。こうなったら direct2D も GLUT も思う存分しゃぶりつくしてやるぅ

童心に返る #1

 むしろ原点回帰というべきか

20150721_p_20150718_142341_1_vga 以前から少し気になっていた ichigo jam U というマイコンを手にとって見ました。この連休は暑いし遠出する予定もなかったのでちょうどよいネタです。

 組み立てキットになっており、部品点数としては非常に少ないです。ただし、コンポジットや PS/2 といったコネクタ類は接点が広いので半田ごては30W以上のものでないと初心者はやりづらいと思います。自信のない人はここだけは我慢して鉛入りの低融点タイプの半田にしておきましょう。パッドは広めに取ってあり、隣のパッドとの間隔も広いので、配線パターンとしてもわかりやすいように配慮が見られます。

20150721_p_20150718_144859_vga USB コネクタの取り付け方法だけはちょっと疑問が残ります。基板つきのコネクタを本体基板にそのまま重ね合わせて半田を流し込むように説明書には書いてあります。しかし、ビアホールがずれないように固定するためにはどうしたらいいのでしょう。IYN は半田が隙間から漏れてショートする心配もあるので、コネクタ基板の穴と本体基板の穴とを重ね合わせたらそこに抵抗のリード線の残りを通して半田付けしてしまいました。大量に半田を流し込むよりも、リード線を介してコネクタ基板の表面のパッドと本体基板の裏面のパッドとを丁寧に接続してあげることを重要視しました。半田付けする前に7つもあるビアホール全てを固定したのですから、ショートの心配も位置ズレのリスクも払拭できたと自画自賛しています。

20150721_p_20150718_150822_vga 丁寧に半田付け作業をつづける事40-50分、ichigo jam が形になりました。最後に LSI に貼り付けたシールはピンの位置を正確に合わせると上下が0.5mm以上余るので、シールの端は多少モールドパッケージの側面に回りこみます。PS/2 キーボードを探すためにジャンクストリートを練り歩くことになるのですが、九十九電機でPS/2変換可能なUSBキーボードが800円くらいで入手できました。

20150721_p_20150718_163322_vga ナノラボで借りたコンポジットの映るモニタはなんと28インチ?くらいの大画面。このなかで32桁という文字列が表示されるのですから、BASIC 言語としては特大です。MSX で遊んでいた人たちにとっては 15インチでも大画面だったのですから。IYN は起動画面が How many files? になるように改造したくなりました。この文言がわかる人の年代は特定しやすいので、合言葉として使えるでしょう。

 このあと IYN は1時間以上かけて1画面プログラムを作り、簡易インベーダーゲームを完成させてしばらく悦に浸っているのでした。童心に返るのはここから。遊べるプログラムをひとつ入力してみてはあれこれ試行錯誤してさらに技術を磨く。税込み1620円でこんなことができるなんて、いい時代になったものです。続く。

撮影した画像を無線で飛ばす

 FlashAir お試し

20150405_dsc05788_vga このSDカードはカメラに装着しておくと、撮影したらその場でタブレットヤスマホに画像を転送してくれる機能があるということで、例によってあきばおーで入手してみました。

 SDカードが無線ルーターになってしまうのか、独自のWLAN空間を作ってしまうようなのでおうちの無線ネットワークにこのSDカードは参加できないんですね…。Androidタブレットの受信アプリが起動していると、タブレット側からSDカードのデータを引き抜きに行くために認証するといった具合。これだとタブレットのストレージにどんどん画像データが溜め込まれていってしまいます。SDカードは16GBあるので余裕ですが、それをいっぱいしてしまうとタブレットのストレージが大変なことになってしまう…。

 このSDカードに期待したいことは、自宅のルーターにIPアドレスをもらってネットワークに参加し、NAS の samba 認証を自動的にやって画像データを送信することです。NAS をクラウドストレージとしてインターネットに公開すれば、スマホ経由でそれもできるかもしれませんが、IYN は WiMAX とかもってないし…。そういう構造にすると、なにか問題があるんでしょうかね、いまだにその理由は理解できていません。

 カメラからいちいち抜き出してデータを取り出さなくてすむのはうれしいのですが、直接パソコンに送り込む手順がやっぱり複雑になってしまうのでちょっと惜しいデバイスだなぁと感じました

NAS 開眼 #2

立ち上げ簡単

20150317_p_20150215_110537 フタあけて HDD 差し込んで電源入れたら5分くらいで使えるようになりました。NAS に適したハードディスクって何だろうと考えるとなかなか答えが出てきませんが、シーゲイトのやつなら互換の仕様で大丈夫と表示のあったものを選択しました。機械翻訳された不思議な日本語のサポートページよりは、英語に切り替えたほうが、HDDがピシッと選べます。

20150222_dsc05730 フタあけたら、SATAのコネクタが基板から直接伸びていて、ここにかちっとHDDを差し込んでねじで固定するわけです。2スロットのやつはこれを2個やるんですかね。

20150222_dsc05734 フタを止めるねじはなぜか木ねじです。これはなんども開け閉めしたら、ねじ山がすぐにつぶれてしまうでしょうね。この手の機種はそうそう HDD の取り換えもしないからいいんでしょうけど。業務用のNASは頻繁に換装するので、そもそも外枠をドライバーで外すようなことはしないか。

20150222_p_20150215_113240 起動してDHCPでつながった時に、8分待ってと表示が出ますが実際は3分くらいでファームウェア更新が動き出します。1TBより大きいHDDを乗せたらそれだけ時間かかるところなんですかね。サービスはとりあえず全部入れてしまうことにしました。メディアサーバーはあとでプレイヤーが増えるかもしれないし。

 リビングに置いてありますが、ファンの音とかほとんどしません。HDD の回転音も、カリカリ音もほとんどない。べつに SSD キャッシュつきとかじゃないんですけどね。パソコンが起動するのを感知して HDD が回り始める音は聞こえます。なんで PC の起動を認識できるんですかね。とりあえず省エネ能力は高そうです。

 スマホの同期アプリとかはちょっと UI がイマイチだけど、ちまちました個人向けには十分な性能だと思います。うちのルーターが Gbps 対応じゃないから性能でないよ、と逆に機械から文句言われてしまいました。いらないよそんなに。

NAS 開眼

 ついに NAS 導入です

 たくさん写真を管理したくなって、自前の無線 LAN samba ではどうにも歯切れが悪いので有線でルーターにつないでサクサク動くファイルサーバーを立てることにしました。LIVA + 外付け HDD みたいな構想もあったのですが、電話台の場所が狭くて AC アダプタだらけになってしまうのが嫌なので最も簡単な解にたどり着きました

 本当はこの前作った自作PCケースの中に BayTrail マザー入れてサーバーにしようと思ったり、インテルのガリレオみたいな組み込み系で NAS を電子工作とかいう構想もあったのですがやはり場所をとってしまうのは問題です

 そんで、テレビの録画先にするとか DLNA 対応なんて気にしないで HDD 取り換え可能なシンプルなものを選びました。SYNOLOGY の1ベイタイプの機種です。2.5インチX4ベイっていうかわいらしい機種も魅力的です。

 NAS については技術鍛錬を怠けてしまう気がして遠ざけていたのですが、驚いたことに、昔は黒箱にシリアルをつないで仕込んでいたようなサービスが WEB 経由で全部できてしまうのです。HTTPD や FTPD はもちろんのこと、git/svn といったバージョン管理サービス、クラウドサービスまで web ブラウザ上から全部操作できてしまう。中身が Linux なんだから当然なんですが、RAID 5 もない1ベイで1.5万円する理由はサーバー管理しやすい仕組みをきちんと作りこんであるということなのでしょう。設定次第で ssh ログインも可能なんですと。

 今まで使ってきた samba 用 PC は rsync しながらバックアップ取る役割に回して、写真データだけは NAS 側で操作することにしました。消費電力的にもちょっとメリットがあるみたいです。いじってみた記録はまた後日ということで。

Linux でプリントサーバー2014師走 #3

 USB 外付けドライブをマウントします

CentOS6 ではデスクトップにログインすると USB ドライブはその人のアクセス権限で自動的にマウントされてしまうようです。/media/run/ とかいう場所に。この状態で USB ドライブを smb 共有しても、ログインしっぱなしにしなければいけません。最初、iyn は fstab に defaults でマウントしたのですが、smbclient からはディレクトリの参照すら許されない。なぜかというと、共有先は gid=root, uid=root が所有しているアクセス権限 700 とみなされてしまうからでした。

 NTFS では未確認ですが、FAT32 フォーマットのディスク全体のオーナーとアクセス権がマウント時に決まってしまうので fstab の設定を慎重にやらなければなりません。それがうまくいっていないと、smbclient でログインしても玄関のドアが開かないという悲しい状態になってしまいます。vfat のディスクに samba_share_t のラベルを張ろうとしてうまくいかなかったのも FAT32 だからなのかな、と思います。

 結局オーナーはrootのままですが、グループを samba アカウントユーザーの所属グループと同じにして、umask=007 で運用することにしました。windowsからも書きこみができるようになってほっと一安心。

 プリンタは常に CUPS で動作しているので全く問題なし。Fedora20 にバンドルされていたドライバより古いバージョンですが、Windows のドライバで設定できる機能はすべて設定できています。インク残量などプリンタ側から Windows にステータスを送信する機能はさっぱり働いていませんが…。

 ところで AirPrint 対応については、iOSが更新されるたびに仕様が少しずつ変更されていくみたいです。本来は Linux 真正 Bonjour だけでプリンタの共有ができたはずなのですが、AirPrint は Bonjour の設定のなかに特殊なオプションを追加した場合だけに iOS から認識できるように変更されているようなのです。

 IYN は Windows から Bonjour プリンタ共有を試みていただけなので実際のところはよくわかりませんが、それでも Bonjour Browser から見えたり見えなかったり非常に気まぐれな動きをしているので、現在はつかみどころのない感じです。avahi 関連のツールは一通り yum install して動かしていますが、わけもわからず avahi-autoipd とか実行するとチラッと現れたりドライバインストールに戸惑っているとまた見えなくなったり、なのです。

 当然 iPad などからはプリンタが見えるわけもなく挫折。でもこうでもしなくちゃ、新しい AirPrint 対応プリンタが売れなくなってしまいますからね。素直にあきらめることにしましょう。それに最近は印刷もクラウドになったせいでプリンタは自分で所有しないですむようになってきましたからね。前を向いてパソコン生活を最適化していきましょう。

Linux でプリントサーバー2014師走 #2

 CentOS7 ではダメなんです

 それは Fedora20 で駄目だったように、グレイスケールの印刷を送るとプリンタが文鎮化する現象を引き継いでいたからでした。Fedora18 が Canon 公式配布のドライバで正常に動いていたのでつまり CentOS6.6 なんかでいいんじゃないかと考えてインストールしてみました。こいつはリブートすればプリンターをきちんと認識するので、インストール直後の動きがおかしくても気にせず CentOS を再起動しましょう。プリンタドライバは kernel 2.6.x 用に作られているんじゃないかと思います。

 samba については長年の愛読書である(?)高橋基信センセイの本を読みながら設定しました。SELinux も samba については、getsebool -a するとたくさん出てきます。なかでも以下の3つはvfatでマウントしているディスクを共有するためには必要かな、と。

  • samba_enable_home_dirs --> on
  • use_samba_home_dirs --> on
  • samba_export_all_rw --> on

それと、Fedora と違ってまだ firewall-cmd が導入されていないようなので、iptables を使った慣れない方法でファイヤウォールに穴をあけます。

 そんで今まで通り smb.conf を流用させて起動するとなぜか smbclient で接続すると NT_ACCESS_ERROR とか出るしなんでかなぁと、しばらく考え込んでしまいました。fstab での USB ハードディスクのマウントの仕方を IYN は忘れていたのです。Windows からフォルダは見えるのに中のファイルにアクセスできないとか、書き込みできないとかどうしてももどかしい時間を過ごすことになるのでした…。

Linux でプリントサーバー2014師走

 fedora18はサポート終了につき

 いろいろ悩みましたが、結論から言って 愛用の Canon MP630 を CentOS6.6 でプリントサーバー化して使うことに落ち着きました。NASキットを買えばそのままプリントサーバーになってしまうし、メンテナンスの軽いファイルサーバーにもなってしまう、という悪魔のささやきとしばらく戦い続けました。

 一番簡単な選択肢は、AirPrint対応のプリンタに買い替えてしまうことです。sambaやらShoutcastやらのサーバーとしての機能はC-60に担当してもらうとして、AirPrint対応の無線ランPrinterとして最近売られているプリンタにしてしまえば今までの困難はすべて素通りです。でもそれでいいんだろうか。今まで自己鍛錬のためにLinux運用してきたのにここでやめてしまったら何か大きなものを失う気がしました。

 fedora18はとにかくサポートが切れてしまったので新しい fedora20 に乗り換えてみました。1か月くらい格闘した結果、MP630 が期待に応えてくれないことがわかりました。fedora20には MP630 のドライバが OS ネイティブでバンドルされているのですが、これを cups 経由でWindowsからモノクロ印刷を送信するとプリンタのデバドラかデバイスそのものがハングってしまうので、カラー印刷専用となります。

 それでもいいのかもしれませんが、IYN はモノクロ印刷で文字を打ち出すことが多いので、うっすらグレーがかってにじんでいるフォントはしんどいわけです。

 じゃあキャノンがfedora向けにリリースしているドライバはどうかというと、最新のfedora20ではそもそも Linux 側で lpr コマンドすら動きません。そしてソースをダウンロードしてビルドしようと思ったら libtiff ver3 世代が必要だったりとか、libtiff3をコンパイルしてもうまく rpm が反応しなかったりとか(誰にパスを通したらいいのかわからない)、かなり深みにはまっていってしまいました。

 だから fedora20 (それ以前も含む)で運用という選択肢はないかなぁと思いました。自前で shared object をコンパイルしようにも 32bit版を求められることが多いので、うちの C-60 には 32bit 版 OS を適用したほうがいい。サポート期限が十分先の方になった CentOS6を使ったらいいんじゃないか、と思えてきました。続く。

むせるCentOS7

 OS入れ替えました

 外部につながっていないとはいえセキュリティ的に心配だったりしたことから、AMD C-60 のサーバーを CentOS7 にしました。それに最新のRHELの扱いにはいつも慣れておかないとね。

 IYN 城でのサーバーの使い道は

  • ディスク共有
  • プリンタ共有
  • ラジオ予約録音
  • 家庭内Shoutcast放送

ということになります。

 ディスク共有は samba4 を設定するだけなので特に問題なし。しかし気になるのはドライブ共有名の先頭にアカウント名がついてしまうことです。smb.conf には例文がたくさん書いてあって使いやすいのですが、windowsから見たファイルパスを好きに決めることってできるんですかね…。あと SWAT ってもうないのか…。

 ラジオ予約録音は yum install rtmpdump するだけで使えるようになってしまうのは楽ちんでした。v2.4がインストールされます。あと ffmpeg を入れて AAC から mp3 に自動で変換する仕込みを入れて使っています。家庭内Shoutcast放送では受信側がmp3しかでコードできないからです。

 そしてShoutcastについては、ダウンロードした sc_serv, sc_trans がそのまま利用できたので楽ちんでした。codecのキーもそのまま使えたので一安心。firewall-cmd で tcp ポートを開けておけばきちんと音楽を受信できるようになりました。Fedora のときは BB-Shout がアクセスできなくなって原因不明のままでした。

 はまりどころはプリンタ共有です。cups はきちんと動いているのですが、USB ポートで timeout を起こしてしまう不具合に悩まされました。ログをとっても、CUPS の専門家でないと意味が分からないという袋小路。LogLevel debug2 のログを取得してもイミフ。結局は CANON が配布しているドライバを使わず、CentOS7 デフォルトのドライバでプリンタを自動認識させれば全然OKでした。

 ラジオの録音が途切れてしまうのは、CPUパワーが足りないのか熱で逝ってしまうからなのかマザーのLANがしょぼいからなのかはわかりませんが、rtmpdump の品質はちょっとイマイチでした。IYN 城も光回線導入がしたいです。

icarus verilog をビルドしてみる2

 近頃C++が当たり前なのか…。

  前回 icarus がコンパイルできずに苦悩していた話をあまり書きませんでしたが、cygwinでも同じようにうまくいきませんでした。cygwin に頼らない人生を歩んでいるつもりなのでどうでもいいんですが、Windows 版 tcsh が動くプラットフォームとしてはいまだに注目しています。

 それで、エラーの詳細をよく読んでみると、coerce_to_width というテンプレート関数の定義が足りていないらしいのです。vvp_net_sig.cc のソースコードでは、vvp_net.h でプロトタイプ宣言だけしているこの関数の実体を宣言したいようなのです。しかし、minGWのgccではこのヘッダだけでは、テンプレート関数の中身の定義を探し出すことができずにいるみたいなのです。ううん、gcc4.8 ってことはかなり新しい文法でも全然OKなはず。わざと -std=C++11みたいなよくわかんないオプションを Makefile に含ませたんですが、やっぱり解決できません。

 ええっとじゃあもう、vvp_net_sig.cc に coerce_to_width の定義そのものをコピペしちゃえばいいじゃん、とやってみたらコンパイルが通ってしまいました。根本的な解決方法がさっぱりわかりませんし、template がグローバル関数に使えてもどうしてそれを外部関数としてリンクしようとすると「見つからない」というエラーになるのか理解できないです。Linuxだとこんなエラー出てこないわけですから、コンパイラの不具合とも考えづらい。

 ま、コンパイルできたんだし、動かしてみようかな、そうだ、波形をダンプできたらビューワーとなる gtkWave もビルドしようと検索したとき愕然としました。icarus verilog + gtkwave の最新版インストーラーが公開されてるじゃん!!ああ今までの苦労は何だったのだろう。さっさと Verilog の勉強にとりかかれたというのに、なにしてんだか。

より以前の記事一覧

2022年3月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
無料ブログはココログ