2012年
11月
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

setup diary

2007|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|06|08|11|
2015|01|02|03|04|05|06|07|08|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|

2012-11-08 ADCのノイズ低減

_ AVRでSLEEP

AVR tiny261のADCを使って、電圧などを表示するようなものを作っていたのだが、ADCの読みが少し揺れるので、ノイズ低減のためにSLEEPさせたときにADCを読むことにした。まずは

#include <avr/sleep.h>

として、MCUCRのSM1,SM0とSEを設定する。USIやアナログ比較器も止めておいた。そして、sleep_mode()でSLEEPしてくれるようだ。ADCの終了で割り込みがかかるので、その中で適切な処理をして、メインルーチンに戻ったら、またすぐにSLEEPさせるという感じにした。あまりノイズは減った気はしないけど、無事に動いたからいいか。

AVRのADCは10bitしかないので、少し不足を感じるときがある。せめて、12bitぐらいあれば良いのに。また、読み取りを安定化させるために、積算したりしても、ノイズはそれなりに拾ってしまうのは、周辺の回路やグランドが良くないのかな。


2012-11-19 okiのプリンター

_ Linuxからの印刷

プリンターが壊れたので注文していた、新しいプリンターが本日届いた。okiのc301dnというカラープリンターなのだが、レーザーじゃなくてLEDプリンターという種類らしい。

いつも問題になるのは、Linuxからの印刷である。古いプリンターだとppdがあって、印刷できることが多いが、苦しむことも多い。okiはLinuxと比較的相性が良いと思っていたので、楽観視していたが、最近はそうでもないようだ。

このプリンターはXPSとHiper-Cというプロトコルに対応しているらしい。前者はMS独自の規格、後者はoki独自の規格のようです。両方独自なので、嫌な予感がします。調べたところ、foo2hipercというものがあって、これを使うとうまくいきそう。CUPSのPPDの選択のところを見てみると、okiのでfoo2hipercを使っているものがいくつかある。c301dnは無いので、まずはc3100にしてみる。testページを印刷していみると、うまく印刷できた、と思いきや白黒になっている。なんとなくc5600にしてみたら、カラーもできた。しかし、今度は両面印刷がうまくいかない。

まあ、初日はこんなもんかな。


2012-11-20 pcmanfmの自動認識

_ udiskかgvfs-fuse

先日停電があって、そのときに実験室のPCが一台お亡くなりになった。代わりになるPCを探していたら、少し古いノートがあったので、これにdebian squeezeのLXDEを入れた。しかし、USBで外部ドライブを接続したときに、pcmanfmから認識してくれない。dmesgでは認識しているようだが、何の設定が悪いのか分からなかったが、ようやく解決できた。不要な作業もあるかもしれないが、以下に書いておくことにする。

まず、インストールされていなければ、udiskとgvfs-fuseをインストールする。

aptitude install gvfs-fuse udisk

次に/etc/polkit-1/localauthority/50-local.d/55-pcmanfm.pklaを作って、以下を記述する。

[Strage Permissions]
Identity=unix-group:plugdev
Action=org.freedesktop.udisks.filesystem-mount;
org.freedesktop.udisks.drive-eject;
org.freedesktop.udisks.drive-detach;
org.freedesktop.udisks.luks-unlock;
org.freedesktop.udisks.inhibit-polling;
org.freedesktop.udisks.drive-set-spindown
ResultAny=yes
ResultActive=yes
ResultInactive=no 

そして、再起動すれば認識してくれるようになった。でも、何をしているのかさっぱり理解していない。まあ、いいか。


2012-11-22 C301dnで両面印刷

_ foo2hipercのバージョン

先日到着したプリンターC301dnで、Linuxから両面印刷ができないのが、不満だったので、再挑戦してみた。Debian Squeezeで
foo2hiperc-wrapper -V
としたら、以下のように表示された。
$Id: foo2hiperc-wrapper.in,v 1.15 2009/05/11 17:35:55 rick Exp $
$Id: foo2hiperc.c,v 1.25 2009/03/08 00:35:31 rick Exp $
$Id: foo2zjs-pstops.sh,v 1.13 2008/12/05 02:46:35 rick Exp $
思ったよりも古いようだ。そこで、新しいfoo2hipercを入れるために、以下のようにした。
wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz
tar zxf foo2zjs.tar.gz
cd foo2zjs
make
sudo make install
そこで、同じようにバージョンを確認すると、新しくなっている。
$Id: foo2hiperc-wrapper.in,v 1.25 2011/01/31 12:23:43 rick Exp $
$Id: foo2hiperc.c,v 1.32 2011/06/09 13:35:06 rick Exp $
$Id: foo2zjs-pstops.sh,v 1.20 2012/02/23 21:19:46 rick Exp $
そして、プリンターもC310dnがあったので、少しでも数字が近い方が良いだろうということで、それを指定した。両面印刷を試してみると、無事できるようになっている。やはり、物事は苦労してできるようになると、感慨深いものである。

2012-11-26 openofficeからlibreoffice

_ debian squeezeにlibreoffice

windowsのlibreofficeで作ったodpファイルを、debianのopenofficeで見たら、文字が大きくずれてしまったので、libreofficeを入れることにした。openoffice.orgを除去して、aptのsourceに

deb http://backports.debian.org/debian-backports squeeze-backports main

を加えて、libreofficeを入れた。依存関係の問題が生じたが、二番目の提案を採用したら、一応インストールには成功した。そこで、問題のodpを開いたら、ほぼ良い感じで読むことができた。フォントが違うのか、微妙に文字の大きさの関係でずれている箇所はあったが、まあ良いだろう。

余談だが、そのodpをwindowsXPのlibreofficeで作成している時には、拡張子をつけると、explorerが固まるという症状に悩まされた。そのファイルをシングルクリックするとハングして、libreofficeが立ち上がる以前に死ぬのである。あたかもlibreofficeを使うおうとする人を邪魔するような挙動である。拡張子をつけないとうまくいくので、libreofficeが悪いわけでは無いだろうし。世の中には不思議なこともあるものである。


2012-11-27 anonymousでftp

_ anonymousの設定は面倒

ftpからwebのデータをanonymousでuploadできるようにしようと思ったら、設定に思ったより苦しんでしまった。vsftpdを使っているので、/etc/vsftpd.confを編集して、以下を追加する。
nonymous_enable=YES
no_anon_password=YES
anon_root=/home/anon/public_html
anon_upload_enable=YES
anon_other_write_enable=YES
anon_umask=777
anon_mkdir_write_enable=YES
そして、public_htmlをchmod go+rwとしておくと良い。結局はこれだけなのだが、anonymousに関する設定がいろいろとあって、そのどれが必要なのかを調べるのが面倒だった。