特定ホストとの通信用スクリプト。¶
自宅では普段、有線LANを使っている。自宅外とのFTPで通信したいとき、利用しているブロードバンドルータに静的ポリシーでhigh portでざっくりOKにしないといけないのが非常に嫌なのである。通信したいのは作業用の環境だけなのに、他のノードにまでアクセスできるようになるのは気持ち悪い。
まぁそこは抜け道として、ブロードバンドルータの外側にFONを設置しているので、FTPだけでなくhigh port使っていて、ブロードバンドルーターで細かいポリシーを扱えないのはFON経由でやるようにしている。いちいち設定するのは面倒なので、シェルスクリプト書いてやった。
#!/bin/sh
PID=~/tmp/wpa.pid
CONF=~/tmp/wpa.conf
IP=xxx.xxx.xxx.xxx
MASK=255.255.255.0
GW=xxx.xxx.xxx.yyy
FTP=zzz.zzz.zzz.zzz
case "$1" in
start)
test -f $PID && exit 2
cat <<EOF > $CONF
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
ap_scan=2
update_config=1
network={
ssid="essid"
scan_ssid=1
psk=yourwlanrouterpresharedkey
key_mgmt=WPA-PSK
priority=1
}
EOF
lsmod | grep -q wl || modprobe wl
sleep 1
wpa_supplicant -i eth1 -c $CONF -B -P $PID
ifconfig eth1 $IP netmask $MASK
route add $FTP gw $GW dev eth1
;;
stop)
test -f $PID || exit 3
ifconfig eth1 0.0.0.0 down
kill `cat $PID`
modprobe -r wl
rm $CONF
;;
*)
echo "Usage; $0 {start|stop}"
exit 1
;;
esac
exit 0
Loppiでのクーポン発行が分かりづらい。¶
Bennefit Stationという福利厚生のサービスで、ヨメの乳がん検診のクーポンを発券することにした。クーポンの発券方法はローソンのLoppiで発券となっており、支払方法が、銀行振り込み、クレジットカード、Loppiでの支払いなどになっていた。福利厚生のポイントの換金分とクーポンの金額の差額が40円なので、クレジットカード支払いにするまでないやというのと、Loppiでクーポンを発券できるのだったら支払いもLoppiでしてしまえばいいやと思い、ローソンで手続きしてみた。
が、なんかおかしい。差額の41円をだけでなく、手数料で126円取られている。しかも、インターネット受付 領収書しかもらってない。昨夜見た手続きを勘違いしていたかな?と思い、出社後に確認してみたら、やはりクーポン自体の発券はローソンで、となっている。クーポン忘れたかと思い、その店舗に問い合わせしてみたら、どうやら11ケタの番号が必要と。昨夜来たメールを見ても10ケタの受付番号しか書いていない。どういうことだ?とメールを見直してみたら下の方に、
後ほどカスタマーセンターよりBSカフェクーポンの受付番号をご連絡いたします。
※差額が発生した場合は、ご入金確認後のご連絡となります。
とか書いてる。気づかんよ、これじゃ。結局、Loppi支払いにするとローソンに2回行かないといけない上に、Loppiの手数料126円も取られるんじゃ、最初からクレジットカード払いにしておけば良かったなぁ…。
分かりにくいうえに手間もかかり、おまけに手数料まで取られるような仕組みはあかんなぁ。
起動が遅くなってた理由がちょっと判明。¶
だんだん起動が遅くなってきていたDebian on MacBookだが、14日のアップデートで突然速くなったなと思ったら、15日のアップデートでまた遅くなってしまった。共通しているのは、grub2(grub-common, grub-pc)のアップデート。grubがどうやら怪しいのだが原因特定には至らず。
で、grubがどうやら怪しいのならと、視点を変えてブートオプションを変更してみた。今grubの設定は以下のようになっている。
menuentry "Debian GNU/Linux, with Linux 2.6.32" {
insmod ext2
set root=(hd0,3)
search --no-floppy --fs-uuid --set cd19d76b-a1e3-4bb5-a873-2f4317414d89
linux //vmlinuz-2.6.32 root=UUID=d53d33d3-a20f-4d08-8963-e386f730a3b1
ro nosmp irqpoll acpi=noirq quiet
initrd //initrd.img-2.6.32
}
オプションをそれぞれ無効にした結果、
nosmp:”no responses”と表示され止まり、起動せず。
acpi=noirq:何も変わらず。遅いまま。
irqpoll:めっちゃ速くなった。
原因はirqpollだった模様。14日のgrubのアップデートで速くなった時より段違いで、40秒強ほどで起動。外すと5分はかかるのに。これ外せばいいじゃん、としたいところだが、これ外すとこれが出るからやってたんだよなぁ。
[ 2.204739] irq 11: nobody cared (try booting with the "irqpoll" option)
[ 2.204800] Pid: 629, comm: modprobe Not tainted 2.6.32 #1
[ 2.204802] Call Trace:
[ 2.204804] <IRQ> [<ffffffff8108d522>] ? handle_IRQ_event+0x21/0x126
[ 2.204817] [<ffffffff8108e6d8>] ? __report_bad_irq+0x30/0x7d
[ 2.204822] [<ffffffff8108e82a>] ? note_interrupt+0x105/0x16f
[ 2.204827] [<ffffffff810266fa>] ? default_spin_lock_flags+0x5/0xb
[ 2.204832] [<ffffffff8108ef86>] ? handle_level_irq+0xa5/0xf1
[ 2.204837] [<ffffffff8100e763>] ? handle_irq+0x17/0x1d
[ 2.204840] [<ffffffff8100dd9d>] ? do_IRQ+0x57/0xb6
[ 2.204844] [<ffffffff8100c413>] ? ret_from_intr+0x0/0x11
[ 2.204848] [<ffffffff8100fd24>] ? enable_8259A_irq+0xf/0x45
[ 2.204853] [<ffffffff8104b18b>] ? __do_softirq+0x6e/0x19f
[ 2.204857] [<ffffffff8100cbec>] ? call_softirq+0x1c/0x28
[ 2.204861] [<ffffffff8100e70f>] ? do_softirq+0x3f/0x7c
[ 2.204864] [<ffffffff8104afe4>] ? irq_exit+0x36/0x76
[ 2.204868] [<ffffffff8100dde6>] ? do_IRQ+0xa0/0xb6
[ 2.204871] [<ffffffff8100c413>] ? ret_from_intr+0x0/0x11
[ 2.204873] <EOI> [<ffffffff812fd032>] ? _spin_unlock_irqrestore+0x14/0x1d
[ 2.204884] [<ffffffff812264a4>] ? devm_kzalloc+0x49/0x50
[ 2.204892] [<ffffffffa003864c>] ? ahci_port_start+0x28/0xcd [ahci]
[ 2.204901] [<ffffffffa00de366>] ? __ata_port_freeze+0x35/0x3b [libata]
[ 2.204909] [<ffffffffa00de43f>] ? ata_eh_freeze_port+0x2b/0x40 [libata]
[ 2.204916] [<ffffffffa00d55ac>] ? ata_host_start+0xca/0x15e [libata]
[ 2.204922] [<ffffffffa0039acb>] ? ahci_interrupt+0x0/0x459 [ahci]
[ 2.204930] [<ffffffffa00d61e2>] ? ata_host_activate+0x22/0xdf [libata]
[ 2.204936] [<ffffffffa0039aab>] ? ahci_init_one+0xf6a/0xf8a [ahci]
[ 2.204943] [<ffffffff8119c9e6>] ? local_pci_probe+0x12/0x16
[ 2.204947] [<ffffffff8119d605>] ? pci_device_probe+0xba/0xe3
[ 2.204951] [<ffffffff812244be>] ? driver_probe_device+0xa3/0x14b
[ 2.204955] [<ffffffff812245b5>] ? __driver_attach+0x4f/0x6f
[ 2.204959] [<ffffffff81224566>] ? __driver_attach+0x0/0x6f
[ 2.204962] [<ffffffff81223d49>] ? bus_for_each_dev+0x43/0x74
[ 2.204966] [<ffffffff81223709>] ? bus_add_driver+0xea/0x233
[ 2.204970] [<ffffffff8122486b>] ? driver_register+0xa7/0x111
[ 2.204976] [<ffffffffa0052000>] ? ahci_init+0x0/0x1a [ahci]
[ 2.204980] [<ffffffff8119d841>] ? __pci_register_driver+0x50/0xb8
[ 2.204986] [<ffffffffa0052000>] ? ahci_init+0x0/0x1a [ahci]
[ 2.204990] [<ffffffff81009051>] ? do_one_initcall+0x50/0x148
[ 2.204995] [<ffffffff810724b5>] ? sys_init_module+0xc5/0x21a
[ 2.204998] [<ffffffff8100ba82>] ? system_call_fastpath+0x16/0x1b
[ 2.205001] handlers:
[ 2.205052] [<ffffffff81233a9e>] (usb_hcd_irq+0x0/0x7e)
[ 2.205198] Disabling IRQ #11
むぅ。このメッセージの前に、これも出とるのに今気づいた。
[ 0.262910] pci 0000:00:15.0: can't find IRQ for PCI INT A; please try using pci=biosirq
こっちを試したら、irqpollは必要なくなるだろうか…?
予想通り…。¶
ダメだった。”biosirq”なんてオプションねぇよと言われた。そりゃMacBookだもんなぁ。EFIなんだからダメだよなぁ…。
GDDJ-09をAndroid1.6にアップデート。¶
ずっと放置していたAndroid 1.6へのアップデートを行った。Debianではadb devicesで情報を取れなかったので、しゃあないのでMac OS Xを立ち上げて実行。あっさり終了。確かにさくさく動くようになった気がする。