2009年12月30日水曜日

Windows7でMTU等を変更

 

年末のお掃除中ですが、ちょこっとbreak time.
コーヒーのみつつ、サボってたブログの更新です。

 

MTU (Maximum Transmission Unit)は、通信ネットワークにおいて、
一回の転送で送信できるデータの最大値を示す値です。

っとIT用語辞典に書いてあります。

普通にネットサーフィンを楽しむ方々にとっては縁のない単語ですし、
Developerにとっても、覚えてるだけで気にはしないものだと思います。

一番MTUを気にするのはネットゲーマーでしょうね。

微調整しないとタイミングが狂ってしまう!
なんて方々は、自己責任の下で参考にしてみてください。

 

Comfortable PCをはじめ、PCのパフォーマンスを微調整できるToolがあります。
これらを使用すれば、簡単に設定できる・・・はずでした。

実はWindows7 Ultimate (64bit)で試してみたところ、
どのToolを使用しても変更内容が反映されない!
という罠にはまってしまいました。
# 変更はできるように見えますが、Toolを起動しなおすと元に戻ってるんです

そこで・・・・

レジストリエディタで直接変更してみました。
どうやら、これなら変更内容が反映されるようです。

管理者権限に昇格したToolで変更が反映されないのに、
レジストリエディタなら変更が反映される。

ちょっと不思議ですが・・・
UACの所為で、権限は管理者でも変数の内容がユーザのもので、
ちゃんと変更されてないとかそんな理由なのかなぁ?

 

ってことで、変更するべき場所は以下の通りです。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\{Interfaces-serial}\MTU
# {Interfaces-serial}はNICごとに違うので適切なものを選択

Ack延滞を変更する場合は、同じ場所の”TcpAckFrequency”の値を変更。
# 無い場合はDWORDで作成する (デフォルトでは存在しない)

 

RWINを変更する場合は、同じ場所の”TcpWindowSize”の値を変更。
ですが、Vista以降はRWINを自動調整するのでここの値は意味をもちませぬ。

TcpWindowSizeを有効にする場合は、cmd.exeを管理者権限で起動して、
netsh interface tcp set global autotuninglevel=disabled
って入力してください。

戻す場合は、
netsh interface tcp set global autotuninglevel=normal
です。

 

これらの調整により、通信のパフォーマンスを向上できるかと思いますが、
調整ミスにより、遅延やタイムアウトが頻発することもあります。

調整の際はいろいろと調べてみてくださいね。
ゲーム毎のMTUもどこかにのってるでしょう。

あーんど、あまりにServerに迷惑かけそうな設定も自重しましょう。
DoS攻撃みたいになっちゃったら大変。
# そんな頻繁に細かくアクセスしても速度落ちちゃいますし・・・

 

参考までに、
ModemのMTUは576。
ISDNのMTUは1000。
ADSLのMTUは1454。
EthernetのMTUは1500。

FTTH以降は、MTUよりRWINを調整するといいかも。

 

少しでも快適な環境を目指してみましょ。

2009年12月6日日曜日

openSUSE11.2にEclipse入れたのだけど・・・



openSUSE11.2をVGN-TZ90NS君にインストールしました。

ほんとはReleaseしたその日にDownloadしたので、
すぐさまブログに書こうと思っていたのに、すーっかり忘れてました。

milestone4で起こってたわけわからん不具合動作は、
Release版では治っているようで、今は快適です。


まだ得に特別なことはしてません。
色々遊んでて気になった点を見つけたらレポートしますね。

っということで、早速一つ目。


Pythonの開発環境を整えようと、EclipseをDownloadしてきました。
KDevelopでも良いのだけど、折角Eclipse少しずつ使い始めた分けだし・・・。

Downloadしたのは、 "Eclipse IDE for C/C++ Developers"
もちろんGalileoです。

まぁ、他のPC上でSetupした経験もありますので、すんなりと終わる!!
はずだったのですけどねぇ・・・。


Downloadして、展開して、機動もすんなり出来て、
"Install new software"で"http://pydev.org/updates"を追加して、
"Next"ボタンを押せば後は勝手に・・・・
ボタンを押せば・・・・
ボタン・・・

"Next"ボタンがクリック出来ない!!
orz

これはもーかなり焦りました。

だって、こんな簡単な手順で、間違いようが無いのに、
なんでかボタンがクリック出来ないんだもの。


散々悩んだ挙句に、なんとなくEnterを押したら、
次の画面に進んじゃいました!

( ゚д゚)ポカーン


どーやら、 "Install new software"の画面にある"Next"ボタンを
クリックすることが出来ないようなのです。

"Cancel"は出来るくせに。


とりあえず、キーボード操作をすれば、普通に動くのでスルーしてますが、
原因が何なのかは分かってません。

VMwareで動いてる、openSUSE11.1にも入れてみようかなぁ?
Eclipseが原因とはどうしても思えないです。




なんで、Pythonの開発環境を作ったかって?

前々から覚えたくて「みんなのPython」とか本も揃えたのに、
ぜーんぜん手を付けてなかったらとりあえず用意したのですw

別の目的もありますが、それは追々。




2009年12月1日火曜日

犯人はKDevelop

 

先日、aRtsの暴走で、

ということでESD (Enlightened Sound Daemon) が動いてて欲しいわけで、
aRtsが起動してる理由がサッパリ分かりませぬ。

なんて言ってましたが、犯人が分かりました。

私のような環境で作業するような人なんて、ほとんどいないでしょうから、
きっと困ってる人は少ないと思いますが・・・自分の為にメモ。

 

私がVMware上で使用してるOpenSUSE11.1のデスクトップはGNOME。
なのに、よくKDEの統合開発環境であるKDevelopを使用する。

実はこいつを起動するとKDEのサウンドサーバであるaRtsが起動するようなんです。

そして”何か”と競合してCPUを占有し始めるという。

 

まぁ・・・こんなあべこべなことをしている私が悪かったりもしますが、
これにはちょっとした理由があるのです。(いいわけもーど)

Anjutaのgrep機能が使いづらいんだ!!
Eclipseを私の作業PC上のVMwareで動かすと重いんだ!!
Kateを使いたかったのにどーしても起動してくれないんだ!!

ってことでKDevelopに行き着いたという。

うーん、色んなところで横着したのが原因かw

 

ちなみに、KDE4からaRtsではなくPhononになりました。

ってことで、私のようにあべこべな環境で開発するか、KDE3.5を使うかじゃないと、
aRtsとは出会えません。

今となっては(今じゃなくても)レアケースですね、きっと。

 

 

 

