May 16, 2012

Windows7 における XBIB-U ( MaxStream PKG-U ) ドライバの導入

XBeeで遊びはじめたのだが、
XBee用USBアダプタであるXBIB-Uのドライバの導入で躓いたのでメモ。

XBIB-U-DEVはまったく問題なく標準USBシリアルドライバで対応できたので、面倒な人はXBIB-U-DEVを購入すべき。
標準USBシリアルドライバではXBIB-U ( MaxStream PKG-U )に対応できない。

FTDIにいって必要な物を入手する。
DLするのは ドライバそのもの(これを書いている時点では2.08.24)と、setup executable(これを書いている時点ではCDM20824_Setup.exe) 

ドライバをDL・展開し、出来たディレクトリをスペースが入らない名前にリネーム(この例ではXBIBDriverとする)してC:\直下に配置する(c:\XBIBDriver)。(このへんはスペースが入っている場合のcmdでのパス表記の仕方に理解がある人ならどうやったっていい) 

編集すべきはftdibus.infとftdiport.infの2つ。

 ftdibus.infは
[FtdiHw]セクションに
%USB\VID_0403&PID_EE18.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_EE18
を追加

[FtdiHw.NTamd64]セクションに
%USB\VID_0403&PID_EE18.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_EE18
を追加

[Strings]セクションに
USB\VID_0403&PID_EE18.DeviceDesc="MaxStream PKG-U"
を追加
ftdiport.infは
[FtdiHw]セクションに
%VID_0403&PID_EE18.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_EE18
を追加

[FtdiHw.NTamd64]セクションに
%VID_0403&PID_EE18.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_EE18
を追加

[Strings]セクションに
VID_0403&PID_EE18.DeviceDesc="USB Serial Port"
を追加

つぎにsetup executableを実行する。
これによって、C:\Users\%ユーザーネーム\AppData\Local\Temp以下に DPInstx64.exe が作成されるので、これをcmdから呼び出して上記で編集したinfをインストールする。
(ユーザーネームには自分のユーザーネームを入れる)

 cmd内で
c:\Users\ユーザーネーム\AppData\Local\Temp\DPInstx64.exe /PATH c:\XBIBDriver
としてインストールして終了。

参考:https://acs.is.nagoya-u.ac.jp/index.php?module=User&action=Diary&id=1010

May 14, 2012

Ubuntu12.04 の guest session を無効化する

guestでログインとか気持ち悪すぎるので、無効化する。 
/etc/lightdm/lightdm.confの[SeatDefaults]の最後に
allow-guest=false
を追記して再起動すれば良い。

May 2, 2012

Cisco IP Phone 7940G の SIP ファーム 化について

地味に面倒だったのでメモ。 

まず、dhcp,tftp環境を整える。
SELinuxは、あらかじめ例のあの方にごめんなさいをしてから、切っておく。
Firewallはudpの67,69が開いてれば大丈夫。
# yum install tftp-server
# yum install dhcp
# chkconfig xinetd on
# chkconfig dhcpd on

デフォルトではtftpは/etc/xinetd.d/tftp内の記述で殺されているので、
service tftp
{
 socket_type  = dgram
 protocol  = udp
 wait   = yes
 user   = root
 server   = /usr/sbin/in.tftpd
 server_args  = -s -v /var/lib/tftpboot
 disable   = no
 per_source  = 11
 cps   = 100 2
 flags   = IPv4
}
とでもして起動するようにしておく。
また-vオプションによって/var/log/messagesに詳細なログがはかれるようにしておく。

 dhcpは、/etc/dhcp/dhcpd.confを
ddns-update-style interim;
ignore client-updates;

option voip-tftp-servers code 150 = ip-address;
option voip-tftp-servers 192.168.1.1;

subnet 192.168.1.0 netmask 255.255.255.0 {

  option routers                  192.168.1.1;
  option subnet-mask              255.255.255.0;
  option nis-domain               "";
  option domain-name              "";
  option tftp-server-name         "192.168.1.1";


  range dynamic-bootp 192.168.1.200 192.168.1.250;
  default-lease-time 3600;
  max-lease-time 7200;
}
とでもしておけばよい。

/var/lib/tftpbootには、

Ciscoの提供するSIPファームのzipファイルに由来する

OS79XX.TXT
P003-8-12-00.sbn
P0S3-8-12-00.sb2
P003-8-12-00.bin
P0S3-8-12-00.loads

と、別途用意する

XMLDefault.cnf.xml
SIPDefault.cnf
SIPXXXXXXXXXXXX.cnf
XMLDefault.cnf.xml
dialplan.xml

を入れておけばよい。

後者の内容に関しては
http://www.junic.net/archives/325
を参照。
各項目の説明は
http://www.cisco.com/cisco/web/support/JP/docs/VAUC/IPTelep/SIPIPPhoneSW/AG/001/03_sipmn44.html?bid=0900e4b18252979a
http://www.cisco.com/cisco/web/support/JP/docs/VAUC/IPTelep/SIPIPPhoneSW/AG/001/02_sipins44.html?bid=0900e4b18252979a
を参照。

あとは、7940Gに電源とLANをつないで起動させれば、
勝手にファームを読みにきて、
勝手にファームを書き換えて、
起動してくれる。

Asteriskの設定で気をつけるべきはsip.confの[general]内で"nat = no"を宣言しておくこと。
これは、上記の7940Gに食わせた設定との整合のため。

7940Gの電源が地味に面倒である。
というのもIEEE 802.3af制定前のCiscoの独自規格のPoEを採用しているためである。
今回私はHPのProCurve 2600-PWRをつかった。
何の設定もなしに、一発給電!大変よい買い物であった。