[FreeBSD-users-jp 91956] 連続して rsh でコマンドを実行できな い。

2008-12-31 スレッド表示 ito
伊藤です。

rshd (FreeBSD 7.0-RELEASE-p7 #0) に接続する際、1 回目はすんなり通りますが、
2 回目のコマンドを実行するまで 2〜3 分またないと、rshd サーバに接続が拒否
されます。

いろんなクライアントからテストしましたが、以下のメッセージとなるので、
クライアント依存では無いようです。

rsh: can't establish connection

→設定内容。

 /etc/pam.d/rsh はデフォルトのまま。

 cat /etc/hosts.equiv
host-name   user-name

 cat .rhosts
host-name   user-name
パーミッションは 600.

/etc/login.conf の ignorenologin や ignoretime 等のクラスが影響しているようにも
思えますが、類似の事例も無かったみたいなので心当たりのある方アドバイスをお願いします。


[FreeBSD-users-jp 92040] Re: du コ マンドでの差異について。

2009-02-02 スレッド表示 ito
小坂です。

FreeBSD のディレクトリサイズが 512 Byte で CentOS のディレクトリサイズは
4 KB という事だと思います。

Linux をご利用の様子なので、ディレクトリサイズについては以下を参考にして
みてください。
http://search.luky.org/linux-users.9/msg09161.html

以上
--
Yahoo! JAPAN - Internet safety for children and parents.
http://pr.mail.yahoo.co.jp/security/


[FreeBSD-users-jp 88341] Re: イン ストールできない rpm (Adapt ec RAID のツール)

2005-11-30 スレッド表示 Kouji Ito
伊藤です。
 
 チップセットが同じ、という安直な判断で。。(^^;
 ディスクを引っこ抜いたり、ホットスワップさせたり、いろいろやってみましたが、
 動作は問題なさそうです。ただ、ツールが入らないと、エラーの検出や再構築ができ
 ないのですが。。
 

HPのDL380というマシンには、CISSドライバで動作可能なRAIDコントローラが乗っています。
このRAIDコントローラもサポートソフトウェアでRAIDの設定や各種情報の取得が出来るのですが、
そのソフトウェアはLinuxやWindows用は用意されていたのですが、残念なことにFreeBSD用
はありませんでした。
幸い、ソースが入手出来たので自分の欲しい情報だけは取り出す事が出来ました。
(その後、 http://people.freebsd.org/~jcagle/ を見付けてちょっとがっくし。)


ここからが本題なのですが、
このRAIDコントローラ(CISS)のサポートソフトは結局はデバイスドライバ(/dev/ciss)を開けて、
ioctlしているだけの物でした。
よって、最終的にサポートソフトが動くかどうかは、そのソフトがインストール出来るかどうか
よりもデバイスドライバ側にきちんとした処理が入っているかどうかが決め手になっていると
いう事でした。

今回インストールしようとしているRAIDツール及び、RAIDコントローラのドライバも同じような
作りだとすると、RAIDツールがインストール出来たとしても、デバイスドライバ側の対応が
きちんと作り込まれていないとうまく動かないという可能性もあるかも知れません。

うまくいくことを祈ってます。

ではでは。




[FreeBSD-users-jp 89397] USB デバ イス動作報告 エムコ マース BioSlimDisk iDEA ( 指紋認証機能付き USB フラッシュメモリ )

2006-03-21 スレッド表示 Kouji Ito
こんにちは、伊藤です。

指紋認証機能付きのUSBフラッシュメモリの動作報告です。
最近なにかと、セキュリティが厳しくなってきています。
データを暗号化して書き込むタイプの製品や、指紋認証機能を
搭載したUSBメモリは各種ありますが、いずれも、OS側でデバイス
ドライバのサポートを必要としている製品が多数を占めている様です。
この製品は、USBメモリ単体で指紋認証機能が完結しており、OS側での
サポートなしに指紋認証機能を使用することが可能となっています。


1. お使いの USB デバイスの正式名称、メーカー。
 メーカー: エムコマース株式会社
 商品名: 指紋認証機能付きのUSBフラッシュメモリ BioSlimDisk iDEA
 型番: BioSlimDisk iDEA 1GB
 製品へのURL: http://www.m-commercekk.jp
 説明: 指紋認証機能付きのUSBフラッシュメモリです。
 指紋認証機能は、USBメモリ内部で完結している為、ドライバ不要で
 指紋認証機能を使用することが出来ます。
 USBメモリを差しただけでは、USBメモリ自体が認識されません。
 USBメモリを差し、指紋認証に成功すると、USBメモリが認識されます。
 USBメモリが認識されれば、通常のUSBメモリとして使用可能です。

2. お使いの OS の バージョン(出来れば-CURRENT、-STABLE の場合はいつ頃 cvsup したかも)。
  FreeBSD 7.0-CURRENT  #1: Mon Mar 20 19:52:40 JST 2006

3. USB デバイスを認識しているところの /var/log/messages
   kernel: umass0: BSD IDEA 2.0, class 0/0, rev 2.00/1.00, addr 2 on uhub2
   kernel: da0 at umass-sim0 bus 0 target 0 lun 0
   kernel: da0: BSD IDEA 1.00 Removable Direct Access SCSI-2 device
   kernel: da0: 40.000MB/s transfers
   kernel: da0: 999MB (2047872 512 byte sectors: 64H 32S/T 999C)

4. usbdevs -v の結果
  Controller /dev/usb2:
  addr 1: high speed, self powered, config 1, EHCI root hub(0x), 
NEC(0x), rev 1.00
  port 1 addr 2: high speed, power 100 mA, config 1, IDEA 2.0(0x2060), 
BSD(0x0c45), rev 1.00

5. 動作したか、しないか。
  動作した。

6. 他に気になる点、注意点について。
  FATファイルシステムでの書き込み速度 5MB/s
  FAT32ファイルシステムでの書き込み速度 2.5MB/s

7. プライベートメールを公開してよいか(記述なければ載せます。
  可

8. 謝辞に名前を載せてもよいかどうか(記述がなければ載せます)。
  可

以上





[FreeBSD-users-jp 89403] Re: Samba でファイルが壊れる

2006-03-28 スレッド表示 Kouji Ito
伊藤です。
 
ファイルが壊れているというのは、内容が壊れているということでしょうか、
 
 ファイルの内容が壊れています。ファイル自体を読むことは可能です。
 

ファイルの内容が壊れているというのは具体的にどんな感じで壊れてるんでしょう?
テキストデータの文字コードがおかしいという話ですか?
バイナリデータの内容がおかしいという話ですか?


[FreeBSD-users-jp 89409] マルチ[ リンク | パス]ethernet について

2006-04-05 スレッド表示 Kouji Ito
こんにちは、伊藤です。
ご存知の方いらっしゃいましたら、御教授下さい。

FreeBSDで、複数のNICを仮想的に1つのNICとしてまとめ、
1つのIPアドレスを割り振るという使い方をするための機能として
ng_one2manyを使うという方法があるようですが、
実際に使われた方、評価した方いらっしゃいますか?

また、ng_one2many以外の方法で同様の事が実現可能だよという
情報もあれば教えて頂きたいと思います。





[FreeBSD-users-jp 89412] Re: マル チ[ リ ンク | パス]ethernet につ いて

2006-04-06 スレッド表示 Kouji Ito
Koh-ichi Oniuda さん。
詳細な手順まで付けて頂いてありがとうございます。
fxp1に、IPアドレスを振っているのにはなにか意味があるんでしょうか?

ちょうど手元に、emのQUADなNICがちょうどあるので私も試してみたいと思います。


mmasuda さん。
ng_fecの存在を初めて知りました。
CISCOのスイッチと繋ぐのであれば、これもいけそうですね。
GigaBitのNICと、CISCOのGigaBit-SWを使えば、GigabitEtherChannelも
できるのかなぁ?
試してみたいんですが、手元にGigaBitなCISCOのSWがないです。 (; ;)


[FreeBSD-users-jp 89637] Re: firefox core dump

2006-06-02 スレッド表示 Kouji Ito
こんにちは、伊藤です。
7.0-CURRENT FreeBSD 7.0-CURRENT #0: Fri Mar 24 13:18:00 JST 2006
Firefox version 1.5.0.3
という環境ですが、

印刷プレビューした後「閉じる」ボタンを押すと

私の所も同じように落ちます。
ポストスクリプトのフォント周り?
あまり印刷しないので、今まで気付きませんでした。

 #0  0x287c57b7 in pthread_atfork () from /lib/libpthread.so.2
#1  0x287b3bc2 in sigaction () from /lib/libpthread.so.2
#2  0x287bb7b1 in pthread_kill () from /lib/libpthread.so.2
#3  0x287ae526 in raise () from /lib/libpthread.so.2
#4  0x0805e67b in nsProfileLock::FatalSignalHandler ()
#5  0x287b1d6a in sigaction () from /lib/libpthread.so.2
#6  0x287b320d in sigaction () from /lib/libpthread.so.2
#7  0x287bc01d in pthread_kill () from /lib/libpthread.so.2
#8  0x287bc08b in pthread_kill () from /lib/libpthread.so.2
#9  0x28871e37 in _ctx_start () from /lib/libc.so.6
#10 0x in ?? ()
#11 0xbfbfbf80 in ?? ()
#12 0xbfbfbcc0 in ?? ()
#13 0x in ?? ()
#14 0x287bc048 in pthread_kill () from /lib/libpthread.so.2
#15 0x2acc72c1 in nsFontPSXft::~nsFontPSXft ()
   from /usr/X11R6/lib/firefox/components/libgfxps.so
#16 0x2acc4a7b in nsFontMetricsPS::~nsFontMetricsPS ()
   from /usr/X11R6/lib/firefox/components/libgfxps.so
#17 0x2acc4bd4 in nsFontMetricsPS::~nsFontMetricsPS ()
   from /usr/X11R6/lib/firefox/components/libgfxps.so
#18 0x28ef340a in nsFontCache::Flush () from /usr/X11R6/lib/firefox/libgkgfx.so
#19 0x28ef2f54 in nsFontCache::~nsFontCache ()
   from /usr/X11R6/lib/firefox/libgkgfx.so
#20 0x2acc4624 in nsFontCachePS::~nsFontCachePS ()
   from /usr/X11R6/lib/firefox/components/libgfxps.so
#21 0x28ef18a6 in DeviceContextImpl::~DeviceContextImpl ()
   from /usr/X11R6/lib/firefox/libgkgfx.so
#22 0x2acc3389 in nsDeviceContextPS::~nsDeviceContextPS ()
   from /usr/X11R6/lib/firefox/components/libgfxps.so
#23 0x28ef14eb in DeviceContextImpl::Release ()
   from /usr/X11R6/lib/firefox/libgkgfx.so


NAKAJI Hiroyuki wrote:
 中治です。
 
 FreeBSD 7.0-current で firefox-1.5.0.3,1 なのですが、印刷を実行する、ある
 いは印刷プレビューした後「閉じる」ボタンを押すと確実に core dump するのは
 僕だけでしょうか。
 
 印刷はできるのですが、そのまま確実に落ちるので、難儀しています。
 
 #0  0x28abf75f in pthread_atfork () from /lib/libpthread.so.2
 #1  0x28aadb6e in sigaction () from /lib/libpthread.so.2
 #2  0x28ab575d in pthread_kill () from /lib/libpthread.so.2
 #3  0x28aa84d2 in raise () from /lib/libpthread.so.2
 #4  0x0805e7b7 in nsProfileLock::FatalSignalHandler ()
 #5  0x28aabd16 in sigaction () from /lib/libpthread.so.2
 #6  0x28aad1b9 in sigaction () from /lib/libpthread.so.2
 #7  0x28ab5fc9 in pthread_kill () from /lib/libpthread.so.2
 #8  0x28ab6037 in pthread_kill () from /lib/libpthread.so.2
 #9  0x28b779af in _ctx_start () from /lib/libc.so.6
 #10 0x in ?? ()
 #11 0xbfbfbd10 in ?? ()
 #12 0xbfbfba50 in ?? ()
 #13 0x in ?? ()
 #14 0x28ab5ff4 in pthread_kill () from /lib/libpthread.so.2
 #15 0x2be512d5 in nsFontPSXft::~nsFontPSXft ()
from /usr/X11R6/lib/firefox/components/libgfxps.so
 #16 0x2be4ea8f in nsFontMetricsPS::~nsFontMetricsPS ()
from /usr/X11R6/lib/firefox/components/libgfxps.so
 #17 0x2be4ebe8 in nsFontMetricsPS::~nsFontMetricsPS ()
from /usr/X11R6/lib/firefox/components/libgfxps.so
 #18 0x28f7140a in nsFontCache::Flush () from 
 /usr/X11R6/lib/firefox/libgkgfx.so
 #19 0x28f70f54 in nsFontCache::~nsFontCache ()
 ...



[FreeBSD-users-jp 89660] [HELP] bge ドライバがリンクステータス の取り出しに失敗 する。

2006-06-12 スレッド表示 Kouji Ito
こんにちは、いつもお世話になっています、伊藤です。
ちょっと長文ですが、おつき合い頂ければと思います。


bgeドライバのパッチを作成して、send-prしたのですが、
私の英語が拙いせいか、あまり相手にしてもらえないので
どなたか、応援をお願いしたいのですが。

http://www.freebsd.org/cgi/query-pr.cgi?pr=98738

「bgeドライバの問題について」

5.5-RELEASE(i386), 7.0-CURRENT(i386),おそらく、6.X(i386)も
同様だと思うのですが、SMPカーネル + マルチプロセッサ(HTT
でも可)という環境において、
複数のプロセスが同時に、bgeドライバを通してNICのリンクステータ
スを取得しようとした場合、リンク状態が正常であるにも関わらず、
ごくまれに異常を返すという現象を確認しています。

具体的には、ifconfig コマンドを同時に複数実行した場合、非常にまれ
ですが、statusフィールドが no carrierを返して来るケースがあります。
(正常であれば、activeとなる。)

カーネルオプションから、 option SMP を抜いたカーネルでは
この現象が発生しないことから、ドライバのソースを追ったところ、
リンク状態を取得する処理にロックが掛けられていなかったため、
ロックを掛ける処理を追加したところ、現象は発生しなくなりました。

「再現させるためには」
(1)SMPカーネルを使う。
(2)マルチプロセッサもしくは、HTTで論理CPUを2つに設定する。
(3)bgeドライバを使用するNICを用意し、HUBに差しリンク状態を正常にする。
(4)以下のシェルスクリプトを2つ、同時に実行する。
タイミングさえ合えば、以下の様にぐるぐる回さなくても良いと思うんですが、
かなり微妙なタイミングなので、回しちゃってます。

 #!/bin/csh
 while 1
set aaa=`ifconfig bge0 | grep active | wc -l`
if ($aaa == 1) then
echo bge0 Link OK
else
echo bge0 Link NG
exit
endif
 end
(5)しばらく待っていると、bge0 Link NGのメッセージが表示される。
ちなみに、fxpや、emでは、こういった現象は発生しませんでした。

「パッチに関して」
要は、 case SIOCGIFMEDIAの処理を、BGE_LOCKと、BGE_UNLOCKで
囲んだだけです。

*** if_bge.c.orig   Fri Jun  9 14:34:29 2006
--- if_bge.cFri Jun  9 14:34:58 2006
***
*** 3325,3330 
--- 3325,3331 
break;
case SIOCSIFMEDIA:
case SIOCGIFMEDIA:
+   BGE_LOCK(sc);
if (sc-bge_tbi) {
error = ifmedia_ioctl(ifp, ifr,
sc-bge_ifmedia, command);
***
*** ,3338 
--- 3334,3340 
error = ifmedia_ioctl(ifp, ifr,
mii-mii_media, command);
}
+   BGE_UNLOCK(sc);
break;
case SIOCSIFCAP:
mask = ifr-ifr_reqcap ^ ifp-if_capenable;

「その他」
bgeと、emでリンク状態の取り出し時間を計ってみると、
emの方が10倍程速いです。
処理的には、NICからステータスを取り出すだけなので
あまり差異はないと思っていたんですが。
ちょっと不思議です。(mii 側に処理があるからかなぁ。)


[FreeBSD-users-jp 89762] Re: [Q] ghostscript and fonts

2006-07-17 スレッド表示 Kouji Ito
こんにちは伊藤です。

 DOS - UNIXは、trコマンドでCRを削除していますが、
 UNIX - DOS の方法が分からないのです。
 

nkf --windows
nkf --unix
でいけると思います。
nkfは、/usr/ports/japanese/nkf
にあります。


[FreeBSD-users-jp 89933] Re: USB の 外付けHDDのマウント

2006-08-22 スレッド表示 Kouji Ito
こんにちは、伊藤です。
とりあえず、WindowsマシンでFAT32あたりでフォーマットして、
msdosfs でマウントしてみてはどうでしょう?



[FreeBSD-users-jp 89943] Re: routed と仮想 IP アドレスについて

2006-08-23 スレッド表示 Kouji Ito
伊藤です。


 
 アドレスを追加してからroutedを起動するとどうなりますか?
 routed がアドレスの追加を見てなんかパケットを(loかfxpか知りませんが)に
 送ってるんではと想像。
 
アドレスを追加してからroutedを起動した場合は、OKです。
routedを起動後に、アドレスを追加するときにroute monitorしていると、

この様なメッセージが出力されます。

got message of size 116 on Thu Aug 24 12:52:06 2006
RTM_NEWADDR: address being added to iface: len 116, metric 0, flags:CLONING
sockaddrs: NETMASK,IFP,IFA,BRD
 255.255.255.255 fxp0:0.8.d.87.be.d 192.168.1.2 192.168.1.2

got message of size 172 on Thu Aug 24 12:52:07 2006
RTM_ADD: Add Route: len 172, pid: 0, seq 0, errno 0, flags:UP,CLONING
locks:  inits:
sockaddrs: DST,GATEWAY,NETMASK
 192.168.1.2  (255)   

got message of size 124 on Thu Aug 24 12:52:08 2006
RTM_CHANGE: Change Metrics or flags: len 124, pid: 959, seq 3, errno 3, 
flags:HOST
locks:  inits: hopcount
sockaddrs: DST,GATEWAY
 192.168.1.2 192.168.1.2

got message of size 124 on Thu Aug 24 12:52:08 2006
RTM_ADD: Add Route: len 124, pid: 959, seq 4, errno 0, flags:HOST,DONE
locks:  inits:
sockaddrs: DST,GATEWAY
 192.168.1.2 192.168.1.2

全部で4回ルーティング情報が更新されています。
最初の2回は、カーネルが仮想アドレスが追加されたために更新していると思います。
残りの2回は、pid:959 からの更新となっており、このpidを持つプロセスはroutedなので、
おっしゃる通り、routedが、ルーティング情報をおかしくしているという事になるかと思います。

問題は、なぜroutedが、このようなルーティング情報を追加しに来るんだろうという所に
なるかと思います。

また、追加するアドレスのネットマスクを255.255.255.255ではなく、255.255.255.0にした場合、
routedが動作していてもうまく動く(ping OK)というのもやっぱり疑問です。

そもそも、NICに複数のアドレスを付ける場合、そのネットマスク値というのは、
どういう使われ方をするのだろう?
という部分がいまいち判っていない様な気がします。


[FreeBSD-users-jp 89951] Re: routed と仮想 IP アドレスについて

2006-08-24 スレッド表示 Kouji Ito
Yoshihiro Masuda wrote:
 増田です。
 
 やはり、予想道理の挙動ですね。そんなもんだろうと想像はしてました。
 手順的な話で言うと、だから、routedはIPをつけ終わって から起動すれば
 って話なんだろうけど、論理的にそれでいいのかは、頭がほかの事で目 一杯なので
 未検証。
 
んー、どうなんでしょうね。
アドレスを追加する度に、routedを再起動させるってのも妙な気がします。


 そもそも、カーネルもdaemon類もいろいろいっぱい改善されたり 改悪されたり
 しているのが、オープンソースなOSですから、(もちろん、 POSIXとか標準は
 あるけどさ、全部は網羅していないから)

そうですね。
例えば、5.1Rだと、ネットマスクをオール1にしないとアドレスの追加に失敗して
しまいますが、5.5Rだと、プライマリのネットマスクと同じマスク値を指定しても、
ちゃんと動きます。

5.1Rでの挙動と、5.5Rでの挙動を比較してみると、アドレスを追加するときに、
ネットマスクをどう使うのかという部分、もしくは、追加されたアドレスをどう処理
するのかという部分が、変わってる見たいです。


 これ以上は、「結局何がやりたいの?」とか、そもそも論の話になって しまうと
 思いますよ。(それこそ、そういうところにコンサル雇ってきっちり仕 事として
 まわしていくみたいな文化ができないとつらいだろうなーとか思う)
 
とりあえず、1つのネットワークインターフェースに複数のIPアドレスを設定
したい場合に、どういう指定(ifconfig の引数)をするのが正しいのかと言うのが
もっかの疑問点です。

どこまで、追えるか甚だ疑問ですが、もちっと頑張ってみます。




[FreeBSD-users-jp 89966] Re: tcsh (csh) 6.13.00 のバグに関して

2006-08-30 スレッド表示 Kouji Ito
伊藤です。

   6.14.00 で本当に直っているのですか? CURRENT に import されている
 sh.sem.c を見る限り、このパッチのような修正は入っていないように見えます。

CURRENTの、 /usr/src/contrib/tcsh/sh.sem.c

  1 /* $Header: /src/pub/tcsh/sh.sem.c,v 3.69 2005/01/18 20:24:51 christos 
Exp $ */
 36 RCSID($Id: sh.sem.c,v 3.69 2005/01/18 20:24:51 christos Exp $)
868 #ifndef WINNT_NATIVE
869 (void) fcntl(fd, F_SETFL, fcntl(fd, F_GETFL) | O_LARGEFILE);
870 #endif /*!WINNT_NATIVE*/
928 #ifndef WINNT_NATIVE
929 (void) fcntl(fd, F_SETFL, fcntl(fd, F_GETFL) | O_LARGEFILE);
930 #endif /*!WINNT_NATIVE*/

5.5Rの、/usr/src/contrib/tcsh/sh.sem.c

  1 /* $Header: /src/pub/tcsh/sh.sem.c,v 3.60 2004/02/23 15:04:36 christos 
Exp $ */
 36 RCSID($Id: sh.sem.c,v 3.60 2004/02/23 15:04:36 christos Exp $)
865 #ifndef WINNT_NATIVE
866 (void) fcntl(fd, O_LARGEFILE, 0);
867 #endif /*!WINNT_NATIVE*/
925 #ifndef WINNT_NATIVE
926 (void) fcntl(fd, O_LARGEFILE, 0);
927 #endif /*!WINNT_NATIVE*/

私の添付したパッチは、5.5R(sh.sem.c,v 3.60)に対するパッチです。
5.5Rの、sh.sem.c 3.60 の上記の部分を、CURRENTのsh.sem.c 3.69に置き換えた物との
diff -urNを添付しました。
このパッチは、ディスクプリタリークのみを修正するパッチで、CURRENTのsh.sem.cと、
5.5Rのsh.sem.cの間でdiffを取るともっと沢山のdiffが出力されます。


   tcsh は contrib 扱いなので、もし CURRENT の tcsh に問題があれば、
 tcsh の作者に問題を報告し、本家で修正されたものを FreeBSD に import す
 ることになります。
CURRENTのtcshには問題ありません。
CURRENT上での確認とCURRENTのtcshと同じバージョン(6.14.00)のtcshを5.5Rで
コンパイルしての動作確認を行いました。

CURRENTの/usr/src/contrib/tcsh/Fixes によると、V6.13は、V6.13.00から、
V6.13.10までのマイナーバージョンがあるようで、どこかのタイミングで、上記修正が
入っています。

tcshの本家で、それぞれのマイナーバージョンのパッチを探してみたんですが、
発見できませんでした。

   CURRENT で直っているのであれば、その修正内容を MFC することは可能です。
 tcsh 6.14.00 での修正部分を切り出していただければ、commit します。
 
上記のソース切りだし部分でよろしいでしょうか?

あと、1つ。
contrib扱いのソフトウェアに関して、教えて下さい。

cvswebで、ソースの変更履歴を見ていると、tcshに関しては、基本的に、tcshの本家から
そのまま持って来るという感じに見えました。

今回の修正箇所のみをMFCするって事は、tcshの本家のリリース版の6.14.00の一部を
6.13.00にマージするということになり、それは、FreeBSD独自の6.13.XXというバージョンを
生み出すことになるのかなぁと思っています。

そういう修正って出来るんでしょうか?



[FreeBSD-users-jp 89970] Re: tcsh (csh) 6.13.00 のバグに関して

2006-08-30 スレッド表示 Kouji Ito
伊藤です。


   tcsh もリポジトリが公開されてたら、そのへんが追いかけ易くなるんでしょ
 うけどね。
 
 
そうですね。
MLも追っかけたんですが、結局対象のパッチにたどり着けませんでした。

 
   contrib 下は原則的にベンダブランチから外さないようにというルールがあ
 ります。しかし、STABLE のソースは、CURRENT にインポートしたものを MFC
 するだけでベンダブランチから外れるので、ベンダブランチから外れることは
 大きな問題ではありません。ただし、なんでもかんでも部分的に突っ込むのは
 まずいです。脆弱性対策などの重要な修正に限られるでしょう。
   例えば、sendmail では、脆弱性が出た際に、CURRENT は対策版をインポート
 するけど、STABLE の方は該当部分の修正だけを入れるってケースもありました。
 

なるほど、勉強になります。

では、commitのほう、宜しくお願いします。

どうもありがとうございました。


[FreeBSD-users-jp 90020] Re: installworld でのエラー

2006-09-25 スレッド表示 Kouji Ito
こんにちは、伊藤です。

  install -o root -g wheel -m 444 test.1.gz /usr/share/man/man1
  pid 6074 (sh), uid 0: exited on signal 12 (core dumped)
  となっています。

signal 12は、/usr/include/sys/signal.h によると、
#define SIGSYS  12  /* non-existent system call invoked */
ということなので、
pid 6074 (sh) が発行したシステムコールが存在していない、つまり、
カーネルとshがアンマッチな状態になっているのではないでしょうか?

ただ、それであれば、installworldの最初でこけても良さそうな気がしますね。


[FreeBSD-users-jp 90108] Re: core を 吐かせるには?

2006-10-24 スレッド表示 Kouji Ito
こんにちは、伊藤です。
外してたらすみません。

coreファイルが作成される場所ってどこを探してますか?
inetd.conf には、 rootユーザーで起動すると書かれていますが、
messagesには、 uid 1001 のユーザーのプロセスとなっています。
多分、cvsntがsetuid()しているんだと思うんですが。


uid 1001 のユーザーのホームディレクトリにcoreファイルが作成
されていませんか?
もしくは、そのディレクトリのパーミッションとか、そのディレクトリの
属するファイルシステムの空き容量とかはどうでしょう?

もしかして、cvsntがchroot()している可能性とかはどうでしょう?


NAKAMURA Takeshi wrote:
 仲村です
 
  port から cvsnt を入れて試しているのですが、signal 11 で
 こけてしまうことがあります。
 
  inetd.conf に
 cvspserver  stream  tcp nowait  root /usr/local/bin/cvsnt cvsnt 
 --allow-root=/export/misc/ pserver
 と書いて、「/etc/rc.d/inetd restart」したんですが、signal 11 で
 こけても core を吐いてくれません。
 
 (/etc/rc.d/inetd の load_rc_config の前に ulimit -c unlimited と
  書いて restart しましたが駄目でした)
 
  core を吐かすにはどうすればいいのでしょうか?
 
 /var/log/messages のログ
 Oct 23 17:22:29 BUN kernel: pid 53518 (cvsnt), uid 1001: exited on signal 11
 # uname -smr
 FreeBSD 5.5-RELEASE-p7 i386
 # limit core
 coredumpsize unlimited
 # ls -l `which cvsnt`
 -r-xr-xr-x  1 root  wheel  942144 Oct 23 11:50 /usr/local/bin/cvsnt
 +1+2+3+4+5+6+7+
  関西沖縄の集い がじまるの会 手伝い 一人だけの勝手に神奈川支部
  仲村 武 [EMAIL PROTECTED]
 http://lists.sourceforge.jp/mailman/archives/cvs-jp-info/2006-October/000773.html
 この辺でもやってます...
 



[FreeBSD-users-jp 90116] Re: core を 吐かせるには?

2006-10-25 スレッド表示 Kouji Ito
伊藤です。


 2. setuid する プログラムは core を吐くのか?
 == kernel: pid 69141 (a.out), uid 1001: exited on signal 11
core は吐きませんでした。 
ここで、core を吐くように OS を設定できればいいと思うのですが...

kern.sugid_coredump ってのが、sysctl -a すると出て来るんですが、
なんやら、うまくcore 吐いてくれない。


[FreeBSD-users-jp 90117] Re: core を 吐かせるには?

2006-10-25 スレッド表示 Kouji Ito
伊藤です。

 
 2. setuid する プログラムは core を吐くのか?
 == kernel: pid 69141 (a.out), uid 1001: exited on signal 11
core は吐きませんでした。 
ここで、core を吐くように OS を設定できればいいと思うのですが...
 

ごめんなさい、
kern.sugid_coredump: 1
で、setuid()したプログラムも、coreファイル作るようになりますね。
ただし、setuid()したプログラムが、自分のホームディレクトリに
chdir()してないと、ダメみたいです。

#include stdio.h
#include signal.h
void handle(int nsig)
{
   printf(signal %d\n, nsig);
   exit(0);
}
main()
{
  char *p;
  int nret;

/*signal(SIGSEGV, handle); /**/
  nret = setuid(10001);
  printf(setuid() nret = %d\n, nret);
  nret = chdir(/tmp/guest);
  printf(chdir() nret = %d\n, nret);
  memset(p,0x00,100);
}


[FreeBSD-users-jp 90124] Re: core を 吐かせるには?

2006-10-25 スレッド表示 Kouji Ito
伊藤です。
  これは、そのユーザが書ける場所なら何処でも OK みたいですね。

   

そっか、そのプログラムのカレントワーキングディレクトリが、書き込みできる
場所ならそこにcoreファイルが出来るって事ですか。
なるへそ。



[FreeBSD-users-jp 90181] 動作報告   DynaBook SS LX/190DR  ( FreeBSD 6.2-PRERELEASE )

2006-11-30 スレッド表示 Kouji Ito
こんにちは、伊藤です。

TOSHIBA DynaBook SS LX/190DR にFreeBSD 6.2-PRERELEASE
をインストールしました。

この機種は、内蔵DVDドライブを取り外し、かわりに2つ目のHDDを
搭載することが可能です。

内蔵1つめは、WindowsXP
もう1つのHDDにFreeBSDをインストールし、ブートはBIOSのブート
DISKの優先度を変更することでデュアルブートとすることが可能です。

内蔵DVDドライブを取り外し、増設DISKを装着した時の
FreeBSD起動時のATAチャネルは以下の様になります。

SS-LX# atacontrol list
ATA channel 0:
Master:  no device present
Slave:   no device present
ATA channel 1:
Master:  no device present
Slave:   no device present
ATA channel 2: (内蔵1つめ)
Master:  ad4 FUJITSU MHT2080BH/104A Serial ATA v1.0
Slave:   no device present
ATA channel 3:
Master:  no device present
Slave:   no device present
ATA channel 4: (DVDドライブベイに取り付けた増設HDD)
Master:  ad8 FUJITSU MHT2080BH/104A Serial ATA v1.0
Slave:   no device present
ATA channel 5:
Master:  no device present
Slave:   no device present

増設HDDにFreeBSDをインストールする場合、DVDドライブを取り外す必要が
あるため、インストールメディアにCDROMを使用することが出来なくなります。

また、内蔵NICもGENERICカーネルでは認識しません。
http://www.marvell.com/ から if_myk.ko を kldload することで、myk0 という
NICデバイスが作成されます。

このため、一旦FreeBSD 6.2-PRERELEASEがインストール済みのデスクトップ
PCに増設HDDを接続し、そこでDISKtoDISKのコピーを行うことでインストールを
実施しました。(内蔵1つめのHDDにインストールするのであれば通常のCDROM
からのインストールか可能だと思います。)

Xも、NvidiaからFreeBSDのドライバをダウンロードしインストールすることで、
1400x1050の解像度で利用可能です。

私が使ったドライバのバージョンは、
NIC:mykbsd60x86-8.12.2.3
Video:NVIDIA-FreeBSD-x86-1.0-9629
となっています。

Sound機能、RAID機能などその他のデバイスに関しては未確認です。

FreeBSDのリブートを行う場合は、一旦電源OFF状態にしてコールドスタート
しないと、DISKが見つからずにブートに失敗します。
原因は不明です。

以下に、ブート時のメッセージを載せておきます。
SS-LX# dmesg
Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 6.2-PRERELEASE #0: Wed Nov 22 14:07:36 JST 2006
[EMAIL PROTECTED]:/usr/obj/usr/src_RELENG_6/sys/GENERIC
Timecounter i8254 frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) M processor 1.60GHz (1596.01-MHz 686-class CPU)
  Origin = GenuineIntel  Id = 0x6d8  Stepping = 8

Features=0xafe9fbffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,TM,PBE
  Features2=0x180EST,TM2
real memory  = 1073152000 (1023 MB)
avail memory = 1032769536 (984 MB)
ACPI APIC Table: TOSHIB 750 
ioapic0: Changing APIC ID to 1
ioapic0 Version 2.0 irqs 0-23 on motherboard
kbd1 at kbdmux0
ath_hal: 0.9.17.2 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
acpi0: TOSHIB 750 on motherboard
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi0: Power Button (fixed)
can't fetch resources for \\_SB_.PCI0.FNC0.PRT_ - AE_BAD_DATA
Timecounter ACPI-safe frequency 3579545 Hz quality 1000
acpi_timer0: 24-bit timer at 3.579545MHz port 0xd808-0xd80b on acpi0
cpu0: ACPI CPU on acpi0
pcib0: ACPI Host-PCI bridge port 0xcf8-0xcff on acpi0
pci0: ACPI PCI bus on pcib0
pcib1: ACPI PCI-PCI bridge irq 16 at device 1.0 on pci0
pci1: ACPI PCI bus on pcib1
nvidia0: GeForce Go 6600 TE/6200 TE mem
0xcf00-0xcfff,0xb000-0xbfff,0xce00-0xceff irq 16
at device 0.0 on pci1
nvidia0: [GIANT-LOCKED]
pcib2: ACPI PCI-PCI bridge irq 17 at device 28.0 on pci0
pci2: ACPI PCI bus on pcib2
myk0: Marvell 88E8053 Gigabit Ethernet Controller, Ver. 8.12.2.3 port
0xce00-0xceff mem 0xcdffc000-0xcdff irq 16 at device 0.0 on pci2
myk0: Ethernet address: 00:0e:7b:72:eb:6c
uhci0: Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-A port
0xbfe0-0xbfff irq 23 at device 29.0 on pci0
uhci0: [GIANT-LOCKED]
usb0: Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-A on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-B port
0xbf80-0xbf9f irq 19 at device 29.1 on pci0
uhci1: [GIANT-LOCKED]
usb1: Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-B on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-C port
0xbf60-0xbf7f irq 18 at device 29.2 on pci0
uhci2: [GIANT-LOCKED]
usb2: Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-C on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
ehci0: Intel 82801FB (ICH6) USB 2.0 controller mem 0xcdeffc00-0xcdef
irq 23 at device 29.7 on pci0
ehci0: [GIANT-LOCKED]
usb3: EHCI version 1.0
usb3: wrong number of companions (4 != 3)
usb3: companion controllers, 2 ports each: usb0 usb1 usb2
usb3: Intel 82801FB (ICH6) USB 2.0 controller on ehci0
usb3: USB revision 2.0
uhub3: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub3: 8 ports with 8 removable, self powered
pcib3: ACPI PCI-PCI bridge at device 30.0 on pci0
pci3: ACPI PCI bus on pcib3
pci3: network at device 5.0 (no driver attached)
cbb0: PCI-CardBus 

[FreeBSD-users-jp 90543] Re: NFS サ ーバの立ち上げ

2007-04-17 スレッド表示 Fumitoshi Ito
こんにちは。


最近同じような経験をしましたので、参考になれば幸いです。


# ls -lF /
(略)
lrwxrwxrwx   1 root  wheel8  4  9 13:08 home@ - usr/home
(略)

lsの結果がこのようになれば、/homeはシンボリックリンクで、実態は/usr/home
になります。ですから/etc/exportsには

/usr/home/share -network 192.168.0.0 -mask 255.255.255.0

と記述しなければなりません。このことはman exportsで、次のように説明され
ています。

The pathnames must not have any symbolic links in them and should not
have any . or .. components.



はずしていたらごめんなさい。



[FreeBSD-users-jp 90690] Re: LaCie Biggest F800 (RAID)

2007-05-15 スレッド表示 Kouji Ito
こんにちは、伊藤です。
LaCie FreeBSD でググってみると、
kern/70362
kern/62123
などが出て来ますが、この辺りは関係ないでしょうか?

状況的に似てそうな気がします。


Takeru Suzuki wrote:
 [EMAIL PROTECTED]
 
 6.2Rに、LaCieのハードウェアRAIDマシン(LaCie Biggest F800 1TB)をUSB接続で使お
 うと思っているのですが、そのままでは認識してくれません。
 起動後の画面を見ていると、まずはumass0として認識を試みているようですが、そのまま
 Timeoutとなってしまいます。
 
 で、deviceファイルを書き換えて、カーネルを再構築して認識させようと思い、あちこち
 ググってみましたが、どこをどう書き換えるのか、全く分かりませんでした。
 「/usr/src/dev/ の下のどこら辺だよ」などのヒントでも構いませんので、ご教示頂けれ
 ば幸いです。
 「deviceファイルの書き換えの前にもっとすることがある」などのご指摘でも結構です。
 
 RAIDマシン初心者で、初歩的なことかもしれませんが、どうぞよろしくお願いします。
 
 鈴木建
 



[FreeBSD-users-jp 90836] Re: [ 動 作報告] Toshiba DynaBook SS RX1 TA106E/2 2W

2007-07-19 スレッド表示 Kouji Ito
伊藤です。

 (1-6),(8)に関して

suspend/hybernate機能って使ったことが無いのでどうやれば良いのか良く分かりません。(^^;)
とりあえず、以下の状態で、acpiconf -s 3 及び、zzz をX 未起動のコンソールより試してみました。

syspend/resume 時に、/etc/rc.suspend , /etc/rc.resumeは起動されているようですが、
resume時に、

interrupt storm detected on irq 11; throttling interrupt souce

というメッセージが毎秒出力され、

しばらく経つと、

ad4:WARNING - SET_NULTI taskque timeout - comp

やら、

ad4 LBAなんちゃらに書き込めない

などのメッセージを出力し、最終的にハングアップ又は、パニックとなってしまいました。

この辺りの設定は正直、よく分からないので、XXしてくださいって言ってもらえれば
再度試します。

 7) 内蔵無線LAN ath0 は普通にkernelで認識するだけで 後は
ifconfig ath0 ??? もしくは dhcpc ath0 とやるだけで使えるのでしょうか?
はい。
# ifconfig ath0 up
# ifconfig ath0 ssid  wepmode on wepkey XX deftxkey 1
# dhclient ath0
で、使えました。

以下、現在の設定

inchiki3# kldstat
Id Refs AddressSize Name
 1   16 0xc040 91ac0c   kernel
 21 0xc0d1b000 340c umodem.ko
 33 0xc0d1f000 352c ucom.ko
 41 0xc0d23000 5788 acpi_video.ko
 54 0xc0d29000 6b174acpi.ko
 61 0xc0d95000 409c uplcom.ko
 71 0xc0d9a000 3224 acpi_toshiba.ko
 81 0xc60a3000 6000 i915.ko
 91 0xc60af000 f000 drm.ko

inchiki3# cat /boot/loader.conf
umodem_load=YES
umodem_name=umodem
uplcom_load=YES
uplcom_name=uplcom
#sound_load=YES
#sound_name=snd_ich
acpi_toshiba_load=YES
hint.apic.0.disabled=1
hint.psm.0.flags=0x2000
acpi_video_load=YES

inchiki3# cat /etc/sysctl.conf
# $FreeBSD: src/etc/sysctl.conf,v 1.8 2003/03/13 18:43:50 mux Exp $
#
#  This file is read when going to multi-user and its contents piped thru
#  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
#

# Uncomment this to prevent users from seeing information about processes that
# are being run under another UID.
#security.bsd.see_other_uids=0
hw.acpi.reset_video=0





[FreeBSD-users-jp 90837] Re: [ 動 作報告] Toshiba DynaBook SS RX1 TA106E/2 2W

2007-07-19 スレッド表示 Kouji Ito
伊藤です。

   sysctl dev.cpu と sysctl hw.acpi の出力を見たいです。

こちらになります。

inchiki3# sysctl dev.cpu
dev.cpu.0.%desc: ACPI CPU
dev.cpu.0.%driver: cpu
dev.cpu.0.%location: handle=\_PR_.CPU0
dev.cpu.0.%pnpinfo: _HID=none _UID=0
dev.cpu.0.%parent: acpi0
dev.cpu.0.freq: 1060
dev.cpu.0.freq_levels: 1060/31000 927/27125 800/13000 700/11375 600/9750 
500/8125 400/6500 300/4875 200/3250 100/1625
dev.cpu.0.cx_supported: C1/1 C2/1 C3/57
dev.cpu.0.cx_lowest: C1
dev.cpu.0.cx_usage: 100.00% 0.00% 0.00%
inchiki3#
inchiki3# sysctl hw.acpi
hw.acpi.supported_sleep_state: S3 S4 S5
hw.acpi.power_button_state: S5
hw.acpi.sleep_button_state: S3
hw.acpi.lid_switch_state: NONE
hw.acpi.standby_state: S1
hw.acpi.suspend_state: S3
hw.acpi.sleep_delay: 1
hw.acpi.s4bios: 0
hw.acpi.verbose: 0
hw.acpi.disable_on_reboot: 0
hw.acpi.handle_reboot: 0
hw.acpi.reset_video: 0
hw.acpi.cpu.cx_lowest: C1
hw.acpi.video.lcd0.active: 1
hw.acpi.video.lcd0.brightness: 100
hw.acpi.video.lcd0.fullpower: 100
hw.acpi.video.lcd0.economy: 10
hw.acpi.video.lcd0.levels: 100 10 10 15 30 40 55 65 80 100
hw.acpi.video.crt0.active: 0
hw.acpi.video.ext0.active: 0
hw.acpi.battery.life: 100
hw.acpi.battery.time: -1
hw.acpi.battery.state: 0
hw.acpi.battery.units: 1
hw.acpi.battery.info_expire: 5
hw.acpi.acline: 1
hw.acpi.toshiba.force_fan: 0
hw.acpi.toshiba.video_output: 1
hw.acpi.toshiba.lcd_brightness: 4
hw.acpi.toshiba.lcd_backlight: 1
hw.acpi.toshiba.cpu_speed: 0
hw.acpi.thermal.min_runtime: 0
hw.acpi.thermal.polling_rate: 10
hw.acpi.thermal.user_override: 0
hw.acpi.thermal.tz0.temperature: 66.0C
hw.acpi.thermal.tz0.active: -1
hw.acpi.thermal.tz0.passive_cooling: 0
hw.acpi.thermal.tz0.thermal_flags: 0
hw.acpi.thermal.tz0._PSV: -1
hw.acpi.thermal.tz0._HOT: -1
hw.acpi.thermal.tz0._CRT: 102.0C
hw.acpi.thermal.tz0._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1



[FreeBSD-users-jp 90884] USB デバ イス動作報告 Advanced W-ZERO3

2007-07-28 スレッド表示 Kouji Ito
こんにちは、伊藤です。

Advanced W-ZERO3を友人が持っていたので、ちょっと借りて繋いでみました。
usbdevsを変更することで、いつも使っているWX-310Kと同様にcuaU?が、
/dev の下に作成され、pppが使えました。


1. USB デバイスの正式名称、メーカー。
  メーカー : SHARP
  商品名   : Advanced W-ZERO3[ES]
  型番  : WS011SH
  製品へのURL : http://www.willcom-inc.com/ja/lineup/ws/011sh/index.html
  説明  : PHS (SMART PHONE)

2. OS の バージョン
  FreeBSD 7.0-CURRENT  Sat Jul 21 11:06:19 JST 2007 GENERIC

3. デバイスを認識しているところの /var/log/messages
  kernel: ucom0: SHARP CORPORATION SHARP Windows Mobile USB Modem, class 2/0, 
rev 2.00/0.90, addr 2 on uhub2


4. usbdevs -v の結果
  なし

5. 動作したか、しないか。
  以下の変更で動作しました。
  /usr/src/sys/dev/usb/usbdevs を変更

  # diff usbdevs usbdevs.orig
  1972,1973c1972
   product SHARP WZERO3ES0x91ac  W-ZERO3 ES Smartphone
   /* product SHARP WZERO3ES 0x9123  W-ZERO3 ES Smartphone */
  ---
   product SHARP WZERO3ES0x9123  W-ZERO3 ES Smartphone

  ドライバは、uipaq.koです。
  私の使ったドライバのバージョンは、
  __FBSDID($FreeBSD: src/sys/dev/usb/uipaq.c,v 1.7 2007/06/21 14:42:33 imp Exp 
$);
  です。

  # kldload uipaq
  した後に、W-ZERO3とPCをUSBケーブルで接続しました。

6. 他に気になる点、注意点について。
  なし

7. プライベートメールを公開してよいか(記述なければ載せます。
  良い

8. 謝辞に名前を載せてもよいかどうか(記述がなければ載せます)。
  良い



[FreeBSD-users-jp 90973] Re: NIC の パフォーマンスがでない

2007-09-02 スレッド表示 Kouji Ito
こんにちは、伊藤です。
しばらく前に、同じマシン(DELL Optiplex 745)にFreeBSDをインストールしました。

記憶がほとんど残っていなくて申し訳ないのですが、たしか、7月中から後半ぐらい
のCURRENT(i386)を入れています。

オンボードのNICのデバイス名も覚えていないのですが、このとき、FTPでファイル
をGETする時の速度を測定した事は覚えています。
ローカルなGigaBitなネットワークに接続して、70MByte/秒程度は出ました。
(FTPサーバは、FreeBSD 6.2-RELEASE(i386)です。)


NICのリンク速度を固定にして見るとかしてみてはどうでしょう?




[FreeBSD-users-jp 90991] HP Smart Array E200 のパフォーマンスについて

2007-09-14 スレッド表示 Kouji Ito
こんにちは、いつもお世話になっています、伊藤です。

HP社のML310というマシンに、FreeBSD 6.2-RELEASE(i386)をインストールしたのですが、
DISK I/O があまりにも遅くて困っています。

このマシンには、 HP Smart Array E200というRAIDコントローラが搭載されており、
その先に、SATAのHDD(WD1600JS 160GB,7200rpm)が2本ぶら下がっています。

この2本のHDDをRAID0+1で使用してます。

具体的なアクセス速度は、

# dd if=/dev/zero of=data.dat
115146240 bytes transferred in 8.883952 secs (12961150 bytes/sec)

# dd if=/dev/zero of=data.dat bs=1024
117111808 bytes transferred in 8.938305 secs (13102239 bytes/sec)

# dd if=/dev/zero of=data.dat bs=10240
107540480 bytes transferred in 8.403268 secs (12797459 bytes/sec)

となっており、ddでの書き込み速度が、10MByte/s程度しか出ていません。

このRAIDカードは、FreeBSDからはcissドライバで認識されており、
これまでに、cissドライバを使うHP Smart Array は、5i, 6i,642 などいくつか
触ってきたのですが、いずれも50MByte/s以上は出ていました。

書き込みを行っている最中にiostatを取ってみると、
# iostat 1
  tty da0  sa0pass0 cpu
 tin tout  KB/t tpsMB/s   KB/t tps  MB/s   KB/t tps  MB/s  us ni sy in id
   0   78 128.00  18   2.25   0.00   0  0.00   0.00   0  0.00   0  0  1  0 99
   0  232  0.00   0  0.00   0.00   0  0.00   0.00   0  0.00   0  0  0  0 100
   0   78 126.85  97  11.99   0.00   0  0.00   0.00   0  0.00   0  0   10  0 90
   0   78 128.00 159 19.94   0.00   0  0.00   0.00   0  0.00   1  0 14  0 85
   0   78 127.36 175 21.80   0.00   0  0.00   0.00   0  0.00   1  0 18  1 80
   0   78 128.00   20.25   0.00   0  0.00   0.00   0  0.00   0  0  0  0 100
   0   79  0.00   0   0.00   0.00   0  0.00   0.00   0  0.00   0  0  0  0 
100
   0   78 128.00  79   9.86   0.00   0  0.00   0.00   0  0.00   1  0  7  1 92
   0   78  0.00   0  0.00   0.00   0  0.00   0.00   0  0.00   0  0  0  0 100
   0   77 127.37 355  44.18   0.00   0  0.00   0.00   0  0.00   2  0 35  1 62
   0   78 128.00  37   4.62   0.00   0  0.00   0.00   0  0.00   0  0  4  0 96
   0   78 16.00  12 0.19   0.00   0  0.00   0.00   0  0.00   0  0  0  0 100
   0   78 126.36  77   9.48   0.00   0  0.00   0.00   0  0.00   0  0  7  0 92
   0   78 128.00  43   5.37   0.00   0  0.00   0.00   0  0.00   0  0  5  0 95
   1  192 127.38 181 22.56   0.00   0  0.00   0.00   0  0.00   1  0 15  0 84
   0   78 18.67  12  0.22   0.00   0  0.00   0.00   0  0.00   0  0  0  0 100

こんな感じで、瞬間的には40MByte/sとか出ているのですが、それが継続しない
というか、書いて、止まって、書いて、止まってみたいな感じです。

試しに、KNOPPIX Linix で起動して同じことをしてみると、60MByte/s 程度は出てい
たので、ハード的には、これぐらい出てもおかしくないと思っています。

2、3日前のCURRENTでも試してみましたが、結果は同じでした。

あまり、出会ったことの無い現象で、なにを調べれは良いのかよく分かりません。
こういった所をチェックした方がいいよとか、ここの辺りがダメなんじゃないとか、
なんでも結構ですので、気づいたことがあれば、教えて頂きたいと思います。

最後に、このマシンのdmesg, camcontrol, pciconf,dfを付けます。

#demsg
Copyright (c) 1992-2007 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 6.2-RELEASE #0: Fri Jan 12 11:05:30 UTC 2007

[#x30E1;#x30FC;#x30EB;#x30A2;#x30C9;#x30EC;#x30B9;#x4FDD;#x8B77;]:/usr/obj/usr/src/sys/SMP
Timecounter i8254 frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) D CPU 3.40GHz (3400.14-MHz 686-class CPU)
  Origin = GenuineIntel  Id = 0xf65  Stepping = 5

Features=0xbfebfbffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE
  Features2=0xe49dSSE3,RSVD2,MON,DS_CPL,EST,CNTX-ID,CX16,b14,b15
  AMD Features=0x2000LM
  AMD Features2=0x1LAHF
  Cores per package: 2
real memory  = 1073577984 (1023 MB)
avail memory = 1041408000 (993 MB)
ACPI APIC Table: HP 0083
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0 Version 2.0 irqs 0-23 on motherboard
ioapic1 Version 2.0 irqs 24-47 on motherboard
kbd1 at kbdmux0
ath_hal: 0.9.17.2 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
acpi0: HP W03 on motherboard
acpi0: Power Button (fixed)
Timecounter ACPI-safe frequency 3579545 Hz quality 1000
acpi_timer0: 24-bit timer at 3.579545MHz port 0x908-0x90b on acpi0
cpu0: ACPI CPU on acpi0
cpu1: ACPI CPU on acpi0
pcib0: ACPI Host-PCI bridge on acpi0
pci0: ACPI PCI bus on pcib0
pcib1: ACPI PCI-PCI bridge at device 1.0 on pci0
pci9: ACPI PCI bus on pcib1
pcib2: ACPI PCI-PCI bridge at device 0.0 on pci9
pci10: ACPI PCI bus on pcib2
mpt0: LSILogic 1030 Ultra4 Adapter port 0x6000-0x60ff mem 
0xfdfe-0xfdff,0xfdfc-0xfdfd irq 27 at device
4.0 on pci10
mpt0: [GIANT-LOCKED]
mpt0: MPI Version=1.2.14.0
pcib3: ACPI PCI-PCI bridge at device 28.0 on pci0
pci2: ACPI PCI bus on pcib3
pcib4: PCI-PCI bridge at device 0.0 on pci2
pci3: PCI bus on pcib4
pcib5: PCI-PCI bridge at device 4.0 on pci3
pci4: PCI bus on pcib5
ciss0: HP Smart Array E200 port 0x4000-0x40ff mem 
0xfdc8-0xfdcf,0xfdc7-0xfdc77fff irq 16 at device 8.0 on pci3
ciss0: [GIANT-LOCKED]
pcib6: ACPI PCI-PCI bridge at device 28.4 on pci0
pci5: ACPI PCI bus on pcib6
bge0: Broadcom BCM5750 B1, ASIC rev. 0x4101 mem 0xfddf-0xfddf irq 16 
at device 0.0 on pci5
miibus0: MII bus on bge0
brgphy0: BCM5750 

[FreeBSD-users-jp 91015] Re: HP Smart Array E200 のパフォーマンスについて

2007-09-18 スレッド表示 Kouji Ito
自己フォローします。
同マシンに、Linux(Ubuntu 7.04)をインストールし、再度計測を行って見ました。
前回と同様に、ddで書き込み速度を確認すると、異様に速い結果(100MByte/s
以上)が得られ、
iostatと共に、ddを実行して見ると、ddでの書き込みが終了し、ddが、スルー
プットを表示した後も
しばらく、DISKへの書き込みが行われていました。

iostatでDISKへのIO速度を見てみると、FreeBSDと同様の結果(書いて、止まっ
て)でした。

ddで1Gbyteのファイルを作成してみると、ddの表示するスループットは、
15MByte/sとなりました。
前回のLinuxでの計測結果は、ddで書き込んだサイズが小さすぎたため、Linuxの
遅延書き込み
のキャッシュ?が効いて正確な値ではなかったんだと思います。

という事で、FreeBSDでのみ遅いという訳ではないので、多分、このRAIDコント
ローラの性能は、
こんなもんなんだという事で納得することにします。

しかし、FreeBSDでは、ddのスループット表示はそれなりに正確な値を出してい
るのに、
Linuxのddのスループット表示は全然正確な値を出さないってのは何なんでしょ
うね。





[FreeBSD-users-jp 91024] Re: HP Smart Array E200 のパフォーマンスにつ いて

2007-09-18 スレッド表示 Kouji Ito
伊藤です。


 
 世間でも E200 評判悪いですねー.どこぞの掲示板の RAID 関連のところでも
 (FreeBSDと関係なく)E200 は性能面で論外という扱いになってるようです.
 あんなデカいカード持ってきておいて,という感じですが.
 
あらー、そうですか。
SmartArray 5i, 6i, 642は、それなりの速度が出ていたので、E200も同等の性能を
出せるものだと思ってました。

 # あとで職場の E200 で試してみよう…
 
結果を上げて頂けると助かります。

 もっとも酷すぎるので何か設定の tips があるのかもしれません.
 
Linix側のccissドライバと、FreeBSDのcissドライバをさらっと眺めて見たのですが、
カード側へのリクエストキュー数がFreeBSDの場合、256(cissvar.hのCISS_MAX_REQUESTS)
に対して、Linixの場合、(cciss.cのboard_typeで、120)となっていたので、
FreeBSD側をLinixに合わせてCISS_MAX_REQUESTSを120にしてみたのですが
結果は変わりませんでした。

また、CISS_INTERRUPT_COALESCE_DELAYの値を大きくしたり小さくしたりもしてみましたが
やっぱり結果は変わらず。

あとは、Windowsで使ってみて、同様の結果であれば、多分この性能が限界なんだと思いますが、
もう気力が尽きてしまいました。

 ただ BBU がないと write back cache が使えないですし,
 制約も多くてそこまでするなら HP では最初からもう一段上位の
 RAID コントローラを使うから本当にそういうものという可能性も…
 
いま私が使っているE200は、128MBのBBWC付きのモデルです。
ddが復帰した直後に、マシンのコンセントをひっこ抜くと、次回立ち上がり時、E200が書き込まれてない
データがあるので、書き込みますというメッセージを出力します。

 
 linux 系の mount は特に意識して設定しない限り
 async mount が普通とされてるので、十分に大きい読み書き(数十GBとか)をしないと
 read/write cache の性能を測っているだけになるのではないかと.

FreeBSDも、ユーザーデータは遅延書き込みするんじゃなかったでしたっけ?
あ、でもメタデータの更新は、Softupdateだからasyncしてるわけじゃなくて、
ddでファイルを作成しているってことは、メタデータの更新も随時行われていて
メタデータの更新はasyncしてるわけじゃないからFreeBSDのddは、iostatと
良く似た速度を報告するってことか。
ってことは、Linuxのasyncはメタデータの更新もasyncしてるとすると納得できますね。
 
 金で解決というかアレですが,HP で RAID0+1 でということなら
 E200 にせずに最初から 8port SAS I/F(LSI Logic OEM; mpt ドライバ)で出来ますし
 性能もそちらのほうがマシだと思われます.
 
 mpt は mpt で mpt1: QUEUE FULL EVENT: Bus 0x00 Target 0x07 Depth 121 とか
 そんなのを吐きまくるのでちょっと気持ち悪いですけど…
 SAS って選択肢ないんですよね.Adaptec 44300 に到っては FreeBSD で
 ドライバすらないですし.

8port SAS I/FってP400の事でしょうか?

最近のHPのDLシリーズは、パラレルSCSIからシリアルSCSIにシフトして来ているので、
今までのSmartArray 5,6系ではなく、SmartArry E,P系列になって来ています。
E200がこれじゃあんまりですね。
P400とかはもうちょっとましなんでしょうか。
使われたことがあればパフォーマンスを教えて頂けると嬉しいのですが。

ちなみに、HP社のDL100というNASは、Adaptec2420SAを積んでいて、こっちは
それなりの速度で動きます。(ただし、RAID5だとものすごく遅いです。)




[FreeBSD-users-jp 91029] Re: HP Smart Array E200 のパフォーマンスにつ いて

2007-09-20 スレッド表示 Kouji Ito
伊藤です。

 
 Linux は同期書き込みをしろと言っても、必ずしもしてくれないからです。
http://developer.osdl.org/dev/doubt/
 
WebPageにと、Project DOUBTの紹介用のPDFを読みました。
私のスキル不足により、全てを理解することは出来ませんでしたが、
「Linixのファイルシステムは、書けと言ってもちゃんと書いていない」の
くだりは、大変面白かったです。

 
 Linux の dd 自体は同期書き込みをしろ、と言っていたと思います。floppy
 disk のようなものを使って、わざと sector copy のような事をすると、
 交互に書いている様が判ります。
 
 # えーっと、どういえばいいかな。NEC PC-9801 VM2 についてきた、
 # BASIC のシステムディスクコピーのような…と言えば判るかしら。
 
 もし、dd が O_SYNC を使っていない、等の理由で非同期書き込みになって
 いるなら、書き込みはもっと lazy に行われるはずです。

Linuxと、FreeBSDでそれぞれddのシステムコールトレースを取ってみましたが、
どちらも、出力ファイルのopen(2)時に、O_SYNCをつけている様子はありません
でした。

Linux  : O_WRONLY | O_CREAT | O_TRUNC | O_LARGEFILE
FreeBSD : O_RDWR|O_CREAT|O_TRUNC

また、両者とも、fsync(2)をコールしている様子もありませんでした。


[FreeBSD-users-jp 91235] Re: ThinkPad X60 の無線 LAN

2007-12-13 スレッド表示 Kouji Ito
こんにちは、伊藤です。
私のマシンは、TOSHIBA DynaBook SSRX1 TA106E/2W ですが、
似たようなチップだと思うので、参考まで。
7.0-CURRENTの頃から、CURRENTを追っかけてます。
7.0-CURRENTの時も、ath0は動いてます。

uname -a
FreeBSD 8.0-CURRENT #1: Thu Dec  6 17:11:08 JST 2007

dmesg
ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
ath0: Atheros 5424/2424 mem 0xff8f-0xff8f irq 18 at device 0.0 on pci2
ath0: [ITHREAD]
ath0: using obsoleted if_watchdog interface
ath0: Ethernet address: XX:XX:XX:XX:XX
ath0: mac 10.2 phy 6.1 radio 10.2

pciconf -lv
[#x30E1;#x30FC;#x30EB;#x30A2;#x30C9;#x30EC;#x30B9;#x4FDD;#x8B77;]:2:0:0:
class=0x02 card=0x7096144f chip=0x001c168c rev=0x01 hdr=0x00
vendor = 'Atheros Communications Inc.'
device = 'AR5006 family 802.11abg Wireless NIC'
class  = network
subclass   = ethernet


[FreeBSD-users-jp 91240] Re: ThinkPad X60 の無線 LAN

2007-12-13 スレッド表示 Kouji Ito
伊藤です。

 CURRENT ですか…生活環境にする予定なので若干怖いですね(軟弱

CURRENTで生活してます。
ドキドキ感がたまりません。(^^;)

buildworldするとOpenOfficeがいつも動かなくなりますが、Firefox,Thunderbirdなどが
動かなくなったことはありません。

お勧めする訳ではありませんが、以外と使えてますよ。

もうすぐ7.0-RELEASEも出そうなので、RELENG_7辺りを試してみてはどうでしょう。


[FreeBSD-users-jp 91266] Re: フル バックアップしたサーバが起 動できない

2007-12-17 スレッド表示 Kouji Ito
こんにちは、伊藤です。
ローカルBのマシンは、ルートファイルシステムもマウント出来ない状態の様なので
Manual root filesystem specification:
fstype:device  Mount device using filesystem fstype
と聞かれたところで、ローカルBマシンのルートファイルシステムのデバイス名を入力
するか、FreeSBIEなどで起動して、手動でルートファイルシステムをマウントし、
fstabを書き換えれば良いかと思います。

今回の場合だと、
rsyncで取って来た本番マシンの/etc/fstabのDeviceフィールドを、
ローカルBのデバイス名にあわせて書き直すという事になると思います。

デバイス名は適当ですが、こんな感じに

本番マシンの/etc/fstab
/dev/ad0s1a /   ufs rw  1   1
  :
  :

ローカルBの/etc/fstab
/dev/ad8s1a /   ufs rw  1   1
  :
  :



a o さんは書きました:
 岸田さん
 
 早急なご回答、ありがとうございます。
 
 早速試してみたいと思います。
 
 細かいところで補足ですが、「/etc/fstab を起動するマシンの物に書き直」すですね。
 すいません、再度確認させてください。
 今回の場合ですと、rsyncで取ってきた本番マシンの/etc/fstabを、ローカルBの/etc/fstabに書き直すということでいいんですよね?
 



[FreeBSD-users-jp 91453] bge watchdog timeout (kern/96806) について

2008-03-12 スレッド表示 Kouji Ito
こんにちは、いつもお世話になっています、伊藤です。

HP社のDL320G5というマシンに、FreeBSD6.2-RELEASE-p5(i386)を
インストールして使用しているのですが、
この機種で使用しているNICで以下の様なメッセージが出力され、一時的に
ネットワークが使用できなくなるという現象が発生しています。

bge1: watchdog timeout -- resetting
bge1: link state changed to DOWN
bge1: link state changed to DOWN
bge1: link state changed to UP
bge1: link state changed to UP

bge1は、以下の様に認識されています。

bge1: Broadcom unknown BCM5714, ASIC rev.0x9003
mem 0xfdcd-0xfdcd,0xfdcc-0xfdcc
irq 17 at device 4.1 on pci3

PRを検索したところ、kern/96806を見つけ、同様の現象ではないかと考えています。
http://www.freebsd.org/cgi/query-pr.cgi?pr=96806cat=kern

kern/96806では、
1.193 +43 -43 src/sys/dev/bge/if_bge.c
1.73 +3 -4 src/sys/dev/bge/if_bgereg.h

にてcloseされているのですが、私の使用しているソースは、
1.91.2.18.2.1 if_bge.c
1.36.2.8.2.1 if_bgereg.h

となっており、RELENG_6_2にはMFCされていません。

kern/96806のパッチを当てたRELENG_6_2用のソースをお持ちの方、
いらっしゃいませんか?

また、同じような機種を使用していて、既に問題を解決されている方、
いらっしゃいましたら、差し支えなければ解決方法を教えて頂ければと
思います。

ところで、MFCされていないパッチを自分でMFCしたい場合って皆さんどうされて
います?

今回のパッチは、bge_chipinit()モジュールだけなので、1.192:if_bge.cと、
1.193:if_bge.c
の差分を、1.91.2.18.2.1:if_bge.cに適用出来そうな感じなのですが、そもそも
ベースとなる
ソースのRevisionが異っているので、単純にdiffからパッチを作成する事が出来
ないケースも
あると思うんですが。

やっぱり、パッチ次第なんでしょうか。

以上






[FreeBSD-users-jp 91461] Re: bge watchdog timeout (kern/96806) につい て

2008-03-14 スレッド表示 Kouji Ito
Takao TAGAMI さんは書きました:
 田上です。

 HPのDL360G5上でFreeBSD 6.2-RELEASE を使用していた際、同じメッセージを
 出力して、bgeがDown/Upする現象が見られました。


情報ありがとうございます。
ところで、DL360G5のNICは、bceではなくてbgeだったんでしょうか?

HP社のWebページを参照すると、NC373iという2ポートのGigabitのNICを
使っている様なのですが、NC373iはBCM5708Cを使っていて、このNICだと、
bceを使いそうな気がするんですが。

 対応として、STABLEに上げる事で、メッセージが出力されなくなりました。
 10 月22日頃のSTABLEですので、if_bge.c及びif_bgereg.hのバージョンは以下
 の通りになっています。

 $ ident if_bge.c if_bgereg.h
 if_bge.c:
 $FreeBSD: src/sys/dev/bge/if_bge.c,v 1.91.2.23 2007/05/08 16:18:21
 jkim Exp $

 if_bgereg.h:
 $FreeBSD: src/sys/dev/bge/if_bgereg.h,v 1.36.2.10 2007/03/21 22:53:22
 jkim Exp $

 ちょうど、FreeBSD 6.3-RELEASEのTagが付いているので、6.3-RELEASEへアッ
 プグレードしてみてはどうでしょうか?
 # それでもダメなら、最新のSTABLEにしてみるとか???

できれば、OSごとアップデートではなく、ドライバのみの入れ換えでなんとかし
たいと思い、
bgeのドライバのソースを上記のバージョンに入れ換えてコンパイルしてみたん
ですが、
bus_dma_tag_createの1つ目の引数の型が気に入らないというワーニングが出
て、さくっと入れ換え
って訳にはいかないようでした。

もうすこし頑張ってみます。



[FreeBSD-users-jp 91470] Re: bge watchdog timeout (kern/96806) につ いて

2008-03-16 スレッド表示 Kouji Ito
こんにちは、伊藤です。

Tomoyuki Asakawa さんは書きました:
 あさかわ

 6.3 or 7.0 にすればいいじゃん。って思うんですが..。

確かに、そうなんですが、諸処の事情があり、出来れば6.2のままで、
パッチを当てることで解決したいと思ってます。



[FreeBSD-users-jp 91474] HP SmartArray P400 RAID5 very slow.

2008-03-17 スレッド表示 Yoshiharu ITO
いとうといいます。

少々前に HP SmartArray E200 のパフォーマンスの件が話題になったと
思います。

当方では DL380 G5 + SmartArray P400 で少々困ったことになっています。

  - FreeBSD/amd64 7.0-RELEASE をインストールしている
  - HDD は SAS 146GB を 8 本装着している
  - DISK 1 と DISK 2 で RAID 1 の論理ボリュームを
  - DISK 3 〜 DISK 8 で RAID 5 の論理ボリュームを作っている

という環境下で、

  - dd if=/dev/zero of=zero.bin を実行しながら
  - iostat 1 の出力を眺める

ということをやったときに、

  - 出力先が RAID 1 ボリュームの場合はおおよそ 75MB/sec
  - 出力先が RAID 5 ボリュームの場合はおおよそ 7MB/sec

という約 10 倍の差がある結果になっています(具体的な出力結果は手元に
無いため割愛)。bs を増やしても、せいぜい 9MB/sec 程度までしか上がり
ません。

海外のフォーラムに同様の報告がある
http://forums11.itrc.hp.com/service/forums/questionanswer.do?admit=109447626+1205768432679+28353475threadId=1207324
のですが、話が途中からネットワークの通信パフォーマンスに変わったりし
て結局どうなったのかが良くわからない状態に。

同様の事例をご存知の方、情報を提供していただけないでしょうか。


よっちい




[FreeBSD-users-jp 91479] Re: bge watchdog timeout (kern/96806) につい て

2008-03-18 スレッド表示 Kouji Ito
伊藤です。

Yoshihiko Sarumaru さんは書きました:
 Kouji Ito さんは書きました:
 ところで、MFCされていないパッチを自分でMFCしたい場合って皆さんどうされて
 います?
 
 基本的には差分をpatchであててrejectされた部分を手であてる、だと思います。
なるほど。
今回のようなパッチであればbgeドライバの特定のモジュールのみの変更なのでまだ楽なんですが、
場合によっては、/usr/src/sys/dev/bge の下だけでなく、/usr/src/sys/dev/mii とか、
その他のソースも変更しないとコンパイルが通らないっていうケースもあると思います。

こういう時って、cvs-src等のコミットログを見ながら、関連するソースを洗い出して、
それぞれに、パッチを当てるっていう作業を行うものなんでしょうか。

例えば、bgeなんかで新しいNICのサポートがMAINブランチにはコミットされてるんだけど、
RELENG_6にはMFCされてないとか。

今回、bgeのドライバを取り合えずRELENG_6に上げてみようとしたんですが、さくっとコンパイル
出来なくて、私が取った方法は、
(1)cvswebでbge.cのバージョン履歴とコミットされた日を調べる。
(2)cvs-srcのMLでコミット時のメールを検索し、同じタイミングで更新しているソースを落す。
(3)コンパイルする。
(4)自分の望むバージョンになるまで、(1)から(3)の手順を繰り返す。
と言うものでした。

結構、面倒な手順だと思っています。

もっと、簡単に出来る方法があれば教えて頂ければと思います。

 
 bge ドライバはわりと更新が多いので、RELENG_6_2 にはこの変更は素直には
 あたらないようですね。
 適当に差分をながめながら手で変更をマージしたら、
 http://www.imasy.or.jp/~mistral/tmp/users-jp_91453.patch
 なんてのができました。動くかどうかは知りませんが…。
 

わざわざ、パッチまで作成して頂き、ありがとうございます。

 ただこの変更 (kern/96806) は、panic しなくなるという修正なので、
 watchdog timer でデバイスがリセットされる現象とは関係ないかも?
 
 

kern/96806のお題目としては、kernel panicとなっていますが、replyを見ると
watchdogに関しても報告されており、最終的にはBCM5714CはOKとなっているので、
大丈夫だと思ってます。





[FreeBSD-users-jp 91485] Re: bge watchdog timeout (kern/96806) につい て

2008-03-19 スレッド表示 Kouji Ito
伊藤です。

 上記のやり方だと必要のない(リスクを高める)修正も一緒に入ってしまうので、
 本質的に必要な部分のみを、オリジナルをできるだけ修正せずに入れるのが
 安全ではないでしょうか。

確かに、そうするのが一番リスクの少ない方法ですね。

ただ、自分の使用しているソースとは異るバージョンに対するパッチから、
自分の使用しているソースに「本質的に必要な部分のみを」抜き出す、
もしくは、自分の使用しているソースに当てられるようなパッチを作成する
ってのは、なかなか難しいもんです。(私の現在のスキルだと。^^;)

もっと、精進しないとダメですね。

ともあれ、とても勉強になりました。

どうもありがとうございます。







[FreeBSD-users-jp 91486] Re: HP SmartArray P400 RAID5 very slow.

2008-03-19 スレッド表示 Yoshiharu ITO
いとうといいます。

情報ありがとうございます。

当方の環境で記述が足りない部分がありましたね。

2008年 3月 18日(火)16:52 に Ei-ichi Imamura さんは書きました:
   DL380G5/SA-P400モデルは標準ではリードキャッシュのみで
  Writeキャッシュが無いようですが、その影響ということは無い
  でしょうか。(たんなる憶測です(^^;;))

おっしゃる通り当方の P400 は BBWC は無し(256MB)になります。

  DL320G5p+HP SmartArray E200/128BBWC
  +SAS36Gbyte×3(RAID5)+VineLinux4.2

と、

   DL380G4(SmartArray6i)+U320SCSI 72Gbyte(10krpm)×5(RAID5)
  +FreeBSD5.4-amd64

の結果を(かなり)大雑把にまとめますと、

  - BBWC の有無でライトパフォーマンスに差が出るようだ
  - BBWC 無しでライトパフォーマンスが低い(10MB/sec 程度)のは
実力のようだ(それにしても Fast Narrow SCSI と同じくらいっ
てのはあんまりな)

ということになるでしょうか。メーカーの営業には BBWC の追加を
提案されていたのですが、そうしてみるのが良さそうだということ
が見えてきました。

キャッシュを足すだけで実書き込みが早くなる(?)のは腑に落ちな
いですが、検討したいと思います(経費削減しろと言われているか
らいつになるのか)。

ありがとうございました。


よっちい




[FreeBSD-users-jp 91511] Re: HP SmartArray P400 RAID5 very slow.

2008-03-31 スレッド表示 Yoshiharu ITO
いとうといいます。

2008年 3月 20日(木)00:06 に Yoshiharu ITO さんは書きました:
- BBWC の有無でライトパフォーマンスに差が出るようだ
- BBWC 無しでライトパフォーマンスが低い(10MB/sec 程度)のは
  実力のようだ(それにしても Fast Narrow SCSI と同じくらいっ
  てのはあんまりな)
 
  ということになるでしょうか。メーカーの営業には BBWC の追加を
  提案されていたのですが、そうしてみるのが良さそうだということ
  が見えてきました。

メーカーの営業から 512MB キャッシュモジュールとバッテリーを借りる
ことができたので、条件を振って確認してみました。今回は RAID 5 ボ
リュームのみになります。

例によって(?)詳細な出力は手元に無いため割愛します。

  - 256MB バッテリーなし : 8.0MB/sec 程度
  - 512MB バッテリーなし : 8.0MB/sec 程度
  - 256MB バッテリーあり : 135MB/sec 程度
  - 512MB バッテリーあり : 165MB/sec 程度

やはりバッテリーの有無で(こんなに差が出て良いのかと悩むほど)大き
くパフォーマンスに差が出ました。

 RAID 5 運用の予定がある方は、バッテリーバックアップ式ライトキャッ
シュ付きをおすすめします。


よっちい




[FreeBSD-users-jp 91513] FreeBSD/amd64 7.0-RELEASE and mpfr-2.3.1

2008-04-01 スレッド表示 Yoshiharu ITO
いとうといいます。

長文になります、すいません。

 FreeBSD/amd64 7.0-RELEASE において、mpfr-2.3.1 の挙動に悩んでおります。
具体的には make check でいくつかのテストが SIGSEGV になってしまう、と
いうものです。

例として tzeta.core ファイルを読み込ませてバックトレースを見てみると、
 0 番地ジャンプしているように見えます。

(gdb) bt
#0  0x in ?? ()
#1  0x000800781954 in mpfr_cache (dest=0x7fffe160,
cache=0x80052da68,
rnd=GMP_RNDU) at cache.c:62
#2  0x00080075fb88 in mpfr_exp2 (y=0x7fffe680,
x=value optimized out, rnd_mode=GMP_RNDN) at exp2.c:119
#3  0x00080076621c in mpfr_pow (z=0x7fffe680, x=value
optimized out,
y=0x7fffe6a0, rnd_mode=GMP_RNDN) at pow.c:402
#4  0x00080077706f in mpfr_ui_pow (y=0x7fffe680, n=8,
x=0x7fffe6a0, rnd_mode=GMP_RNDN) at ui_pow.c:36
#5  0x00080077c4ee in mpfr_zeta_pos (z=0x7fffe9a0,
s=0x7fffe980,
rnd_mode=GMP_RNDN) at zeta.c:123
#6  0x00080077ceda in mpfr_zeta (z=0x7fffe9a0,
s=0x7fffe980,
rnd_mode=GMP_RNDN) at zeta.c:385
#7  0x00402779 in main (argc=1, argv=0x7fffea98) at
tzeta.c:37