あれ・・・もしかしてサウンドをESDじゃなくてaRts使用するようにすれば、
普通に動いてくれそう??

やってみようかな。

2009年11月30日月曜日

InfoPath入門

 

何故か、ふと前のブログ消そうと思い立ちました。

どーせ誰も見てないし、結局大したこと書いてないし・・・。
んでもよく見たら1ページだけ異様なアクセス数のページがあったんです。
他のページのなんと80倍
(まともな記事がそれ一つで終わってたっていう理由もありますが)

ってことで、そのページだけこっちにコピーです。

 

ここから ----------

実は今お仕事で使用している議事録がとーっても見づらくて、
なんとか使いやすくできないものか、できれば他と連携とれないものか、
なんて思ってたんです。

そこで見つけたのがInfoPath。

・・・Word等はよく使うのに、今まで存在すら気付きませんでした。

とりあえずてきとーに触ってみてー・・・
なんて思ってたらちょっとややこしそうだったので、
調べてみたんです。

そしたら、
InfoPath – トレーニング
MicroSoftがトレーニング用のページを用意してたんですね。

これも初めて知りました・・・。

こんな便利そうなツールが存在してたんですね。
私が無知すぎるだけかぁ??

便利そうといっても、あんましよく分かってないので、
一先ず利点を他人に説明できるくらいまで頑張らないと!

ここまで ----------

 

2009-06-13の記事です。

半年くらい経ちました。
何にも進んでません(汗)

あああああああ orz

2009年11月27日金曜日

Kernelブートイメージファイルの名前と意味 その2

 

その1でブートイメージファイルを沢山書きましたが、
宿題が結構残っていましたので消化しました。

 

まずはxipImage

xipImage
XIP(eXecute in Place)形式というやつで、
RAMへ展開せずに、極力そのまま使えるようにしたものらしいです。
NORフラッシュ等に余裕があるなら使えそうな形ですね。
今度試してみよう。

menuconfigで設定する人は、
”Boot options –> Kernel Execute-In-Place from ROM”にチェックを入れて、
”Boot options –> XIP Kernel Physical Location”にアドレスをいれる。

.config直接いぢる人は、
”CONFIG_XIP_KERNEL”をyにして、
”CONFIG_XIP_PHYS_ADDR”にアドレスを入れる。

んで、お仕事でも使用しているボードでコッソリと試して・・・

試し・・・て・・・・

動かないorz

どうやら、NORがByteアクセス出来ない為に、ちゃんと動かんのです。
まさか実験の為だけにH/W何とかしろなんて言えないので断念です。

 

お次はrImage

rImage
ramcopy形式とMakefileには書いてありました。
無圧縮の形で、とにかく仮想空間への展開だけしてるのでしょうか?
じつはちょっと動きが分からないので、宿題デス。
# 実際ブートローダからjumpしたら動かなかtt

menuconfigで設定する人は、
”Boot options –> Kernel Uncompressed, RAMCOPY”にチェックを入れて、
”Boot options –> RAMCOPY Kernel source address”にアドレスをいれる。

.config直接いぢる人は、
”CONFIG_RAMCOPY_KERNEL”をyにして、
”CONFIG_RAMCOPY_SOURCE_ADDR”にアドレスを入れる。

こっちは動きました。
ほんとにそのまんま、コピーしてジャンプして動くシンプルな形です。

前回は、一先ずDRAMにイメージを展開して、それをLoadしてた為に、
CONFIG_RAMCOPY_SOURCE_ADDRと展開元アドレスが違ってたから、
うまく動かなかったってところですね。

シンプルなので起動速度は結構早いです。
uImageと比べると300msくらいは早くなった気がします。

 

・・・・msかよ!
って思われるかもしれませんが、今時の組み込みLinuxの起動時間は、
ms単位で縮めなきゃいけない状況なのですよ。

uncompressedなんでもちろん容量は大きくなりますが、
所詮はkernelなんで数Mの範囲ですしいいかな。

うん、起動時間とは逆にNORの容量がどんどん増えてきてるので、
kernelを極限まで小さく!なんてことはしなくても大丈夫になりましたねぇ。

 

ってなわけで、宿題消化!

2009年11月26日木曜日

autocmd

 

色々あって、久々の更新。

おかげでOpenSUSE11.2リリースした瞬間にインストールしたのに、
すっかり下記損ねてしまいました。

後で書くつもりです・・・。

 

さて、前回の宿題です。

autocmdは、”ファイルを開いた”とか”バッファから読み込んだ”とか
イベントに応じて自動実行されるコマンドです。

vim usersが好んで好んでやまない機能なようで、
検索すると色々と便利なコマンドが紹介されています。

バイナリデータを16進数表記する方法は、この記事に載っています。
# 使わせてもらいまーす、感謝です。

詳細な使用方法は、このドキュメントに載っています。

 

・・・・けど、個人的にはあまり必要ないなぁと思ってます。
# vim usersには申し訳ないが

私がviを使用する理由は、
・お手軽に使える
・動作が軽い
・Linuxなら必ず使用できる
てな感じなんです。

ちょこっとした用事や、急いでサクっと作業する際に使うので、
自分でカスタム出来るように勉強しても利点が少ないかなぁ・・・。

ここは少し甘えて、先人たちのリソースをありがたく使わせてもらおうと思います。
よさそーなコマンドがあったら紹介しますネ。

2009年11月4日水曜日

CUIのバイナリエディタ

 

Linuxで私の願いを叶えてくれるバイナリエディタを見つけたのでメモです。

 

Linuxにだって沢山のバイナリエディタが存在します。
KDEならKHexEdit、GNOMEならghexなどなど。

でも、私が知っていたのは全部GUIなんですよね。

組み込み開発なんかしてると、Debug用のUARTくらいしか、
Outputできるものが無いことが多いんです。

だから、viのbinary版みたいなものを探していたんですわ。

vimなら”vi –b”で開けばbinaryモードで開ける!!
なんてhelpには書いてありましたが、開いても化け化けで、
16進数表記じゃないんですもの・・・。

とはいえ、odやhexdumpじゃ見てるだけだし、
bviやhiといったフリーソフトはあるようですが、
できれば基本ソフトでなんとかしたい・・・と思ってたんです。

 

で、調べてみたら・・・

「vimならバイナリデータを16進数表記に変換できます」
ΩΩΩ < ナ、ナンダッテー!?

やり方は、”vi -b”(バイナリモード)で開いた後に、
:%!xxd
と打ち込めば変換できます。

元に戻す場合は、
:%!xxd –r
と打ち込めば戻ります。

