usbdevs -v
」しても何も繋がっていないように見えるぞ。
おいおい。
別にkernelもその辺さぼってないしなぁ。
1st PCの前面の口、全部試したけど変わらないし、2nd PCの前面の口でも、変わらないし。
店員にだまされたか?
本当に外づけHDとして認識されるものなのだろうか?
ehci
組み込んでみる。
でもマニュアルにはUSB1.1って書いてあるんだけどな。
で、やっぱダメだった。
あんまり関係ないと思ったけどBIOSでlegacy USBをoffにしても症状に変化なし。
umass0: VQ 5.0M DigitalCAM, rev 1.10/1.00, addr 2 da0 at umass-sim0 bus 0 target 0 lun 0 da0: <VQ 5.0M DigitalCAM 01.0> Removable Direct Access SCSI-0 device da0: 1.000MB/s transfers da0: 244MB (499712 512 byte sectors: 64H 32S/T 244C)ちゃんと認識しているじゃん。 「
usbdevs -v
」でもController /dev/usb3: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00 port 1 powered port 2 addr 2: full speed, self powered, config 1, 5.0M DigitalCAM(0x5300), VQ(0x0733), rev 1.00とちゃんと出ているし。
mount_msdosfs /dev/da0s1 /mnt
」してみる。
よしよしちゃんと読み出せたぞ。
ad1
の問題確認:5325215, 281135103, 391647967, 391647999ということで、それぞれの読み込み実験。 「
dd if=/dev/ad1 of=/dev/null skip=5325200 count=100
」とかして問題の領域を跨いでの実験。
ad1
全体の読み込み実験でもするかな。
うまくいったとして、書き込み実験はどうしようかなぁ。
一応2nd PCにad1
のデータは全部コピーしているつもりだから時間さえかければ出来ることではあるんだけど。
うーん。
このHDの購入時にはそれなりにチェックしたものだからなぁ。
電源の方の問題の可能性も高そうだし。
boot -v
」したからか?
とすると、単なるdisk故障の前触れかな。
ad1
のデータを2nd PCの内蔵HDに引き上げ中…ad1: TIMEOUT - READ_DMA retrying (2 retries left) LBA=5325215 ata0: reiniting channel .. ata0: reset tp1 mask=03 ostat0=d0 ostat1=d0 ad0: stat=0x80 err=0x80 lsb=0x80 msb=0x80 last message repeated 14 times ad0: stat=0x50 err=0x01 lsb=0x00 msb=0x00 ad1: stat=0x50 err=0x01 lsb=0x00 msb=0x00 ata0: reset tp2 stat0=50 stat1=50 devices=0x3<ATA_SLAVE,ATA_MASTER> ata0: resetting done .. ad1: pio=0x0c wdma=0x22 udma=0x46 cable=80pin ad0: pio=0x0c wdma=0x22 udma=0x46 cable=80pin ad0: setting PIO4 on Intel ICH5 chip ad0: setting UDMA100 on Intel ICH5 chip ad1: setting PIO4 on Intel ICH5 chip ad1: setting UDMA100 on Intel ICH5 chip ata0: device config done .. ad1: FAILURE - READ_DMA timed outがーん。 今度はHD access音以外の音はならなかったけど。 この症状初めてなんだよなぁ。 LBAが違うだけでその他は同じだからHD不良の可能性が高い気がするけどchipset不良とかもありそうで嫌だなぁ。 LBAの場所も一昨日と全然違うからmedia不良とかではなさそうな気がするが。
firewire0: New S400 device ID:0000000e000016e9 da0 at sbp0 bus 0 target 0 lun 0 da0: < 2804> Fixed Simplified Direct Access SCSI-4 device da0: 50.000MB/s transfers da0: 0MB (1 0 byte sectors: 0H 0S/T 0C)おろ? やってくれるじゃん。
firewire0: New S400 device ID:0000000e000016e9 da0 at sbp0 bus 0 target 0 lun 0 da0: < 2804> Fixed Simplified Direct Access SCSI-4 device da0: 50.000MB/s transfers da0: 156334MB (320173056 512 byte sectors: 255H 63S/T 19929C)今度はうまくいった。 けど、スゲー名前だな。 あと、こんなEUI64っていいんだろうか?
/etc/fstab
にentryを追加してmount
。
ついでにprocfs
関係も書いてなかったので、ついでにmount
。
ad1: TIMEOUT - READ_DMA retrying (2 retries left) LBA=281135103 ata0: reiniting channel .. ata0: reset tp1 mask=03 ostat0=d0 ostat1=d0 ad0: stat=0x80 err=0x80 lsb=0x80 msb=0x80 last message repeated 31 times ad0: stat=0x50 err=0x01 lsb=0x00 msb=0x00 ad1: stat=0x50 err=0x01 lsb=0x00 msb=0x00 ata0: reset tp2 stat0=50 stat1=50 devices=0x3<ATA_SLAVE,ATA_MASTER> ata0: resetting done .. ad1: pio=0x0c wdma=0x22 udma=0x46 cable=80pin ad0: pio=0x0c wdma=0x22 udma=0x46 cable=80pin ad0: setting PIO4 on Intel ICH5 chip ad0: setting UDMA100 on Intel ICH5 chip ad1: setting PIO4 on Intel ICH5 chip ad1: setting UDMA100 on Intel ICH5 chip ata0: device config done .. ad1: FAILURE - READ_DMA timed out handle_workitem_freeblocks: block countまたなんか、diskが壊れたのかなぁ。 実はちょうど20日に250GB HDをhot-stand-by目的で買ってきたところではあるのだが、いきなり役にたっちゃったりするのか?
ad1
のLBA=281135103を触りたい欲望にかられるが、ちょっと恐いのでしばらく放置。
次の週末までもってくれるとよいのだが…
とりあえず今はrebootも何もしなくても復活しているようだし。
録画予約の基本を2nd PCに移動しておこうかなぁ。
IPFIREWALL
を有効にしてとりあえずkernel再構成してみる。
dcons
関係が問題になったとは思い難いけど、それで自動的に直っていたらラッキーということで。
boot -v
」で詳細に起動状況を見ていって…
あっさり起動。
PPPやNTPの問題とか何も起きなかった。
うーん。
うまくいっていなかった原因、完全に不明。
まぁでもうまくいったからよかったということで。
ppp.conf
で設定している接続制限とかをちょっとずつipfw
に移していくか。
options IPFIREWALL #firewall options IPFIREWALL_VERBOSE #enable logging to syslogd(8) options IPFIREWALL_VERBOSE_LIMIT=10 #limit verbosity options DUMMYNET # DUMMYNET enables the "dummynet" bandwidth limiter.と、昨日いろいろ試したのを
/etc/ipfw.ruleset
に入れて再起動。
Shutting down ACPI sとか出た後進まない。 なんか嫌な予感を感じながらreset。
/etc/rc.conf
からppp
周りと
firewall
周りを全部comment outして、起動。
/etc/rc.conf
のfirewall周りを生かして
「/etc/rc.d/ipfw start
」してとりあえず仮名漢字変換は出来るようになった。
/sys/i386/compile/FLU
をばっさり消して、「config FLU
」「make depend
」「make
」「make install
」のやり直し。
ppp
の起動に挑戦。
んで、とりあえず対話sessionを試みようとしてppp
したらWorking in interactive mode Using interface: tun0 ppp ON flu> dial din Ppp ON flu> Chat: deflink: Reconnect try 1 of 20 Chat: deflink: Redial timer expired. Chat: deflink: Reconnect try 2 of 20が延々と続く。 おや?
dial
もしていないのに、何か問題起きているな。
ipfw
で蹴られているのか?
online manualを見ていくと…
あ、非IPv4 packetもdefaultで蹴るのか…
やられたな。
「add 1000 allow layer2 all from any to any
」で大丈夫か?
add 1 allow layer2 not mac-type ip
」
と書くべきらしい。
とりあえずこれで仮名漢字変換ではまっていたのは直った。
ppp
を起動すると…
変わらないじゃん。
うーむ。
Fatal trap 12
」とか出たけど、無事起動はした。
んで、自動的に直ってくれていることを希望したけどやっぱりppp
については症状変わらず。
うーむ。
layer2
云々は関係ない気がしてきた。
kernel変数のnet.link.ether.bridge_ipfwがないし。
ppp ISP
」したら繋がったぞ。
???
rc.conf
のPPP周りの設定をcomment outしなおすのも面倒になってきた。
ntpd
の起動タイミングが狂うがppp_mode="ddial"
だとPPPで固まるということはなさそうなので、これでどうだ。
とりあえずは起動した。
うーん。
このあと、どうすべきか。
/etc/ttys
を見たけど、これは関係なさそうだった。
そういえば、ふと、以前debug関係で、kernelにdebug関係のcodeを入れていたのが原因かと思って、device dcons # dumb console driver device dcons_crom # FireWire attachment options KDB # Compile with kernel debugger related code. options DDB # Enable the kernel debugger.を外したら正解。 チャンとsingle user modeで起動した。 何年ぶりに解決したんだろうか。 いや、ほっておいてもfirewire経由で制御は出来た可能性はあるけど。 ^^;
options KDB # Compile with kernel debugger related code. options DDB # Enable the kernel debugger.は残しておいても大丈夫だった。
ppp_mode="background"
に戻して再起動をかけたら…
果たして問題なく起動してしまった。
ということで、じゃぁipfw
の話しに…
と思ったが、今日はもう気力が尽きたので、とりあえず元に戻ったということでよしとするか。
懸案だったsingle user mode起動しない問題も解決したし。
/etc/ipfw.ruleset
を作って「add 1000 allow all from any to any
」とか書いてみる。
んで、/etc/rc.conf
にfirewall_enable="YES" firewall_flags="-p /usr/bin/cpp" firewall_logging="YES" firewall_type="/etc/ipfw.ruleset"と書いてみて「
/etc/rc.d/ipfw start
」
ipfw.ko
も読み込んでもくれるらしい。
で、それはいいけど、ちゃんとppp.conf
に書いてあるルールは有効になってるかな。
telnet flu.hn.org 139
」とかしてみたけど、/var/log/ppp.log
に何も出ないぞ。
うーむ。
しかし、port 8080とかならlogに残るな。
うーむ。
まぁいいか。
ipfw add 100 pipe 1 ip from 192.168.xx.yy/24 80 to any out
」
「ipfw pipe 1 config bw 200Kbit/s
」
む。ipfw: setsockopt(IP_DUMMYNET_CONFIGURE): Protocol not availableんじゃ「
kldload dummynet
」
ipfw show
」ではあんまり細かい情報は出ないしな。
「ipfw pipe show
」でいいのか。
ipfw delete 100
」して、「ipfw add 100 pipe 1 ip from 61.122.73.67/32 80 to any out
」とすると、どうかな?
うまくいっているっぽいぞ。
「ipfw pipe show
」すると00001: 200.000 Kbit/s 0 ms 50 sl. 1 queues (1 buckets) droptail mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000 BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp 0 tcp 61.122.73.67/80 aaa.bb.cc.dd/32927 1058 1507578 7 10094 0ということで、なんか認識されているみたいだ。
ipfw pipe 1 config bw 1000Kbit/s
」として、事実上ないことにして今日の作業は終り。
ipfw add pipe 1 ip from 192.168.xx.yy/24 to any out
」
してみると…ipfw: getsockopt(IP_FW_ADD): Protocol not availableやっぱダメか。
kldload ipfw
」。
んで、messages
にはkernel: ipfw2 initialized, divert disabled, rule-based forwarding disabled, default to deny, logging disabledあ、なんかヤバイ感じと思ったら、外への接続が
Write failed: Permission deniedで切れてしまった。 ということで「
kldunload ipfw
」をしたら…
元に戻った。
危険だ。
ちゃんとkernelにdefaultはaccept baseで入るように検討しよう。
tail
とか打つのも面倒になってしまいscriptを書いてみた。
hlt_logical_cpus
を検索語にして探す人が増えていたし。
さて。
で、真面目に読んだところ
sysctl machdep.hyperthreading_allowed=1
とすればいいらしい。
top
で見たところちゃんと有効になっているようだ。
さて、どうするかな。
/boot/loader.conf
という手もあるが今のところ使っていないので、設定をまとめるという意味においても/etc/sysctl.conf
かな。
でも、こんなところぐらいの穴を塞いでどれくらい意味があるんだろう。
費用対効果があっていない気がする。
究極のところ、time sharingのmultiprocessを許す限りどの程度攻撃しやすいかって問題はあるにしろこの手の問題は起きると思うんだけどな。
解決しようとしたら、multiprocessを止めるか、相当performanceを落すかのどちらかのような気がする。
まぁ将来的に、その辺のsupportがCPUの方でなされたら何とかなるのかもしれないけど現在広まっている安価なCPUでは難しい気がする。
ppp
daemonを止めてaccess listに入れるようなことをやっている。
今のところ、一旦、弾くとなんかとりあえず諦めるので。
DoS攻撃をしたい訳じゃないということなんだろうけど。
というか、こんなADSLの末端サイトにDoS攻撃しても意味あるとは思えないし。
いずれにしても、なんか面倒。
最初からipfw
とか考えていたらよかったんだけどppp
の中でaccess制限始めちゃったからなぁ。
とりあえず、pppctl
を使えるようにすることを考えよう。
ppp.conf
に「set server /var/run/internet "" 0177
」とか追加してみる。
うーん。
network
groupに入っている人がこれで使える訳じゃないのね。
ん?
/var/run/ppp
というdirectoryがroot:network
のもので、770になっているぞ。
ということで「set server /var/run/internet "" 0117
」としてみる。
なんかいい感じ。
pppctl /var/run/ppp/internet
」。
なんかいい感じ。
でも、どういう命令があったっけ?
^^;
show filter
」とか入れてみた。% pppctl /var/run/ppp/internet PPP ON flu> show filter IN: Connection closedはにゃ? 何もないって変じゃん。 うーむ。 ではcommand lineから「
pppctl /var/run/ppp/internet show filter
」だと?
おー、出る出る。
interactiveな実行はあんまり想定されていないのか?
pppctl /var/run/ppp/internet set filter in 30 deny xxx.xxx.xxx.xxx/32 0/0 tcp dst eq ssh
」。
よしよし。
追加された。
pppctl /var/run/ppp/internet set filter in 30 clear
」。
よしよし消えた。
とりあえずこれは解決。
( head -c 188 basilisk05T.avi ; echo -n DIVX ; tail -c +193 basilisk05T.avi ) >b.avi
ad
の1以上が遅い問題は解決しているだろうか。
scp
したのが敗北。
とりあえずbt878で取ってあるのがあるのでそれほど痛い訳ではないのだが。
さて、どうしようかな。
またscriptをupdateするたびに同じ間違いをしてしまいそうだ。
fwcontrol
を発行して、探すことにするか、それともEUI64を書き込んだファイルを読み込むことにするかのどちらかぐらいかなぁ。
2台以上のGV-MVP/IDVを1台のPCにつなぐとかだと問題だし、EUI64の番号ふりルールを完全には理解していないというのもあるけど、とりあえず前者で解決してみた。
options MAXDSIZ=(1792UL*1024*1024) options MAXSSIZ=(128UL*1024*1024)とか書いて増やせるのは知っていたけどなんか、あるだけ使えたっていいじゃんとか思った。 んで、こういうのにありがちの0に設定してkernelを作り直して起動したら…
Mounting root from ufs:/dev/ad0s1aと出た後進まなくなった。 :-(
UL
と明示的にしているとはいえ、どうも32ビットまで引っかかるのが気になっていて合計が31ビットで止まるように、上のような値にしていたけど、せっかく2nd PCで実験できるということでoptions MAXDSIZ=(3072UL*1024*1024) options MAXSSIZ=(512UL*1024*1024)としてみた。 んで「
config
」「make depend
」「make install
」したあとハタと気がついた。
ここで、また起動しないkernelにしてしまうと、今boot loaderから/boot/kernel.old/kernel
を指定して起動しているのがなくなってしまって、かなり面倒なことになってしまうのではないかと。
ということで、まずは以前と同じkernelをmake
しなおしてから上記設定で、「make install
」しなおし。
Mounting root from ufs:/dev/ad0s1a init died (signal 0, exit 1) panic: Going nowhere without my init! cpuid = 1 boot() called on cpu#1 Uptime: 3sキタ〜〜〜。 ちゃんと起動するkernelを準備しておいてよかった。 ^^;
tcsh
のlimit
を実行すると、ちゃんと設定数値になっていることを確認。
ということで、今度は2G+2Gにしてみた。
MAXDSIZ MAXSSIZ 1792M 128M OK 3072M 512M NG 2048M 128M OK 2048M 2048M OK 2049M 128M OK 3071M 128M NG 2943M 128M NG 2560M 128M OK 2816M 128M OK 2880M 128M OK 2912M 256M OK 2928M 256M OK 2936M 256M 起動するがCannot mmap file /usr/lib/libstdc++.so.5などといわれる 2928M 2928M OKということで、限界は3*2^10*10^3Bぐらいか? いずれにしても、そんなにはメモリもってないし、swapもそこまで使う気はないので、2560MB+512MBにしてみた。
/etc/hosts
に教えてみたけど、IP addressが変わったりすると、hosts
に書いたのを忘れて原因解明が難しくなりそうだ。
fwcontrol
やmencoder
がいないとか、入れようかと思っていたけど、それ以前にメモ書きを更新していたらやる気をなくしてしまった。
連休最終日だと思っていたんだけど、人間の気力というのはなかなか制御が難しい。
xorg.conf
とかいうのの生成。
「Xorg -configure
」でいいのかな?
/root/xorg.conf.new
を見ると、文法はXFree86と同じなのかな?
中身もほぼ同じに見える。
しかし、XFree86のときは、使っているdisplayであるLCD-A15Hに合わせて若干は修正しないとダメだった気がするけどどうかな。
とりあえず「cp -p xorg.conf.new /etc/X11/xorg.conf
」して、えい。
「xinit>&log
」。
xorg.conf
設定は同じに見えるし、boot messageも同じに見えるし。
「od /dev/sysmouse
」して、
1st PCではいろいろ出るのに2nd PCでは出ないのが問題だな。
X以前の問題のような気がする。
さて、でもどこから手をつけるべきか。
まずは、物理的接続の確認だろうな。
moused
を起動するか。
よし、これでちゃんとXでもmouseが効いた。
見え方もほぼOKなんだけど、ちょっと右にずれているんだよな。
もちろんdisplayのauto adjustを使えば大丈夫なんだろうけど、keyboard切替え器で切替えるたびにadjustってのもなぁ。
実は、Athlon君が1st PCだった時もその問題があって、結局解決できていなかったのだが。
^^;
/var/log/Xorg.0.log
を見たり、xvidtune
を実行したり、いろいろ試したけど
Modeline "1024x768" 65.00 1024 1063 1199 1344 768 771 777 806 -hsync -vsync
ぐらいが一番ましかな。
3ドットぐらいだけど右が切れてはいるが。
kterm
とかいくつかportsを入れて今夜は終りにしよう。
mpg123
で聞いたら時々*ブッ*って雑音が入るぞ。
pcm0: <CMedia CMI8738> at io 0xb400 irq 21 (1p/1r/0v channels duplex default)のdriverの問題かなぁ。
cdcontrol 6
」したけど、何も鳴らないじゃん。
DVD driveからsound cardに線が繋がってないのかな?
ということで、cdrtools-cjk
のportsを入れて読み出すか。
あー、まだlist_audio_tracks
のbug直ってないのね。
一応portsとmaintainerとcdrtoolsの作者にpatchを送ったんだけどなぁ。
返事なかったしなぁ。
cdda2wav -t 6
」して、mplayer
で聞いたら全然問題ないじゃん。
さて。
んじゃぁmpg123
で聞いたのが問題???
で、MP3にしたのをmplayer
で聞いたらそんな問題は出なかった。
うーむ。
1st PCではそんな問題はなかったんだけどなぁ。
違いといえばmpg123-esound-0.59r_17
とmpg123-esound-0.59r_14
ぐらいで殆んど差がないのだが。
さて、どうしてくれようか。
とりあえず聞く手段がない訳ではないので放置か。
pcm0: <Intel ICH5 (82801EB)> at io 0xffa7f800, 0xffa7f400 irq 17 bufsz 16384 (1p/1r/0v channels duplex default)と3rd PCの
pcm1: <ESS 1869 DSP> at io 0x220 irq 5 drq 1:5 bufsz 4096 (1p/1r/0v channels duplex)の違いで、ずいぶん3rd PCの音はこもって聞こえたし。
cvsup
。
mencoder
が動かなくなったりしたら嫌だけど、とりあえずmake.conf
でCPUTYPE=p4
でportupgrade
しておくかな。
mplayer
もupgrade対象だったので、直っているかなぁと思ったらやっぱりcore dumpした。
んで、ついでにtvrec
scriptの例のtouch
のbugが直っていないやつが2nd PCに入っていることが判明したので、早速1st PCからscp
した。
ということで、とりあえず今回何がupgradeされたのか調べるの面倒だし、依存関係全部作り直すの大変なので、とりあえずmplayer-gtk-esound-0.99.7
だけmake.conf
をCPUTYPE=p4
をコメントアウトしてportupgrade -f
してみる。
scp
して視聴。
おや〜。
音しかないぞ。
映像はどうしたんだ?
何が起きたんだ?
どうして、最近のmplayer
ってこうも問題続きなのだ。
どうしてくれるかな。
サイズから見て、動画は絶対にはいっているはずなので、ヘッダが腐っているとかの問題だと思うんだけど。
うーむ。
upgradeしたsourceの問題もあるかもしれないが、諦めてCPUTYPE=p4
じゃない状態で「portupgrade -Rf mplayer-gtk-esound-0.99.7
」するか。
なんか、全然Xserverに入れないぞ。
とりあえずportsのxorg
だけmake
すべきだったが、もう遅いな。
まぁ戻すことは絶対に不可能ってことではないと思うが大変。
mplayer
の出力messageをよく見ると…Cannot find codec matching selected -vo and video format 0x34504D46.とか出ている。 むむむ。 defaultのcodecがDIVXからFMP4に変わって、1st PCの
mplayer
で使っているので対応できなくなったのか。
さて、どうしようかなぁ。
ちょっと1st PCの方をいじるのは恐いしなぁ。
頑張って、2nd PCでXを動かすのが先決か。
とりあえずCPUTYPE=p4
でmplayer
を作り直すのはしておくか。
beav
でDIVXに書き換えたら1st PCで見えた。
まぁ当分はこれでいいかも。
^^;
mplayer
そのものだけp4を外して作り直して問題なく動いた。
ということでports/x11/xorg
で「make install
」。
本ページの主張等は著者の所属組織に全く関係なく、個人としてのものです。