該当するコードは

int
mpfr_cache (mpfr_ptr dest, mpfr_cache_t cache, mp_rnd_t rnd)
{
  mp_prec_t prec = MPFR_PREC (dest);
:
  /* Update the cache. */
  pold = prec;
  mpfr_prec_round (cache-x, pold, GMP_RNDN);
  cache-inexact = (*cache-func) (cache-x, GMP_RNDN);
}

この部分で、*cache-func が NULL になっているようです。

Breakpoint 1, mpfr_cache (dest=0x7fffe1e0, cache=0x80052da68,
rnd=GMP_RNDU)
at cache.c:43
43  {
(gdb) display *cache
1: *cache = {x = {{_mpfr_prec = 0, _mpfr_sign = 1, _mpfr_exp = 0,
  _mpfr_d = 0x0}}, inexact = 0, func = 0}

しかし同じことを FreeBSD/i386 6.2-RELEASE-p4 でやると SIGSEGV にはなり
ません。

Breakpoint 2, mpfr_cache (dest=0xbfbfe16c, cache=0x280d5720,
rnd=GMP_RNDU)
at cache.c:44
44mp_prec_t prec = MPFR_PREC (dest);
(gdb) display *cache
1: *cache = {x = {{_mpfr_prec = 0, _mpfr_sign = 1, _mpfr_exp = 0,
  _mpfr_d = 0x0}}, inexact = 0,
  func = 0x280aa89c mpfr_const_log2_internal}

 *cache-func は NULL になっておらず、しかもこちらの結果から

/* Declare the cache */
MPFR_DECL_INIT_CACHE(__gmpfr_cache_const_log2,
mpfr_const_log2_internal);

とあらかじめ .data 領域にある値が入っているのかなと思われます。しかし
 FreeBSD/amd64 では NULL になっている、と。ちなみに双方とも
 /usr/bin/gcc を使って mpfr をコンパイルしています。

 shared library がメモリに配置され .data 内の関数ポインタが確定するタ
イミングとか、そういうあたりの知識は持ち合わせておりませんのでこれ以上
は追えず困っております(そもそも的外れ?)。

アドバイスいただけるでしょうか。

 ports にある math/mpfr の動作確認は行っておりません。あしからずご了承
ください。


よっちい




[FreeBSD-users-jp 93375] Re: 8.1 to 8.2 upgrade

2011-02-27 スレッド表示 Yoshiharu ITO
いとうといいます.

 D510MO あたりをお使いでしょうか.

あまり参考にならないと思いますが,当方 BIOS で AHCI を有効にして使っています.

ahci_load=YES

 8.1-RELEASE - 8.2-RELEASE 移行時にトラブルはありませんでしたよ.

下調べしていたときに,

http://lists.freebsd.org/pipermail/freebsd-stable/2011-February/061470.html

なんてのもあって,ハラハラしながら移行させましたけれども.

Copyright (c) 1992-2011 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.2-RELEASE #0: Thu Feb 17 02:41:51 UTC 2011
r...@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
Timecounter i8254 frequency 1193182 Hz quality 0
CPU: Intel(R) Atom(TM) CPU D510   @ 1.66GHz (1686.70-MHz K8-class CPU)
  Origin = GenuineIntel  Id = 0x106ca  Family = 6  Model = 1c  Stepping = 10
  Features=0xbfebfbffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,C
MOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE
  Features2=0x40e31dSSE3,DTES64,MON,DS_CPL,TM2,SSSE3,CX16,xTPR,PDCM,MOVBE
  AMD Features=0x20100800SYSCALL,NX,LM
  AMD Features2=0x1LAHF
  TSC: P-state invariant
real memory  = 2147483648 (2048 MB)
avail memory = 2035781632 (1941 MB)
ACPI APIC Table: INTEL  MOPNV10N
:
ahci0: Intel ICH7 AHCI SATA controller port
0x30b8-0x30bf,0x30cc-0x30cf,0x30b0-0x30b7,0x30c8-0x30cb,0x30a0-0x30af
mem 0xf0384000-0xf03843ff irq 19 at device 31.2 on pci0
ahci0: [ITHREAD]
ahci0: AHCI v1.10 with 4 3Gbps ports, Port Multiplier not supported
ahcich0: AHCI channel at channel 0 on ahci0
ahcich0: [ITHREAD]
ahcich1: AHCI channel at channel 1 on ahci0
ahcich1: [ITHREAD]
:
ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
ada0: Hitachi HTS545025B9A300 PB2OC64G ATA-8 SATA 2.x device
ada0: 300.000MB/s transfersad6: 1907729MB WDC WD20EARS-00MVWB0
51.0AB51 at ata3-master UDMA100 SATA 1.5Gb/s
 (SATA 2.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 238475MB (488397168 512 byte sectors: 16H 63S/T 16383C)
ada1 at ahcich1 bus 0 scbus1 target 0 lun 0
ada1: Hitachi HTS545025B9A300 PB2OC64G ATA-8 SATA 2.x device
ada1: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada1: Command Queueing enabled
ada1: 238475MB (488397168 512 byte sectors: 16H 63S/T 16383C)
:
GEOM_MIRROR: Device mirror/gm0 launched (2/2).
:
Trying to mount root from ufs:/dev/mirror/gm0s1a
:
Geom name: gm0
State: COMPLETE
Components: 2
Balance: load
Slice: 4096
Flags: NONE
GenID: 0
SyncID: 1
ID: 3322608382
Providers:
1. Name: mirror/gm0
   Mediasize: 250059349504 (233G)
   Sectorsize: 512
   Mode: r5w5e14
Consumers:
1. Name: ada0
   Mediasize: 250059350016 (233G)
   Sectorsize: 512
   Mode: r1w1e1
   State: ACTIVE
   Priority: 0
   Flags: NONE
   GenID: 0
   SyncID: 1
   ID: 564804420
2. Name: ada1
   Mediasize: 250059350016 (233G)
   Sectorsize: 512
   Mode: r1w1e1
   State: ACTIVE
   Priority: 0
   Flags: NONE
   GenID: 0
   SyncID: 1
   ID: 2335348624

2011年2月27日3:06 kodama kod...@waitress.jp:
 こだまです。

 cvs update  make installkernel したところboot中にrootfsを見つけれなく
 なってしまいました。
 サーバにしているマシンなのでとりあえずもともと使ってたkernelで再起動して
 いろいろしらべてるのですが
 さすがに情報がありません。
 どこら辺から調べて行けばよいのでしょうか?
 kernelは GENERICから何も変更していません。
 なんとなく流れるログ何回か見た感じだとad0を認識してないかんじぽいのです
 が・・・。
 #USBキーボードだとrootfsマウント失敗した後のプロンプトで何も入力できない?

 8.1での関連してそうなlog
 CPU: Intel(R) Atom(TM) CPU D510 @ 1.66GHz (1666.66-MHz K8-class CPU)
 Origin = GenuineIntel Id = 0x106ca Family = 6 Model = 1c Stepping = 10
 Features=0xbfebfbffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE
 Features2=0x40e31dSSE3,DTES64,MON,DS_CPL,TM2,SSSE3,CX16,xTPR,PDCM,MOVBE
 AMD Features=0x20100800SYSCALL,NX,LM
 AMD Features2=0x1LAHF
 TSC: P-state invariant
 real memory = 4294967296 (4096 MB)
 avail memory = 4085534720 (3896 MB)
 atapci0: JMicron JMB363 UDMA133 controller mem 0xe120-0xe1201fff
 irq 17 at device 0.0 on pci2
 atapci0: [ITHREAD]
 atapci0: AHCI called from vendor specific driver
 atapci0: AHCI v1.00 controller with 2 3Gbps ports, PM supported
 ata2: ATA channel 0 on atapci0
 ata2: [ITHREAD]
 ata3: ATA channel 1 on atapci0
 ata3: [ITHREAD]
 atapci1: JMicron JMB363 UDMA133 controller port
 0xd000-0xd007,0xd100-0xd103,0xd200-0xd207,0xd300-0xd303,0xd400-0xd40f
 irq 18 at device 0.1 on pci2
 atapci1: [ITHREAD]
 ata4: ATA channel 0 on atapci1
 ata4: [ITHREAD]
 atapci2: Intel ICH7 SATA300 controller port
 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xf000-0xf00f at device 31.2 on pci0
 ata0: ATA channel 0 on atapci2
 ata0: [ITHREAD]
 ata1: ATA channel 1 on atapci2
 ata1: [ITHREAD]
 ad0: 953869MB WDC WD10EADS-00M2B0 01.00A01 at ata0-master UDMA100 SATA
 ad2: 953869MB WDC WD10EADS-00M2B0 01.00A01 at ata1-master UDMA100 SATA

 % zpool status
 pool: zroot
 state: ONLINE
 scrub: none requested
 config:

 NAME STATE READ WRITE CKSUM
 zroot ONLINE 0 0 0
 mirror ONLINE 0 0 0
 ad0p2 ONLINE 0 0 0
 ad2p2 ONLINE 0 0 0

 errors: No known data errors

 % gpart show
 = 34 1953525101 ad0 GPT (932G)
 34 128 1 freebsd-boot (64K)

[FreeBSD-users-jp 94072] Re: graid3 の復旧

2012-12-13 スレッド表示 Yoshiharu ITO
いとうといいます.

たびたびすいません.

メタデータの格納位置と構造がおおよそわかったので,時間がとれたときに
チャレンジしてみようかと思います.

が,ちょっと先になりそうですので,もしこれよりもまっとうな方法をご存知の
方がいらっしゃいましたら,お知らせいただけると嬉しいです.

以下,メモになります.

- メタデータはプロバイダが管理している領域の最終セクタに格納されている
- GEOM::RAID3 で探せば見つかるだろう
- sys/geom/raid3/g_raid3.h にある stuct g_raid3_metadata がメタデータ
  の構造だが過去のモノも含めると 3 通りあるようだ
- それを見分けるのは md_version である
- ディスクの状態を示すのは md_dflags である
- これの G_RAID3_DISK_FLAG_BROKEN が立っているのだろう
- メタデータの有効性を確認するためのハッシュ値も格納されているからメタ
  データをいじったらハッシュ値も更新しておかないとダメ

2012年12月13日 13:42 Yoshiharu ITO yochy4...@gmail.com:
 いとうといいます.

 大変申し訳ありませんが,お知恵を拝借できないでしょうか.

 当方 HDD 5 台で graid3 を運用しておりました.

 やんごとなき理由からハードウエア構成変更のため SATA ケーブルの抜き差し
 を含む作業を行った後に,シングルユーザーモードで起動確認を行いました.

 すると,こともあろうに SATA ケーブルの接続ミスで 2 台 HDD が見えない状態
 になってしまっていて,RAID3 が DEGRADED するどころか,その時に見えてい
 た HDD 全てが broken したことになってしまい,最終的に

  too few valid components.

 と graid3 プロバイダすら起動しなくなってしまいました(ここポイント).

 データ部へのアクセスは行なっていないわけですから,メタデータ部だけを何とか
 すれば復旧するのでは,つまり graid3 label をするだけでいいのかなぁと考えて
 みたりもしておりますが

 # g_raid3_metadata って HDD のどこに格納されてるんだ とか探してみたり

 このような状態から復旧させる,よい方法は無いでしょうか.

 以上,よろしくお願いいたします.

 --
 よっちい

-- 
よっちい


[FreeBSD-users-jp 94077] Re: graid3 の復旧

2012-12-14 スレッド表示 Yoshiharu ITO
いとうといいます.

 メタデータの格納位置と構造がおおよそわかったので,時間がとれたときに
 チャレンジしてみようかと思います.

結果をご報告いたします.

結論から申し上げますと,ほぼヨミ通りにメタデータを細工するだけで graid3
の復旧ができました.ヨミと異なっていたのは以下のとおりです.

- md_dflags は 0 だった(正常)
- 値が変わっていたのは md_genid だった
- シングルユーザーモードで起動した時に見えていた HDD のモノは 0
- 見えていなかった HDD のモノは 7
- 通常はブロバイダ内ですべて同じ値が格納されている
- md_genid が最大値と異なる HDD は使用されない

ということのようで,メタデータを書き換える個体の数を減らすために,

- 見えていた HDD の md_genid を 0 に
- ハッシュ値を計算しなおして md_hash[] をその値に

メタデータを書き換えることで無事に復旧できました(只今最終チェック中).

なお,今回の作業でディスクエディタを探したのですが,大変良い物を見つけ
たので,ご紹介いたします(Windows 版ですが).

HxD
http://mh-nexus.de/en/

元々はバイナリエディタのようなのですが,管理者権限で動作させることで
ハードディスクもエディットできるものです.

範囲指定したデータの MD5 を計算して表示してくれる機能があり,ハッシュ
値計算にそのまま利用でき,作業が簡略化できました.

今回は,大変お騒がせしました.

# zfs とかだと,こうはいかないんだろうなぁ

2012年12月13日 17:07 Yoshiharu ITO yochy4...@gmail.com:
 いとうといいます.

 たびたびすいません.

 メタデータの格納位置と構造がおおよそわかったので,時間がとれたときに
 チャレンジしてみようかと思います.

 が,ちょっと先になりそうですので,もしこれよりもまっとうな方法をご存知の
 方がいらっしゃいましたら,お知らせいただけると嬉しいです.

 以下,メモになります.

 - メタデータはプロバイダが管理している領域の最終セクタに格納されている
 - GEOM::RAID3 で探せば見つかるだろう
 - sys/geom/raid3/g_raid3.h にある stuct g_raid3_metadata がメタデータ
   の構造だが過去のモノも含めると 3 通りあるようだ
 - それを見分けるのは md_version である
 - ディスクの状態を示すのは md_dflags である
 - これの G_RAID3_DISK_FLAG_BROKEN が立っているのだろう
 - メタデータの有効性を確認するためのハッシュ値も格納されているからメタ
   データをいじったらハッシュ値も更新しておかないとダメ

 2012年12月13日 13:42 Yoshiharu ITO yochy4...@gmail.com:
 いとうといいます.

 大変申し訳ありませんが,お知恵を拝借できないでしょうか.

 当方 HDD 5 台で graid3 を運用しておりました.

 やんごとなき理由からハードウエア構成変更のため SATA ケーブルの抜き差し
 を含む作業を行った後に,シングルユーザーモードで起動確認を行いました.

 すると,こともあろうに SATA ケーブルの接続ミスで 2 台 HDD が見えない状態
 になってしまっていて,RAID3 が DEGRADED するどころか,その時に見えてい
 た HDD 全てが broken したことになってしまい,最終的に

  too few valid components.

 と graid3 プロバイダすら起動しなくなってしまいました(ここポイント).

 データ部へのアクセスは行なっていないわけですから,メタデータ部だけを何とか
 すれば復旧するのでは,つまり graid3 label をするだけでいいのかなぁと考えて
 みたりもしておりますが

 # g_raid3_metadata って HDD のどこに格納されてるんだ とか探してみたり

 このような状態から復旧させる,よい方法は無いでしょうか.

 以上,よろしくお願いいたします.

 --
 よっちい

 --
 よっちい



-- 
よっちい


[FreeBSD-users-jp 94088] Re: ログインできない?

2013-01-08 スレッド表示 wataru ito
こんにちは、伊藤です。

認証周りが臭そうですね。
/var/log/messages, /var/log/auth.log, /varlog/security あたりに何か出てませんか?


2013年1月9日 14:59 Shevek Ansible shevek.ansi...@gmail.com:
 FreeBSD 8.3 (amd64) を新規インストールしましたコンピュータ自身からログインしようとすると Login incorrect になります。
 別のコンピュータから ssh で上記のコンピュータにログインすると、これが不思議、ログインできてしまいます。

 当該コンピュータのキーボード不良を疑ってみたのですが、特に問題なく入力できています。
 (login: の後にユーザ名の代わりにパスワードをタイプすると正しく表示されています)

 この様な時は、どこからチェックするといいのでしょうか?

 該当しそうなポイントをご示唆いただけませんでしょうか。


[FreeBSD-users-jp 94046] umodem で PICC18F2550 にアクセスすると不安定

2012-11-11 スレッド表示 Koh-ichi Ito
);
$k++;
}
$tios0-setattr($fh, POSIX::TCSADRAIN);
close($fh);
#}
exit(0);