xxdは16進数変換をしてくれるLinuxのコマンドです。

:%!は、バッファ全体を次に記述されたコマンドに渡し、
結果を反映させて表示しなおす機能のようです。

つまり、バッファ全体をxxdで変換して反映させるという動きなんですね。
表示方法が変わるのではなく、実際に書き換えちゃってます。

ってことでこのまま保存すると困ったことになりそうですから、
必ず元に戻す必要がありますね!

 

色々な方々が記事にしてましたので、ググってみると幸せになれます。

ちなみに、autocmd使えば楽になるよーっていう書き込みを見たのですが、
それほどvimを使いこなしてない私にとってはautocmd自体も???です。

ということで、後でautocmdなるものも調べなきゃですね。

 

記事書く度に宿題が増えてる気がするのは気のせいだろうか。

2009年10月29日木曜日

Kernelブートイメージファイルの名前と意味 その1

 

Kernelをbuildすると、最終的にvmlinuxというファイルができますよね。

これはもちろん、kernelをコンパイルしてLinkした結果で、
普通はELF(Executable and Linking Format)形式の、
デバッグシンボル等が付いてる形で出力されます。

これを各アーキテクチャで起動するように変換したものを、
ブートイメージファイルって呼んでます。

zImageとかbzImageなんて名前のファイルですね。

基本的には、実際に動作するプログラム部分だけ抜き出したbinaryに、
それを読み込んだり展開したりするプログラムをくっ付けた形のものです。

 

折角手元にARMアーキテクチャの開発環境がありますので、
Makefileなどを参考にブートイメージファイルの名前と意味を調べてみました。

・・・けど、いくつか分からない部分も出てきちゃいました。

宿題が残ってしまったので、今回はその1なんです。

 

 

zImage

gz圧縮されたイメージファイル。

解凍プログラム→解凍・展開→Kernel起動の順に動作し、
よく組み込みシステムで使われる。

 

bzImage

bzipで圧縮されてる以外はzImageと同じ。(はず)
i386用はこれが多いらしい?

でもopenSUSEって/boot/vmlinuzを読んでるよね・・・。

 

xipImage

XIP(eXecute in Place)形式というやつで、
RAMへ展開せずに、極力そのまま使えるようにしたものらしいです。

NORフラッシュ等に余裕があるなら使えそうな形ですね。

今度試してみよう。

 

rImage

ramcopy形式とMakefileには書いてありました。

無圧縮の形で、とにかく仮想空間への展開だけしてるのでしょうか?
じつはちょっと動きが分からないので、宿題デス。
# 実際ブートローダからjumpしたら動かなかtt

 

uImage

u-boot用のHeaderが付いたイメージファイルですね。
bootmコマンド等で起動する際にはこのイメージを使用します。

ARMやPowerPCなどではお世話になる形式ですね。

 

xipuImage

xipImageのu-bootバージョンです。
これも一緒に試してみなければ・・・。

 

bootpImage

initrdを含む形のブートイメージファイルのようですね。

kernel2.6からはinitrdからinitramfsになったので、
古いシステムで使用できるように対応してあるの・・・かな?(汗)

正直使ったことないので、今度試すかな。

 

 

調べたのは以上!

残りや宿題はまた今度ー。

2009年10月28日水曜日

beagleを停止してみる

 

先日、aRtsが暴走していた時に、一緒にCPUを占有していた人がいます。
その名もbeagled

beagleはmonoプラットフォームで動くデスクトップ検索で、
最近のLinuxは大抵はデフォルトで有効になってると思います。

googleデスクトップみたいなもんです。
# そー解釈してますw

idle時などにファイルやディレクトリのインデックスを付ける為、
一所懸命動き出すわけなんですが、マシンスペックによっては
結構重たく感じると思います。

VMwareで使用している方のOpenSUSEは、
基本デスクトップ検索なんて使わないというか・・・
grepで十分!なので止めてしまいました。

GNOMEであればコントロールセンターから検索設定を選んで、
チェックを全て外せば止まるはずです。

KDEでも同じような項目があるでしょう。(きっと)
# うちのノートに入ってるOpenSUSEはKDEだけど重くないし気にしてなーい
# 帰ったら見てみるか・・・

 

KDE4.1以上を使っていて、NEPOMUKを有効にしている人は、
beagleではなくてNEPOMUKを無効にすればそれで良いと思いますが、
わざわざ使用してる人のに分からないなんて嘆く人はいませんねw

NEOPMUK(Networked Environment for Personalized, Ontology-based Management of Unified Knowledge)
に関しては、セマンティックデスクトップの導入を図るNepomukとKDEを参照してください。

何故ここに書かないかって、私もデスクトップ検索機能以外よく知r

熟読しよう・・・。

2009年10月26日月曜日

aRtsの暴走

 

VMware上でOpenSUSE11.1を動かしていると、
徐々に動作が重くなっていって、しまいにゃ止まってしまうことがあります。

なーんでかなぁ?と思って調べてみると、
artsdのCPU使用率が99%をキープしていました。

とりあえずkillするとカクカク状態から脱出できたので、
原因はartsdなんですが、なんで暴走して・・・・
あれ、なんで起動してるんでしょうね?

artsdはaRts (analog Real time synthesizer) のデーモンです。

こいつはKDEの標準サウンドサーバなのですが・・・
わたしゃVMware上のやつはGNOMEで動かしてます。
# だってGNOMEのが軽いんだもの
# Xfce? ナニソレ?

ということでESD (Enlightened Sound Daemon) が動いてて欲しいわけで、
aRtsが起動してる理由がサッパリ分かりませぬ。

一先ず、コントロールセンターのサウンドで、
・自動検出→ESD
・警告音と効果音→チェック無し
に、変更して様子見です。

 

ググってみると、同じ症状で困ってる人がそれなりにいそうなので、
もー少しつっこんで 調べれば分かりそうなものだけれど、
ゆっくり時間が取れたらみてみようかな。

VMware上のOpenSUSEなんて仕事でしか使わないしねぇ。
・・・なんて言ってると忘れそう(汗)

 

 

久々の更新。

嗚呼、udev調べないと中途半端だぁ。
忘れかけてたヨ。

2009年9月30日水曜日

ttyS1が使えない?!

 

最近、仕事現場がお祭りです。

そんな身の上話はおいといて・・・・

 

複数UARTのChannelを持っている装置でのお話です。

UART0 : とあるmodule
UART1 : console出力用232c

という構成で、UART0を無効にしていました。

そーすると、Linux上ではconsoleがttyS0になります。
この時は何も弊害なく動作していました。

 

