最新版はこちら。 突っ込みは各日付の BBS エントリのほか、 メール (nakano@st.seikei.ac.jp) や フォーム からどうぞ。 なおスパム除けのため、BBS 機能には 緩い認証を入れて います。 検索エンジンから来た方は、エンジンの方のキャッシュを見るか、 下の簡易検索を試してみてください。
|
Namazu for hns による簡易全文検索 詳しくは 詳細指定/ヘルプを参照して下さい |
||||||||||||||||||||||||||||||||||||||||||||||||
% uhvsp(nakano) ~ [55] lspci | grep Serial 05:00.0 Serial controller: NetMos Technology PCIe 9922 Multi-I/O Controller 05:00.1 Serial controller: NetMos Technology PCIe 9922 Multi-I/O Controller % uhvsp(nakano) ~ [56] dmesg | grep ttyS [ 1.248652] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A [ 1.270779] 00:03: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A [ 1.308423] 0000:05:00.0: ttyS1 at I/O 0xd010 (irq = 16) is a ST16650V2 [ 1.344253] 0000:05:00.1: ttyS2 at I/O 0xd000 (irq = 17) is a ST16650V2ということで、ttyS1 と ttyS2 として使える模様。実は ttyS0 はあったのか。 ケーブリングすればもう一個使えるのかな? (ケースにそれらしいカット穴はある)
# date -s "2012.08.13-10:30:00"のような感じで復帰、reboot して復旧した模様。
--- man/elsarticle/model3-num-names.bst 2011-04-14 18:25:56.000000000 +0900 +++ model3-num-names.bst 2012-08-15 00:51:18.420172407 +0900 @@ -371,11 +371,12 @@ if$ } FUNCTION {format.url} -{ url empty$ - { "" } - { "\urlprefix\url{" url * "}" * } - if$ -} +{ "" } +%{ url empty$ +% { "" } +% { "\urlprefix\url{" url * "}" * } +% if$ +%} INTEGERS { nameptr namesleft numnames }というようなパッチを当てて通るようにした。
apt-get install dselect dselect updateしたらいけるようになった。謎。
[global] http-proxy-exception = プロキシを通さないホスト名 http-proxy-host = プロキシサーバのホスト名 http-proxy-port = プロキシサーバのポート番号のように svn の proxy を設定、 こちら を参考に
svn co https://linux-gpib.svn.sourceforge.net/svnroot/linux-gpib/trunk linux-gpibで trunk を持ってきた。
sudo apt-get install automake libtool flex bison build-essential linux-headers-686-pae ./bootstrap ./configure make sudo make installという感じで build とインストールはできた模様。 ここで modprobe agilent_82357a などが効くのを確認 *1 (まだデバイス刺してないので当然何も起こらないが)。
KERNEL=="gpib[0-9]*", MODE="0660", GROUP="gpib"というような内容にする。自分を gpib グループに追加する。
apt-get install fxloadしておく。
--- linux-gpib/util/templates/gpib.conf 2012-08-16 12:54:40.093041600 +0900 +++ /etc/gpib.conf 2012-08-16 14:59:23.000000000 +0900 @@ -22,8 +22,8 @@ interface { minor = 0 /* board index, minor = 0 uses /dev/gpib0, minor = 1 uses /dev/gpib1, etc. */ - board_type = "ni_pci" /* type of interface board being used */ - name = "violet" /* optional name, allows you to get a board descriptor using ibfind() */ + board_type = "agilent_82357a" /* type of interface board being used */ + name = "82357a" /* optional name, allows you to get a board descriptor using ibfind() */ pad = 0 /* primary address of interface */ sad = 0 /* secondary address of interface */ timeout = T3s /* timeout for commands */という感じで書き換えて gpib_config。
[ 2.188429] usb 1-1.1: new full-speed USB device number 3 using ehci_hcd [ 2.282876] usb 1-1.1: New USB device found, idVendor=0957, idProduct=0107 [ 2.282881] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=5 [ 2.282884] usb 1-1.1: Product: 82357A (041012-10:21) [ 2.282886] usb 1-1.1: Manufacturer: Agilent Technologies, Inc. [ 2.282889] usb 1-1.1: SerialNumber: MY46031021 : [ 4.210983] Linux-GPIB 3.2.16 Driver [ 4.228528] agilent_82357a_gpib driver loadingprobe succeeded for path: usb-0000:00:1a.0-1.1 [ 4.228554] usbcore: registered new interface driver agilent_82357a_gpib [ 4.228556] gpib: registered agilent_82357a interfaceとなった *3 。ログインして gpib_config したら、
[ 100.568016] attached to bus interface 0, address 0xf7105400 [ 100.576604] agilent_82357a_attach: attachedとなり、無事 /dev/gpib0 に rw できるデバイスができた模様。 いろいろ試行錯誤したので抜けている手順があるかもしれないが。
uhvsp(nakano) ~ [59] ibtest Do you wish to open a (d)evice or an interface (b)oard? (you probably want to open a device): b enter name of interface board (or device) you wish to open: 82357a trying to open board named '82357a' You can: w(a)it for an event write (c)ommand bytes to bus (system controller only) send (d)evice clear (device only) change remote (e)nable line (system controller only) (g)o to standby (release ATN line, system controller only) send (i)nterface clear (system controller only) ta(k)e control (assert ATN line, system controller only) get bus (l)ine status (board only) go to local (m)ode change end (o)f transmission configuration (q)uit (r)ead string perform (s)erial poll (device only) change (t)imeout on io operations request ser(v)ice (board only) (w)rite data string : q uhvsp(nakano) ~ [60]ということで、たぶん動くようになったかと。
#include <gpib/ib.h> #include <stdio.h> #include <stdlib.h> #include <string.h> int main(){ int ud_b, ud_d; char qigcmd[8]; short found_listener; const char crlf[] = {0x0d, 0x0a, 0}; ud_b = ibfind("82357a"); printf("ud_b is %d\n", ud_b); ud_d = ibfind("qig"); printf("ud_d is %d\n", ud_d); ibsta = ibsic(ud_b); printf("IFC result is %X\n", ibsta); ibsta = ibsre(ud_b, 0x01); printf("REN result is %X\n", ibsta); ibsta = ibeos(ud_d, 0xC00); printf("EOS result is %X\n", ibsta); strcpy(qigcmd, "K3"); strcat(qigcmd, crlf); ibsta = ibwrt(ud_d, qigcmd, 4); printf("WRT result is %X\n", ibsta); printf("ERR is %d\n", iberr); ibln(ud_b, 1, ALL_SAD, &found_listener); printf("LN result is %X\n", ibsta); printf("fl value is %d\n", found_listener); exit(0); }を実行すると
ud_b is 16 ud_d is 17 IFC result is 120 REN result is 120 EOS result is 100 WRT result is 2100 ERR is 0 LN result is 128 fl value is 1というような結果を返すようにはなった。 しかしどうも不安定ではあるな…まあこのデバイスは以前からだが。
NOKUBI Takatsugu野首貴嗣 @knokすばらしい。すかさず主要ホスト群にインストールした。
マシンを再起動しようとして、molly-guardを入れていたことに気づいた。こいつはssh経由とかでshutdownをしようとすると確認のためホスト名の入力を求めるという、うっかりさんには必須のソフト