-
kkdlabs.jp, featuring Koh-ichi Ito as just another DNS freak in town.


[FreeBSD-users-jp 94048] Re: umodem で PICC18F2550 にアクセスすると不安定

2012-11-12 スレッド表示 Koh-ichi Ito
平林さん

質問者のいとうです。

From: Kouichi Hirabayashi k...@mogami.com
Subject: [FreeBSD-users-jp 94047] Re: umodem で PICC18F2550 にアクセスすると不安定
Date: Sun, 11 Nov 2012 18:18:14 +0900

 デバイスドライバを書く側から見たら、いつデータが来るか
 わからないときは「100回以上回しても平気」なほうの構造
 にするか、センサ側がデータ送出指令を待つようにすべきだ
 と思いますが、運がよければ、最初のプログラム構造でも、
 sleep() を close() の後に移動すると(完全ではないにして
 も)改善されるかもしれないですね。
 
 平林 浩一

close()の後ろに sleep()を入れると、確かに快調なようです。ありがとうござ
いました。

しかし、せっかく早速のお返事をいただいたんですが、飲み込めていません。
最初のメールでアプリケーション層プロトコルの説明を TriState のマニュア
ルに譲ったため、状況が正確にお伝えできていなかったかと思いますので、補
足させて下さい。

気圧計は USB ポート経由の接続を待ち受けており、気圧計側から能動的にデー
タを送ってくることはありません。例えばスクリプトの中にある BARH という
のは、その自転での気圧を hPa 単位で要求するコマンドですが、他に BARI(気
圧を inchHg 単位で要求する)、RYUP(リレーを動作させるしきい値の設定)など、
いくつかのコマンドがあり、それを USB ポート経由で送信すると、応答が返る、
という動作フローです。したがって、いただいたメールにある「いつデータが
くるかわからない」という状況ではないと理解していますが、いかがでしょうか?