ある時、UART0側を有効にしました。

そーすると、Linux上ではconsoleがttyS1になります。
・・・・なんと、動かない!

kernelのメッセージ出力は確かにされていて、
ドライバも正常に動作しているように見えてるのですが、
userlandの部分(INITから先)が全く表示されず。

telnetでログインすると、なんと/dev下にnodeが一切無く、
udevd(だけ)が起動していないという状態でした。

しかも、telnet上で手動でudevdを起動するとなんも問題なく、
echo >/sys/class/tty/ttyS1/uevent
でttyS1がdev下に生成されるのです。

 

なーんでそんなことが起こるのか、全然分かりませんでしたが、
原因はKGDBのSerialPortが1だったからでした。

標準出力とかぶってしまった為、上手く動作しなかったようです。

KGDBなんて使っていなかったので、気にもしていなかったのですが、
知人が偶然発見し、なんとか解決に至りました。

 

こんな動きをするんですねぇ・・・。
なかなか解決し辛い事象だと思いますので、書いてみました。

同じ現象でお悩みの方がいるかは分かりませんが、
KGDBを使用の際はお気をつけて。

2009年9月17日木曜日

Oopsメッセージの解析方法

 

ksymoopsというtoolを使用することで、Oopsメッセージをもう少しだけ分かりやすく、
表示することができます。

準備するファイルは、
・panic時に出力されるOopsメッセージ
・KernelをBuild時に生成されるSystem.map

使用方法は、
# ksymoops –m [System.map] [oops_message]

 

ksymoopsはkernel.orgのpub(ここ)から、ソースをDownloadして、
makeして使用するのが一般的らしいのですが、
組み込み用のディストロの場合、提供Toolの中に入ってることが多いです。

若干名前が違うかもしれませんが・・・・
(Montavistaの場合は、$(arch)-ksymoops)

 

詳しい内容は、
Linuxカーネルを読む -カーネル解析-
に書いてありましたので、参考にURL張っておきます。

2009年9月16日水曜日

Kernelの逆アセンブラを見る方法

 

逆アセンブラを見なきゃいけない状況に何故かなってしまったので、
一先ず表示方法のメモです。

objdump –d --start-address=0xXXXXXXXX --stop-address=0xXXXXXXXX $(KERNEL_SOURCE)/vmlinux

panicになった時に、Oopsメッセージ以外情報がないというかわいそうな状況になったら、
逆アセンブラで共に頑張りましょう!

 

orz

 

9/17追記:

-g オプションを付けてコンパイルしたvmlinuxの場合は、
objdumpに –S オプションを付けると、対応するC言語のソースも一緒に表示されます。

アセンブラだけじゃチンプンカンプンなので、ありがたいオプションですね。

2009年9月14日月曜日

udev その2.5

 

udev その2の続き・・・のようなもの。

仕事の合間を縫って調べてるのでスローペースなのですが、
まとめるには結構ややこしい機能なので、半分いいわけ(涙)になってます。

はてさて、最近気づいてしまったことがあります。

 

udev その1で起こった症状。

ethXの数字がどんどん増えていってしまう現象は、
udev-140で起こってる現象です。

対して私が落としてきたソースはudev-147でした。

とはいえ、大した差はないだろーと思って比較してみたら、
なーんとディレクトリツリーからして違うじゃないですか!

 

ということで、少し見直しますかねぇ。

Targetにudev-147を入れられないのがちょっと痛いなぁ。
# 諸処の理由により入れられないのです。

 

今までに分かったこと:

udevadm monitor で/sys/class/net/eth0とか見ても、
rename失敗は残っていても、rulesへの追加は残ってない。

mdioの数がPHYの数と合わない(+1)
rulesを見ると、eth0と同じMACアドレスが1回起動する度に
2個増えるのだけど、もしかして関係ある??

 

とりあえず、ほとんど進んでいないので、”その2.5”デス。

YAFFS2のENAMETOOLONG

 

YAFFS2(Yet Another Flash File System 2)は、主にNAND用に作られた、
Flash Memory用のファイルシステムです。

Flash用としてはきっとJFFS2(Journaling Flash File System 2)の方が有名でしょうし、
組み込みの開発してる方々はよく使用されてるんじゃないでしょうか。

YAFFS2の方が(unmountさえしていれば)mount時間が圧倒的に早いので、
Shutdownをきちんと何らかの方法で行えるのであればJFFS2よりも快適です。

 

そんな説明は、こーいう詳しいサイトにお任せするとして・・・

先日仕事中に気付いたのですが、このYAFFS2はなんと、
256byte以上の名前のファイルを作成してもエラーにならない!
のです。

それどころか255byte目の文字で途切れてしまって、
アクセスし辛いファイルが出来あがってしまいます。

ext2がそうだったような・・・・。

最近のファイルシステムは長すぎる名前でファイルを作成しようとすると、
ENAMETOOLONGというエラーを返すようになっています。

YAFFS公式サイトのリポジトリに入っているソースを確認しましたが、
対応していなさそうなので勝手に埋め込んでみました。

 

作成したpatch :

diff -ur yaffs2_org/yaffs_fs.c yaffs2/yaffs_fs.c
--- yaffs2_org/yaffs_fs.c    2009-05-26 10:22:44.000000000 +0900
+++ yaffs2/yaffs_fs.c    2009-09-14 10:38:27.000000000 +0900
@@ -448,6 +448,10 @@
     yaffs_Object *obj;
     struct inode *inode = NULL;    /* NCB 2.5/2.6 needs NULL here */

+    if (dentry->d_name.len > YAFFS_MAX_NAME_LENGTH) {
+        return ERR_PTR(-ENAMETOOLONG);
+    }
+
     yaffs_Device *dev = yaffs_InodeToObject(dir)->myDev;

     yaffs_GrossLock(dev);

 

大したことはしてません。
ENAMETOOLONGを返すようにしただけです。  

# Windows Live Writer の File Uploadプラグインを初めて使ってみたんですが、
# 投稿時に見事に跳ねられましたTT
# ファイルサーバ用意するのも面倒だし、今回はそのまま貼り付け。

 

日本語でググっても引っかからないところをみると、
ものすんごくマイナーなのかな・・・w

ファイル名の長さなんか誰か気付いてそうな気もするんだけどなぁ・・・。

はっ!? 実は元々こーいう仕様でエラー返す方が間違い?
それはそれで気持ち悪いけど、まーいいかw

2009年9月7日月曜日

udev その2

 

udev その1の続き。

増え続ける70-persistent-net.rules君を止める為に、
udevのソースを解析しています。