例えば(送ったコマンドのエコーバックがないので書き加えていますが)

sh# cu -l /dev/ttyU0
Connected
BARH^M^J と打鍵しています
Error   これは応答
BARH^M^J と打鍵しています
1003.6hPa  これは次の応答
~
[EOT]

のような要領です。

実は本番の(というほど大げさな話じゃないんですけど :-)プログラムは Perl
じゃなくって C で書いているんですが、ともかく close()の後ろに sleep()を
入れると改善されることはわかりましたので、がんばってみます。

引き続き、何か情報がありましたら、よろしくお願いします。

kkdlabs.jp, featuring Koh-ichi Ito as just another DNS freak in town.


[FreeBSD-users-jp 94050] Re: umodem で PICC18F2550 にアクセスすると不安定

2012-11-13 スレッド表示 Koh-ichi Ito
いとうです。何度もすみません。

From: Koh-ichi Ito k...@kkdlabs.jp
Subject: [FreeBSD-users-jp 94048] Re: umodem で PICC18F2550 にアクセスすると不安定
Date: Mon, 12 Nov 2012 19:38:44 +0900

 デバイスドライバを書く側から見たら、いつデータが来るか
 わからないときは「100回以上回しても平気」なほうの構造
 にするか、センサ側がデータ送出指令を待つようにすべきだ
 と思いますが、運がよければ、最初のプログラム構造でも、
 sleep() を close() の後に移動すると(完全ではないにして
 も)改善されるかもしれないですね。
 
 平林 浩一
 
 実は本番の(というほど大げさな話じゃないんですけど :-)プログラムは Perl
 じゃなくって C で書いているんですが、ともかく close()の後ろに sleep()を
 入れると改善されることはわかりましたので、がんばってみます。

C のコードでは、close()の後ろに sleep()を入れてみても現象は変わらず、
read()の前の select()がタイムアウトし、そのまま再実行すると、select()が
タイムアウトすらせず返ってこなくなります。^C を打鍵するとプロンプトは返っ
てきます。

長くて恐縮ですが試したコードを載せます。PAUSE の値は1でダメだったので5
にしてみましたが、やはりダメでした。

#include err.h
#include fcntl.h
#include stdio.h
#include stdlib.h
#include string.h
#include termios.h
#include unistd.h
#include sys/ioctl.h
#include sys/select.h
#include sys/stat.h
#include sys/types.h
#include sys/uio.h

#define PAUSE   5

main()
{
int i,
fd;
size_t  rlen,
tlen;
ssize_t n;
char*tmesg,
rmesg[16];
fd_set  fds;
struct termios  tios;
struct timeval  timeout;

for (i = 0; ; i++) {
printf(i = %d\n, i);
if ( (fd = open(/dev/ttyU0, O_RDWR | O_NONBLOCK) )  0) {
err(1, open());
}
if (ioctl(fd, TIOCEXCL)  0) {
err(1, ioctl(TIOCEXCL));
}
if (tcflush(fd, TCOFLUSH)  0) {
err(1, tcflush(TCOFLUSH));
}
if (tcflush(fd, TCIFLUSH)  0) {
err(1, tcflush(TCIFLUSH));
}
if (tcgetattr(fd, tios)  0) {
err(1, tcgetattr());
}
tios.c_cflag |= (CREAD | CLOCAL);
tios.c_iflag |= IXANY;
tios.c_iflag = ~(ISTRIP | ICRNL | INLCR | IXON | IXOFF
| IMAXBEL);
tios.c_lflag |= ICANON;
tios.c_lflag = ~(ECHO | ECHONL);
tios.c_oflag = ~OPOST;
if (tcsetattr(fd, TCSADRAIN, tios)  0) {
err(1, tcsetattr());
}
FD_ZERO(fds);
FD_SET(fd, fds);
timeout.tv_sec = 1;
timeout.tv_usec = 0;
tmesg = BARH\r\n;
tlen = strlen(tmesg);
if ( (n = select(fd + 1, NULL, fds, NULL, timeout) )  0) {
err(1, select() for write());
} else if (n == 0) {
fprintf(stderr, select() for write() timeout.\n);
close(fd);
sleep(PAUSE);
exit(1);
}
if (write(fd, tmesg, tlen)  0) {
err(1, write());
}
FD_ZERO(fds);
FD_SET(fd, fds);
if ( (n = select(fd + 1, fds, NULL, NULL, timeout) )  0) {
err(1, select() for read());
} else if (n == 0) {
fprintf(stderr, select() for read() timeout.\n);
close(fd);
sleep(PAUSE);
exit(1);
}
bzero(rmesg, 16);
if ( (n = read(fd, rmesg, 15) )  0) {
err(1, read());
close(fd);
sleep(PAUSE);
exit(1);
}
printf(rmesg: %s\n, rmesg);
close(fd);
sleep(PAUSE);
}
}