最初に犯人を探しに行くのは無謀な為、まずは末端から攻めます。

 

私が予想しているudevの動作は、
1.device検出時にdeviceとrulesの情報を比較
2.どれも一致しない場合は新規作成
3.最終的に一致したものにrename

renameしている部分さえ見つければ、上に追っていくだけで、
全て明らかになるはずです。

 

その場所はすぐに見つかりました。

info(event->udev, "renamed netif to '%s'\n", event->name);
こんな文があったので、間違いないでしょう。

udev_event.cのudev_event_execute_rules()の中で発見しました。

 

どうやらsysnameを取ってきて比較をし、不一致の場合は、
eventとして渡ってきた方のsysnameに上書きするようです。

sysnameってなんぞや?というのを追ってみると、
struct udev_deviceのメンバで、udev_device_new_from_subsystem_sysname()
で設定されてるようです。

/class/[subsystem]/[sysname]
の形っぽいので、きっと”eth0”とかが入ってるのでしょう。

 

あ・・・・あれ?

ってことは、比較してる時点で既にeth2とかeth3とか新しい名前が出来あがってるわけで、
新しいデバイス認識してrules更新してそうなところは全然別の場所?

・・・ってことになりますよね。

それに、/class/…の形って/sys下に出来るのやつですよね。

あれって各々ドライバで、class_create()で作ってるやつと記憶してますが、
どーやって動いてるのでしょうねぇ・・・。

sysfsの動きも完璧じゃないので少々混乱中です。

 

しょうがない、createと付くものを片っ端から洗い出して、犯人探ししますかねぇ。
足を使って捜査、古い刑事みたいだw

周りに詳しい人いないのがなぁ・・・。

 

>> その2.5

NS16550A

 

現行のプロジェクトで、ターゲットのブートローダにU-Bootを使用しているのですが、
UART部分の調整を行う際に、少し迷子になってしまったのです。

普段からUARTとは呼んでたけれどICの名前なんて覚えてなかったのがいけないのですね。
良い機会なのでメモっておきます。

 

UART (Universal Asynchronous Receiver Transmitter) は、
調歩同期式のシリアル通信を行う為の集積回路です。

一般的なPCで使う場合、RS-232C規格に変換するICと組み合わせて使用し、
Dサブ9ピンの端子で接続していますね。

UARTの中で代表的なものがNational Semiconductor Corporationの、
NS16550Aっていうやつです。

昔PC/ATで使用されていたもの(16450)との互換性を保つために、
基準発振周波数1.8432MHzな最大通信速度115.2kbpsが標準だそうです。

・・・Linuxのシリアルコンソールの標準が115200な理由はこれかw

 

U-BootのソースではUARTという名前ではなく、NS16550という名前になっていました。
確認は未だですが、Linuxのソースもそうなのかなぁ?

有名なICだけでも押さえておかないとマズイですね・・・・w

2009年9月4日金曜日

udev その1

 

むかーしむかしのコンピュータは、内部外部問わず新しい機器を接続する場合、
必ず電源を落として再立ち上げする必要がありました。

今はそんなことないですよね。
USBデバイスなんて、不意にグサっと差し込んでもちゃんと認識し動いてくれます。

電源を入れたまま、デバイスを接続することをhotplugと呼びますが、
Linux上ではhotplugの監視やデバイスの名前付けをudevと呼ばれているものが制御しています。

 

という話はLinuxユーザの中では常識かと思います。

大概は、/etc/udev/rules.d/に名前付けする際のルールが記述してあって、
それを変更することで好きなようにrenameできたり、permissionを変更したりできるはずです。

rulesに関しては、Writing udev rulesに詳しく載っていますし、
参考になるサイトはググれば沢山出てきます。

今回、udevに関して書こうと思ったのはudevの使い方云々ではなくて、
udevが意図してない動作をして少々困っているので、調査しようと思ったからです。

udevを解析してる人なんてあまりいなかったので、折角だし残しておこうと思った次第です。

 

現在困っているのは、Network Interface部分。

70-persistent-net.rulesにNICのMACアドレスが書いてあって、
それを元に'”eth0”のように名前付けを行っているはずの部分です。

rulesファイルに書かれているMACアドレスと、認識したNICのMACアドレスを比較して、
記述されているNICであれば、rules通りに名前付けし、
新しいNICを発見した場合は、write_net_rulesによって自動生成されるはずです。

・・・・はずです。

 

私の身に起きている困った現象は、
70-persistent-net.rulesの中身が再起動する度に増える!!

同じMACアドレスの情報が永遠に増え続ける!!