-
kkdlabs.jp, featuring Koh-ichi Ito as just another DNS freak in town.


[FreeBSD-users-jp 94052] Re: umodem で PICC18F2550 にアクセスすると不安定

2012-11-14 スレッド表示 Koh-ichi Ito
平林さん

すっかりお世話になっています。

From: Kouichi Hirabayashi k...@mogami.com
Subject: [FreeBSD-users-jp 94051] Re: umodem で PICC18F2550 にアクセスすると不安定
Date: Wed, 14 Nov 2012 09:14:58 +0900

 2回分まとめますが、まず、前回の疑問
 
 「いつデータがくるかわからない」という状況ではない
 
 は、よくあるパターンだと思って、私が相手のデバイスのマニ
 ュアルを読まずに、perl のコーディングだけ見て書いてしまっ
 たのが原因です。

最初の説明が至らず失礼しました。

 open(), close() はハードウェアを初期化してしまいますから、
 open() で行うたくさんの仕事がハードウェアで全て完了するま
 で、接続相手のデバイスと正常なコンタクトができません。ま
 た、相手側のデバイスが open() の後、一定時間しないとコマ
 ンドを受け付けられる状態にならないケースもあります。

予備知識が足りませんが、雰囲気はわかりました。ご説明ありがとうございま
す。

 次に、今回の C のプログラムのほうは、
 
   tios.c_lflag |= ICANON;
 
 でしたら、
 
   tios.c_cc[VEOL] = '\n';
   tios.c_cc[VMIN] = 0;
   tios.c_cc[VTIME] = 100;
 
 とか、デリミタなどの待機終了条件を指定しておかないと、運任
 せになります。

試してみましたが変わりませんでした。

この点、ぼくの理解と食い違いがあるので確認させて下さい。

tios.c_lflag |= ICANON;

ですので、Canonical mode に *している* つもりです。その前提で…

VEOL は、明示的に設定する前でも \n を行末として1行単位で read()できてい
るように見えますが、上述の通り明示的に設定してもダメでした。

VMIN と VTIME は、Canonical mode のときは動作に影響しないと理解していま
す。

 あと、相手のデバイスの仕様書を見ると、単純なコマンド・レス
 ポンス方式ですから、本来 select() のような入出力多重化機構
 は要らないわけで、素直に \n をデリミタにした canonical 入力
 (ICANON) でタイミングを合わせるのが一番ではないでしょうか?

ここなんですけど、まず、open()に O_NONBLOCK を与えないと、open()がブロッ
クされ、termios 関係の設定に進むことができなかったので、O_NONBLOCK を追
加しました。知識がないので、こんなもんか、と思って疑問なく O_NONBLOCK
を追加したんですが、もしかして、ここが既におかしいでしょうか?

O_NONBLOCK を追加すると、今度は read()が Resource temporarily
unavailable を起こしてしまうので select()を追加した、という経緯です。
write()の方の select()は、read()に入れるなら write()にも入れた方が無難
かな? という程度で、深くは考えていません。

 つまり、
 
   open(); // デリミタ LF の CANONICAL 入力
   sleep();// 相手側で必要なら
   write();// コマンド出力
   read(); // データ入力
   close();
 
 の繰り返しになります。気圧計でしたら、プログラム中でのループ
 でなく、cron からの起動になると思いますが。