('A`)

 

さっそくudevのサイトへ飛んでソースを落としてきました。
お仕事と並行して、ゆっくりと調べることにします。

Network Interface部分のみじゃなくて、ちゃんとudevのことを理解しないと、
この問題は解決できなさそーなんで・・・がんばろう。

 

>> その2

2009年9月2日水曜日

Loopback Device

 

ついこの間、Linuxをほとんど使ったことが無い知人に、
ISOイメージのmount方法を教えました。

「おおー、こんなことできるんだ」

と、驚いていましたが、こんな質問を返されたのです。

「ところで –o loop ってなーに?」

ハッハッハ、イメージファイルをmountする時に付けるオプションなのだよ!
とまぁ、合ってそうな感じの言葉で説明してみましたが、詳しくは知らなかったのです。

これはマズイと思って、調べておきました。

 

ループバックデバイスとは - Linuxキーワード:ITpro

一般的なファイルを,あたかもハード・ディスクなどのブロック型デバイスであるかのように
扱うための機能です。
パソコン上でイメージ・ファイルを直接操作したい場合などに使います。
「ループ・デバイス」とも呼ばれます。

 

こんなことも覚えてなかったんですねぇ、私(汗)

しっかりとした勉強していないで、経験だけ積み重ねていってるので、
基本的なところがかなーり抜けてるんだなぁと痛感しました。

2009年8月31日月曜日

khelper

 

一般的なLinuxがどのようなプロセスを立ち上げて動作しているかを、
ちょこちょこチェックしています。

・・・趣味ではなくて仕事です。

仕事ですよ?

 

そこで、気になったのがkhelperの存在です。

頭に”k”がついてるものは大抵kernel関連で、重要なものであることは分かります。
openSUSEでもkthreadの少し後のタイミングで起動しているようで、PIDは一桁です。
(私の環境では6でした)

これはLinuxなら必ず入っているものです!!
なーんてこと言っても説明にならないので、何をやっているものなのかを調べてみました。

 

Kenerl 2.6.21のソースで調べてみると、kmod.hにこんなマクロがありました。

static inline int
call_usermodehelper(char *path, char **argv, char **envp, int wait)

これはどうやら、Kernelからusermodeのプログラムを実行する為のhelperのようです。

これを使用すると、khelperが内容を受け取って、コマンドを読み取り→プロセス実行という
流れでusermodeのプログラムを実行しているようですね。

USBデバイスが挿入された時に起動するアプリケーション等は、きっとこれを使ってるのでしょうね。
実際にアプリから見えるのは、HALがD-BUSメッセージを出すなどの形なんでしょうけれども(・・;

 

今度、遊んでみようかな。

オリジナルのデバイスから、任意のタイミングでアプリを起動するというのを、
直接できるなら、特殊な装置作る際には有用かもしれない。

・・・ほんとはそーいうのをD-BUSメッセージで渡して受け取るのかなぁ。
熟練者からのツッコミが怖いですw

2009年8月25日火曜日

tracをYaST2でインストール

 

openSUSE 11.1にtracを入れてみました。

といっても、たいした話ではないんです。
YaST2でtracをInstallすれば、依存関係含めて全部いれてくれます。

tracが置いてあるopenSUSE11.1のリポジトリ

そのはずだったんですが・・・
python-babelが見つからないのでインストールできませんと怒られましたTT

ということで、
python関連があるopenSUSE11.1のリポジトリ
を追加することで、ちゃんとインストールできました。

ウーン、YaST2→ソフトウェアリポジトリ→追加で選択できればいいのに、
わざわざ自分でURL指定してリポジトリ追加しなきゃいけないのはなんでだろう?

とりあえず、openSUSEのリポジトリは、覚えておこう・・・・。

 

tracの設定云々は、色々なサイトや本に載っているし、
特にopenSUSEだからこーするというのもないので書きません(・・;

誤解が無いように一つだけ・・・・
Yast2でインストールしても、他のyum等で入れた時と同じく、英語版が入ってます。

日本語版を入れる時は、
Yast2でインストール→tracだけ消す→日本語版tracをインストール
という手順になります。

2009年8月19日水曜日

TFTPのWell Known Ports

 

openSUSE上でTFTP serverを立てて、使おうと思っていたら、
どーにもファイアウォールさんに阻まれて接続できませんでした。

FTPは開いてるんだけどなぁ?
と思いながら調べてみると・・・

69 TCP/UDP TFTP Trivial File Transfer
参考URL

こいつは大変失礼しましたw

 

ということで探してみたのですが、ファイアウォールの設定画面にはTFTPを選択する項目ないですし、
TFTPの設定でファイアウォールを通るようにしても、上手く反映されてませんでした。

しょうがないので69を直接指定して通すようにしたのですが・・・なんででしょうね?

2009年8月18日火曜日

winetricks

 

Linux上でWindowsのゲームを動かしたくて、Wineを入れてみました。

動かすゲームはこれ。
ウィザードリィ リルガミンサーガ

すっごく古ーいゲームなので動いてくれるんじゃーないかと期待しつつ、
まずはDirectXを入れるところかなーと調べてみました。

そーしたら・・・
$ winetricks dirextx9

たったこれだけでDirectx9が入ってしまうようです。
昔ちょこーっと触った時はえらい苦労した記憶があるんだけどなぁ・・・。

 

無事リルガミンサーガもインストールできて、さぁ動かそうと思ったら・・・・

 

(´・ω・`)

うちのVAIO君はグラフィックのチップがオンボードだからなぁ・・・。
それでも昔のゲームなら・・・って思ったのですけれどねぇ。
(VAIO君にWindowsが入ってる状態ならゲーム動きます)

ちょっと残念。

2009年8月12日水曜日

openSUSE 11.1では動くんだねぇ

 

夏期休暇っていってもやること色々ありますね。
普段できないお掃除とかお買いものとか、遊びとか遊びとか遊びとか。

そんな合間をぬって、openSUSE 11.1をまたまた入れなおしてみました。

自分でも何をバカなことをと思いましたが、他のことやりながらできるしいいかなぁw

 

兎にも角にも入れてみた結果はどーだったかというと・・・

無線LANバッチシ動く!!

ということはだ、ということは・・・・
KDE4.1→4.3のどこかでNetwork Managerに不具合が追加されて、
まだ解決していない or 報告もない なーんて状況ってことですか。

 

うん、くだらないことで時間潰すのも少々飽いてきたので、
やっぱりコミュニティの方々を信じて待ってよう。

にわか技術者は素直に安定版つかっておきます。

 

うー・・・もう少し知識と英語力があればなぁ・・・・。

2009年8月9日日曜日

わ・・・わからーーーん!!

 

どーしても、どーしても、無線LANが繋がりません・・・。

環境をもう一度整理すると・・・
PC : VAIO VGN-TZ90NS
OS : openSUSE 11.2 milestone 4
X : KDE 4.3

Network Managerが挙動不審なので、こいつが悪いんだと決めつけて、
従来のifupで接続してみたら、DHCPサーバからIPはもらえたようなんです。

でも、外部には出て行かず、インターネットなんてものはできませぬ。

GNOMEに切り替えると、なんのことなく普通に繋がって、意味が分りませぬ orz

 

あんまし時間を割けなかったなんて言い訳もいれつつ、にんともかんともなので、
まーたグレードダウンして試してみますかねぇ・・・。

あれ・・・それで動かなかったらドーシヨウw

 

・・・・ってかなんでこんなところではまってるんでしょうネ。
夏期休暇中に作りたいものがあるのになぁ。

2009年8月7日金曜日

起動時間早くなってた!

 

今日やったことは・・・

1.改めてopenSUSE 11.1をインストールする
2.起動時間を計る
3.openSUSE11.2 milestone4をインストールする
4.起動時間を計る

先日の日記で、
「昔1分以上かかってたなんて記憶はなんの参考にもならないのです。」
なーんて書いたのですが、実際1分近くかかってました!

てなわけで結果がこちら:
openSUSE 11.1 : 1分8秒(GRUBの待ち時間含む)
openSUSE 11.2 : 45秒(GRUBの待ち時間含む)

共に、デフォルトのXはKDEにしておいて、起動音が鳴るまでの時間です。

うんうんうん、よかった。
一応速くなってはいたんだね。

さーて、次は無線LAN。

Network Managerがどーにも怪しいので、ifupで接続するように変更してみるかなぁ。
さくっとググった感じだと、有用な情報があんまりなさそう・・・。

うちのPCのせーなのかぁ??

2009年8月6日木曜日

起動時間が早くなった!!・・・あれ?

 

Kernel 2.6.30からfastbootが含まれています。

これは、OS起動時に各デバイスの初期化を並列実行することで、
起動時間を短縮する機能なんです。

これは期待できる!!
と思って時間を計ってみたところ、25秒程度で起動!!
(VAIO VGN-TZ90NS)

おおおー、これは快適だ!
11.1入れてた時は1分以上かかってた記憶あるし!

なんて、感想を書こうかと思った時に気付いたことがあります。

私のVAIOノート君は、
open SUSE 11.1 → Windows 7 Beta → SSD換装 → Windows 7 RC → open SUSE 11.2

という真ん中に余計なものが混じっている為、
昔1分以上かかってたなんて記憶はなんの参考にもならないのです。

 

そーなると、もー気になって気になってしょうがないので、
11.1を入れなおすことを決心しました。

ちょーどよいことに、無事夏休みを取れたので、
① 11.1入れなおして起動時間図る
② 11.2にしてデフォルトをKDEにする
③ 先日投げてしまった無線LANをなんとか解決
④ おそーいアニメーションを何とか調整

ってな感じでKDEデビュー目指してみようかしら。

別にGNOMEでもいいじゃない?と、言われれば確かにその通りなんですが、
open SUSE使うならKDEにしたい!っていう妙な拘りがあるんですw

がんばろっと。

日本語配列キーボードが使えない?

 

先日、openSUSE11.2 milestone 4 を VAIO VGN-TZ90NSに入れてみて、
ちょこちょこ使ってるとなんだか違和感が。

おっかしいなぁとおもったら、キーボードが日本語配列になってないんです。
(なかなか気付かなかった私もオカシイが・・・w)

ということで、キーボードの設定を見直してみると、ちゃんと日本語になってるんですよね。

このウソツキめ!と言いながら新たに日本語配列の設定を作成してみると、
こんなエラーを吐きだしました。

XKB-error

なんとまーXKB関連でエラーが出ています。

XKBファイルというのが、キーボード定義ファイルになるんですが、
そんなもの私には何が何だかサッパリ分からないので、
XKB関連を全て11.1リポジトリの最新版にダウングレードしてみました。

・・・けど、症状変わらず。

エラー内容から検索してみると、
Bug 526180 - Error activating XKB configureation
Bugzillaに報告出てますね。(別言語ですが)

NEEDINFOで止まってるので、質問者の人が出てくるのをゆったりと待つかなぁ。

 

私が英語達者で、横から茶々入れ出来ればいいんですけどね。
そんなスキルは残念ながらありませぬ・・・。

2009年8月4日火曜日

OpenSUSE 11.2 milestone 4 入れてみた

 

7月28日にReleaseされた、OpenSUSE 11.2 milestone 4 を、
VAIO VGN-TZ90Sに入れてみました!

ほんとはRelease当日に入れたかったのに、仕事が連日忙しくて orz

今までずーっとGNOMEをデスクトップに選んでましたが、せっかくKDE4.3RCが入ってるので、
思い切ってKDEでインストール・・・・しようと思ったら・・・・

GRUBの書き込みに失敗!

お構いなしに再起動すればインストールできるものの、少々焦るバグですよね。
(ぐぐったらどうやらmilestone 3でも同じらしい & KDEとかGNOMEは関係ないです)

その他は順調に進み、無事起動しました。

んで、いきなりハマりました。

無線LANが繋がらない!
そんな馬鹿なデスヨ。

無線LANルータの設定は、WPA2-PSK AES/TKIP自動。
見えるし接続まではいくのだけれど、パスワードが通らない。

セキュリティを何に変えても通らないし、ネットにつながらないからYaST2も役立たず。

グラフィックボードが弱いせーか、KDE特有のボヨンボヨン跳ねるアニメーションも遅いので、
再インストールしていつも通りのGNOMEを選択してしまいましたw
(負け犬でスミマセン、もう少しサクサク動いてたら調べるんだけどなぁ)

GNOMEだと普通に無線LANに繋がる・・・なんなんだろこれ?
KDEユーザーが周りにいないので聞くに聞けないなぁ・・・。

OpenSUSE 11.2 の使い勝手についてはまた後日。

GNOME 2.28 のデフォルト状態で、タスクバーやウィンドウが黒くなってるのは、
正直ビックリでしたw

追記:
このウソツキめ、GNOMEは2.26でした。

2009年7月30日木曜日

multicast DNS

 

Windows PC同士LANで接続されている時に、コンピュータ名を使ってアクセスすると、
勝手に名前解決して接続してくれるんです。

私、これはそーいうものなんだと覚えてしまっていた為、
Linux(openSUSE)からアクセスしようとした時にすっごい悩みました。

具体的には・・・
・ファイアウォールを有効にしていると名前解決できなくなる!
・DNSサーバのポート(53)を許可しても名前解決できない!

おっかしいなぁ?と思って調べてみたら、
multicast DNS (5353:UDP)
なんてものを使っていたようです。

特定のサーバ無しで名前解決できるような仕組みなんだそうで。
そんなんあったんですねぇ(汗)

 

でも、YaSTのファイアウォールの許可するサービスには、
multicast DNSなんてものが見当たらず、結局手打ちで5353:UDPを追加しました。

なにかをインストールする必要あるのかなぁ??

2009年7月29日水曜日

デバイスを変更できるって便利ね

 

ホスト:Windows XP Pro
ゲスト:openSUSE 11.1

ホストにはUSB接続でイーモバイルの端末を接続していて、
お外にはそれで接続している状態。

この時、ゲストからお外に接続する場合、Ethernetをブリッジにしていると、
上手く繋がってくれなかったのです。

もちろん、イーモバイルの回線を共有するようにしたりなどの設定は、
全てやった(つもり)にもかかわらず、です。

NATに変更すれば繋がるのですが、お仕事の都合上ブリッジで使用したかったのです。

 

そんな時・・・・

デバイス増やせばどっちもできるんじゃん?

ってことに気がついたのです。

 

いやぁーよかったよかった。
根本的な問題は全然解決していないわけですがw

いざとなったときにデバイス構成ごと変えられるって便利ですね。
(今回の問題はVMwareじゃないと起こらないっていう噂もありますがw)

2009年7月27日月曜日

mylyn?

 

せっかくEclipse3.5で環境整えたと思ったのに、お仕事の都合上3.4にグレードダウンすることに・・・。

まぁ、大した手間でもないのでインストールしなおしてみたところ、Subclipseプラグインをいれるところで、
エラーがどっさり出てきてしまいした。
(site-1.6.2.1)

エラー内容を見てみると、mylyn 3.0.0以上が必要とのこと。

 

mylyn・・・・?

調べてみたところ、こんなページが出てきました。
[Think IT] 第1回:タスクとコードをつなげるMylyn

タスク思考UI用に用意されたプラグインということが書いてあって、なんとも便利そうなのはいいとして、
私タスク思考なんて言葉は初めて聞きました(´・ω・`)

だいぶ後れを取ってるってことなんでしょうねぇ。
mylynの使い勝手に関しては、暇な時にでも試してみてからブログに書くと思います。

 

 

ところで、これ何て読むんだ??
(「マイリン」でした)

2009年7月22日水曜日

libpopt.so.1の謎

 

とあるターゲットの開発環境(仕事で使用するものなので伏せておきます)を
インストールする際に、libstdc++.so.5libpopt.so.1が必要ですって怒られたのです。

libstdc++.so.5はC++の標準ライブラリですが、私が使用していてるOpenSUSE11.1には、
新しいバージョンのlibstdc++.so.6しか入ってなかったので、YaST2からインストールしました。
(libstdc++33というパッケージです)

libstdc++.so.5は簡単に解決しましたが、問題はlibpopt.so.1の方。

zypper what-provides libpopt.so.1
で、検索してみたけれども見つからない!

libstdc++.so.1でググってみても、日本語サイトが出てこない!

んでも、こんな文章を見つけたのです。
ln -s /usr/lib/libpopt.so.1 /usr/lib/libpopt.so.0. and be happy.
(OpenSUSE11.1では/lib/libpopt.so.0に入ってました)

え?!いいの?!
はっぴーになっちゃうよ?!

とか、言いながらSymbolic Linkを作ったら見事に問題が解決しました。

 

いいのかなぁ・・・・?

2009年7月21日火曜日

初めてeclipseいれてみた

 

LinuxのKernelのportingや、driverの開発を仕事でしている癖に、未だにeclipse等のIDEで開発したことが無かったのです。
ずーっと、vi等の最低限のToolを使い、debugもCUIでしたw

これじゃーいけないと思い、慌ててeclipseをインストール。

インストールした環境は、
OpenSUSE 11.1

インストールしたものは、
・eclipse-cpp-galileo-linux-gtk.tar.gz
・pleiades_1.3.0.zip
・site-1.6.2.1.zip

最新と思われるeclipse 3.5と日本語化、それにSVNのプラグインです。

現在開発中のkernelをSVNからインポートして、build出来るところまでやってみました。

 

・・・のですが、buildするまでに結構時間掛かってしまいました。

SVNからインポートするのは簡単だったんです。

そのままbuildすれば、プロジェクトのディレクトリでmakeをするなんて情報を、
どこからか見つけてmakeしてみたけれど、何にも動かず(´・ω・`)

試しにプロパティビルダーを作成してみて、作業ディレクトリをプロジェクトのディレクトリに
指定
してbuildしてみたけれど、ロケーションないって怒られる(´・ω・`)

ロケーションプロジェクトのMakefileを指定したら、実行できないって怒られる(あたりまえかw)

試しにロケーション/usr/bin/makeにしてみたら、見事に動いた!(`・ω・´)

 

あるぇー?手動なの?
っていう疑問は残ってますが、とりあえず動くので様子見です。

2009年7月19日日曜日

改行がずれる?

Windows Live Writerを使用中です。

どうにも、プレビューで見た内容と実際に反映される内容とで、改行の数が違うようにみえるんです。

ということで、改行の数をテスト。

この文章の後に普通の改行(<p></p>)を二回

この文章の後に普通の改行(<p></p>)を三回

この文章の後にShift+Enterの改行(br)を二回

どうなるかな・・・?


テンプレート次第かなぁ・・・(汗)

Doxygenの日本語化

日本語化と言ってもDoxygenは元々日本語に対応しているので、特にパッチを当てる等の作業は必要ないんです。

ただ、日本語を使用するにあたってすこーし気をつけなきゃいけないことがあります。
少々手古摺ってしまったので、メモを残しておきます。

① INPUT_ENCODINGは、UTF-8じゃないと化ける
② CHM_INDEX_ENCODINGは、SJISじゃないと化ける

ソースファイルがSJISで、INPUT_ENCODINGをSJISにしても化けちゃうんです。
これが、CP932でも化けてしまって悩みました。

SJISでも化けなかった成功例もネット上にはあるようですが、ソースファイルをUTF-8に変換してからDoxygenを使うほうが早いし確実です。

②はchm(Microsoft Compiled HTML Help)に変換する人のみ対象ですが、UTF-8でchmを作成すると、文字が化けてしまうのです。


使用しているバージョンは、
・doxygen-1.5.9
・graphviz-2.20.3
・Microsoft Office 2003 Resouce Kit (ork)

プロジェクトが燃え上がってる時に、こーいうくだらないところで手古摺っているとイライラしてきますよね(汗)





2009年7月15日水曜日

Threadのpidを表示する方法

また、しょーもないところで引っかかってしまったのでメモを。

threadを複数作成するプログラムをdebug中に、どーしてもpidが見たくなったのです。

ってことで、いつもどーり・・・

ps –A

あるぇー?出ないぞー?とか言ってました。
そーだよね、threadだもんね、でないよね orz


戒めの為にも書いておきます。
Threadを表示するには↓のように"-T"のオプションを付けるです。

ps –T

必要に応じて、”-A”付けたり”-f”付けたりですね。

・・・忘れずにっと。

2009年7月14日火曜日

NICの設定を変更する方法

 

Windowsだと、デバイスマネージャからNIC詳細設定を開けば、ドロップダウンリストで選択できるのだけれど、Linuxはどーだろう?と思って調べてみました。

・・・・って調べるほどのものじゃなかったです。(汗)

 

ethtoolなんて便利なものがあるんですね。

無知って怖い。

 

以下、変更の仕方

ethtool -s|--change DEVNAME     Change generic options
                [ speed 10|100|1000 ]
                [ duplex half|full ]
                [ port tp|aui|bnc|mii|fibre ]
                [ autoneg on|off ]
                [ phyad %%d ]
                [ xcvr internal|external ]
                [ wol p|u|m|b|a|g|s|d... ]
                [ sopass %%x:%%x:%%x:%%x:%%x:%%x ]
                [ msglvl %%d ]

Windows Live Writer てすと

Windows Live Writer を問題なく使用できて、
Liveスペース以外を探し中。

HatenaやFC2と違ってすんなり設定できたけれど、
使い勝手はどうだろう??

とりあえず投稿テスト。