はい、この点はおっしゃる通りです。

値を取得して RRD に格納するプログラムを書いて、「できた!」と思って15分
ごとに起動するように crontab に仕込んだら、何回か成功した後、失敗して、
ブロックされたプロセスが溜まってしまった、というのが事の次第です。短時
間でループを回しているのは、あくまで加速試験の意味でやっています。

最悪、cron で起動するんじゃなくって15分 sleep()してループするという逃げ
も考えてはいるんですが…他にもコマンドラインで起動して、その点の値を一
発取得しておしまい、というプログラムも欲しいとは思っています。

恐れ入りますが、引き続きよろしくお願いします。
-
kohi@sh$ diff -u test8.c test9.c
--- test8.c 2012-11-13 20:31:49.0 +0900
+++ test9.c 2012-11-14 21:57:14.0 +0900
@@ -43,6 +43,9 @@
if (tcgetattr(fd, tios)  0) {
err(1, tcgetattr());
}
+   tios.c_cc[VEOL] = '\n';
+   tios.c_cc[VMIN] = 0;
+   tios.c_cc[VTIME] = 100;
tios.c_cflag |= (CREAD | CLOCAL);
tios.c_iflag |= IXANY;
tios.c_iflag = ~(ISTRIP | ICRNL | INLCR | IXON | IXOFF
-
kkdlabs.jp, featuring Koh-ichi Ito as just another DNS freak in town.


[FreeBSD-users-jp 94054] Re: umodem で PICC18F2550 にアクセスすると不安定

2012-11-15 スレッド表示 Koh-ichi Ito
From: Kouichi Hirabayashi k...@mogami.com
Subject: [FreeBSD-users-jp 94053] Re: umodem で PICC18F2550 にアクセスすると不安定
Date: Thu, 15 Nov 2012 06:31:48 +0900

 open()に O_NONBLOCK を与えないと、open()がブロッ
 クされ、termios 関係の設定に進むことができなかったので、
 O_NONBLOCK を追加しました。
 
 /dev/ttyU0 でなく、/dev/cuaU0 を使うとどうなりますか?

あぁ、たしかに call out ですね。/dev/cuaU0 だと open()がブロックされな
くなりました。

read()から帰ってこなくなり、ttyin でブロックされています。

kohi@sh$ ps alxwwp 29573
  UID   PID  PPID CPU PRI NI   VSZ   RSS MWCHAN STAT  TT   TIME COMMAND
0 29573 29070   0  44  0  5832   968 ttyin  I+ 00:00.00 ./test10

$ diff -u test8.c test10.c
--- test8.c 2012-11-13 20:31:49.0 +0900
+++ test10.c2012-11-15 19:58:22.0 +0900
@@ -6,7 +6,6 @@
 #include termios.h
 #include unistd.h
 #include sys/ioctl.h
-#include sys/select.h
 #include sys/stat.h
 #include sys/types.h
 #include sys/uio.h
@@ -22,13 +21,11 @@
ssize_t n;
char*tmesg,
rmesg[16];
-   fd_set  fds;
struct termios  tios;
-   struct timeval  timeout;
 
for (i = 0; ; i++) {
printf(i = %d\n, i);
-   if ( (fd = open(/dev/ttyU0, O_RDWR | O_NONBLOCK) )  0) {
+   if ( (fd = open(/dev/cuaU0, O_RDWR) )  0) {
err(1, open());
}
if (ioctl(fd, TIOCEXCL)  0) {
@@ -53,33 +50,13 @@
if (tcsetattr(fd, TCSADRAIN, tios)  0) {
err(1, tcsetattr());
}
-   FD_ZERO(fds);
-   FD_SET(fd, fds);
-   timeout.tv_sec = 1;
-   timeout.tv_usec = 0;
tmesg = BARH\r\n;
tlen = strlen(tmesg);
-   if ( (n = select(fd + 1, NULL, fds, NULL, timeout) )  0) {
-   err(1, select() for write());
-   } else if (n == 0) {
-   fprintf(stderr, select() for write() timeout.\n);
-   close(fd);
-   sleep(PAUSE);
-   exit(1);
-   }
if (write(fd, tmesg, tlen)  0) {
err(1, write());
}
-   FD_ZERO(fds);
-   FD_SET(fd, fds);
-   if ( (n = select(fd + 1, fds, NULL, NULL, timeout) )  0) {
-   err(1, select() for read());
-   } else if (n == 0) {
-   fprintf(stderr, select() for read() timeout.\n);
-   close(fd);
-   sleep(PAUSE);
-   exit(1);
-   }
+   printf(back from write()\n);
+   sleep(PAUSE);   /* required... */
bzero(rmesg, 16);
if ( (n = read(fd, rmesg, 15) )  0) {
err(1, read());

---
kkdlabs.jp, featuring Koh-ichi Ito as just another DNS freak in town.


[FreeBSD-users-jp 94056] Re: umodem で PICC18F2550 にアクセスすると不安定

2012-11-16 スレッド表示 Koh-ichi Ito
)  (p - rmesg  sizeof(rmesg) ) ) {
printf(calling read()  );
fflush(stdout);
if ( (n = read(fd, c, 1) )  0) {
err(1, read());
close(fd);
sleep(PAUSE);
exit(1);
}
if (n) {
printf( c = '%c'(0x%02x)  ,
isprint(c)? c:'.', c);
} else {
printf( n = 0  );
}
fflush(stdout);
if (c) {
*p++ = c;
} else {
j++;
}
if (c == '') {
goto DONE;
}
}
printf(retry limit of read() exceeded\n);
close(fd);
sleep(PAUSE);
exit(1);
DONE:
*p = '\0';
printf(\nrmesg: %s\n, rmesg);
close(fd);
sleep(PAUSE);
}
}
-
kkdlabs.jp, featuring Koh-ichi Ito as just another DNS freak in town.


[FreeBSD-users-jp 94058] Re: umodem で PICC18F2550 にアクセスすると不安定

2012-11-20 スレッド表示 Koh-ichi Ito
平林さん

お返事ありがとうございます。

From: Kouichi Hirabayashi k...@mogami.com
Subject: [FreeBSD-users-jp 94057] Re: umodem で PICC18F2550 にアクセスすると不安定
Date: Mon, 19 Nov 2012 19:20:41 +0900

 他人が作ったデバイスですから、設計者が何を考えていたのか推測
 しながらということになりますが、「\r\n」を送信して「\r\n」を
 受け取った後でコマンドを出さないとダメとか、そんなことないで
 すか?

うーん…ハナからダメなわけではなく、何回かはうまく動いた後でダメになる
ことや、FreeBSD-users-jp 94046(11月11日)に書いたように、別の PC で、で
はありますが、Ubuntu では C バージョンもすんなり動いていることを考える
と、timing issue は別として、アプリケーションレベルのプロトコルは間違っ
ていないと思うんですよね。

 本当はそのデバイスを作った人に見てもらうのが一番ですが、それ
 ができなければ、perl 版でうまく動くのでしたら、その動作のシ
 ーケンスとタイミングを USB レベルで追いかけてみるとか。それ
 もできなければ、ひたすら思い付くことを試すしかないと思います。

Perl 版がちゃんと動くのなら Perl に切り替えたいところですが、システムコー
ルから帰ってこなくなる問題は起きないものの、返ってくる応答が Error なの
で、それもできずに困っています。多分、FreeBSD から気圧計に向かって改行
コードの問題だと思うんですが、POSIX::OPOST を倒すだけではダメなようです。

頭を整理しつつ、もうしばらくいろいろやってみようと思います。

kkdlabs.jp, featuring Koh-ichi Ito as just another DNS freak in town.


[FreeBSD-users-jp 94059] umodem で PIC18F2550 にアクセスすると不安定(was Re: [FreeBSD-us ers-jp 94052] Re: umodem で PICC18F2550 にアクセスすると不安定)

2012-12-01 スレッド表示 Koh-ichi Ito
(2012 11 14 22:25), Koh-ichi Ito wrote:

 最悪、cron で起動するんじゃなくって15分 sleep()してループするという逃げ
 も考えてはいるんですが…他にもコマンドラインで起動して、その点の値を一
 発取得しておしまい、というプログラムも欲しいとは思っています。

アプリケーション側では思いつく限りのことを試しましたが、うまく動かないの
で、不本意ながら cuaU0 を open()しっぱなしで、計測しては15分 sleep()する
ループを回すプログラムを作ってみました。今のところ一昼夜正常に動き続けて
いるので、当面これで使っていこうと思います。

根気よくアドバイスを下さった平林さん、off-list でご連絡を下さった方にお
礼申し上げます。ありがとうございました。
-- 
kkdlabs.jp, featuring Koh-ichi Ito as just another DNS freak in town.


[FreeBSD-users-jp 94208] Re: PCBSD9.1 03-06-2013

2013-05-09 スレッド表示 Koh-ichi Ito
丸山さん

One of r...@ftp.jpix.ad.jp a.k.a.ftp{,1,7}.jp.FreeBSD.org の
いとうです。

From: maruy...@ism.ac.jp (丸山直昌)
Subject: [FreeBSD-users-jp 94205] Re: PCBSD9.1 03-06-2013
Date: Wed, 8 May 2013 21:07:09 +0900

 # ftp.jp.freebsd.org も mirror してくださいよ。

FreeBSD-users-jp #94157 にも書かれていて気にはしていたんです
が、explicit に言われてしまったので、うちのミラー担当に相談
してみたんですけど、リソースの都合で、すぐには難しいそうです。

将来的には検討(というか工面?)したいと言っていましたので、ど
うぞ悪しからず。

kkdlabs.jp, featuring Koh-ichi Ito as just another DNS freak in town.