Ihara's Weblog
省電力
Laptopユーザに朗報です。今回は、Laptopでは必須の機能である省電力。
LaptopにSolaris10をインストールすると分かると思いますが、CPUは最高速で動作し、ファンもフル回転でブーンという音が鳴り続けています。これだと当然、消費電力が高い訳で、バッテリーもすぐなくなってしてしまいます。これは、SolarisにIntel Enhanced Speed Spepのドライバが含まれていないのが原因です。
frkitでAMDのpowernowには対応していましたが、Speedstepには未対応でした。社内ではspeedstepに対応したpowernowドライバがありましたが、2月の初めにこのドライバがopensolarisに提供されたようです。ただ、IntelのSpeed Stepに対してpowernowというのは、正しい名前ではないですので、今後変更が検討されています。
ドライバのインストールは、非常に簡単です。frkitからfrkitのスクリプトをダウンロードして実行するだけです。自動で必要なパッケージをダウンロードしてインストールまでしてくれます。
# chmod 755 frkit
# http_proxy=http://your_porxy-server:port (もし、web proxyを利用している場合)
# export http_proxy (もし、web proxyを利用している場合)
# ./frkit
インストールが終わったらリブートします。
# sync
# reboot
ドライバがうまくロードされるとブートメッセージに
NOTICE: Valid _PSS table found: \_PR_.CPU0._PSS
NOTICE: CPU frequency mechanism: Enhanced Intel SpeedStep
あと、いままで大きかったファンの音が小さくなっていることにも気づくと思います。 なお、本ドライバにはpowernowadmというユーティリティも含まれており、CPUの動作周波数を手動でも変更することができます。
# powernowadm
State MHz Watts Volts
0 1867 27.0 1.308
1 1600 23.0 1.228
2 1333 20.0 1.148
3 1067 17.0 1.068
4 800 13.0 0.988 (current)
Powernow mode: automatic
デフォルトは、自動モード。ここで、最大の動作周波数に変更してみます。
# powernowadm 0
State MHz Watts Volts
0 1867 27.0 1.308 (new)
1 1600 23.0 1.228
2 1333 20.0 1.148
3 1067 17.0 1.068
4 800 13.0 0.988 (current)
WARNING: Switching to manual mode
CPU set to 1867 MHz (27.0 Watts)
# powernowadm
State MHz Watts Volts
0 1867 27.0 1.308 (current)
1 1600 23.0 1.228
2 1333 20.0 1.148
3 1067 17.0 1.068
4 800 13.0 0.988
Powernow mode: manual
マニュアルモードに変更され、最速のCPU動作周波数になりました。(ファンの音もずーと回り始めました)再度、オートモードに変更するには以下のようにします。
# powernowadm auto
# powernowadm
State MHz Watts Volts
0 1867 27.0 1.308
1 1600 23.0 1.228
2 1333 20.0 1.148
3 1067 17.0 1.068
4 800 13.0 0.988 (current)
Powernow mode: automatic
一般ユーザで利用する場合には、RBAC(Role Based Access Control)を利用しましょう。
また、GNOMEのフロントパネルにCpuFreq Monitorというアイテムを追加することができます。

低速でCPUが動作している時
最高速でCPUが動作しているとき
Posted at 01:09午後 3 18, 2007 by ihara in Laptop | 投稿されたコメント[1]
usbsacm driver
先日snv_56がリリースされました。このビルドからusbacmドライバが含まれています。つまり、前に「SolarisでFOMAを使う」で書いたSUNWuacmはインストールしなくてよくなりました。/etc/driver_aliasesを見てみるとデフォルトでは、以下の4つのデバイスが登録されています。
bash-3.00$ cat /etc/driver_aliases | grep usbsacm
usbsacm "usb,class2.2.0"
usbsacm "usbif,class2.2"
usbsacm "usbc88,17da"
usbsacm "usb1410,1110"
ここにSA700iSを追加し、rebootします。
# echo "usbsacm \"usb474,71c\"" >> /etc/driver_aliases
# sync; reboot
リブート後、tip等で接続してATコマンドの応答を確認できます。あとは、前の手順と同じです。
Posted at 12:06午前 2 03, 2007 by ihara in Laptop | 投稿されたコメント[0]
SolarisでFOMAを使う
先月、SolarisのUSB ACMドライバが公開されました。このドライバを使ってFOMAでパケット通信をしてみました。私の携帯はSA700iSで、PCとの接続はFOMA USB接続ケーブルを使っています。
snv_56以降で本ドライバは含まれていますので必要ありません。(02/03/07 update)
SUNWuacm-i386-1122.tar.gz をダウンロードしてインストールします。
# gzcat SUNWuacm-i386-1122.tar.gz | tar xf -
# pkgadd -d .
The following packages are available:
1 SUNWuacm CDC ACM USB-to-serial driver
(i386) 11.11,REV=2006.11.20.05.24
Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]:
/etc/iu.apに以下の行を追加してrebootします。 usbsacm -1 0 ldterm ttcompat
リブート後、携帯をUSBケーブルで接続します。その後、prtconvでSA700iSの部分を確認し、"usb474,71c"をusbsacmとして/etc/driver_aliasesとして追加します。
# prtconf -v
・
・
device, instance #0
Hardware properties:
name='driver-minor' type=int items=1
value=00000000
name='driver-major' type=int items=1
value=00000002
name='configuration#' type=int items=1
value=00000001
name='usb-product-name' type=string items=1
value='FOMA SA700iS'
name='usb-vendor-name' type=string items=1
value='SANYO Electric Co., Ltd.'
name='usb-serialno' type=string items=1
value='350271000840655'
name='usb-release' type=int items=1
value=00000110
name='usb-num-configs' type=int items=1
value=00000001
name='usb-revision-id' type=int items=1
value=00000100
name='usb-product-id' type=int items=1
value=0000071c
name='usb-vendor-id' type=int items=1
value=00000474
name='compatible' type=string items=9
value='usb474,71c.100' + 'usb474,71c' + 'usb474,classff.ff.ff' + 'usb474.classff.ff' + 'usb47
4.classff' + 'usb,classff.ff.ff' + 'usb,classff.ff' + 'usb,classff' + 'usb,device'
name='reg' type=int items=1
value=00000001
name='assigned-address' type=int items=1
value=00000002
・
・
# update_drv -a -i '"usb474,71c"' usbsacm
devfsadm: driver failed to attach: usbsacm
Warning: Driver (usbsacm) successfully added to system but failed to attach
# cat /etc/driver_aliases | grep usbsacm
usbsacm "usb,class2.2.0"
usbsacm "usbif,class2.2"
usbsacm "usbc88,17da"
usbsacm "usb1410,1110"
usbsacm "usb474,71c"
# reboot
リブート後/dev/term/0ができていれば、tipで接続し"at"コマンドが応答するか確認してみます。
bash-3.00$ tip /dev/term/0
connected
at
OK
~
[EOT]
私は、FOMAでもプロバイダとしてmoperaを使いますので、PPPはSolaris10 + PHSでモバイルで設定した内容とほとんど同じです。(違うのは、アクセスポイントとmodemのデバイス名ぐらい)ただ、PHSとFOMA両方使えるようにしたいのでmopera-fomaとして以下の2つのファイルを作成します。
/etc/ppp/peers/mopera-foma
connect "/usr/bin/chat -f /etc/ppp/mopera-foma-chat"
updetach
/dev/term/0
115200
usepeerdns
defaultroute
lock
name mopera
/etc/ppp/mopera-foma-chat
TIMEOUT 10
ABORT "BUSY"
ABORT "NO CARRIER"
"" ATZ
OK "ATDT*99***1#"
TIMEOUT 60
CONNECT "CONNECT"
設定が完了したら、inetmenuでPPP接続をしてみます。
bash-3.00$ inetmenu -t
Select an interface :
1) Dialup
2) Ethernet:iprb0
3) Wireless:iwi0
#? 1
Select an ISP :
1) mopera
2) mopera-foma
#? 2
Serial connection established.
Using interface sppp0
Connect: sppp0 <--> /dev/term/0
LCP: Rcvd Code-Reject for Identification id 118
local IP address XXX.XXX.XXX.XXX
remote IP address XXX.XXX.XXX.XXX
primary DNS address 220.159.212.200
secondary DNS address 220.159.212.201
cat: /etc/ipf/pfil.ap をオープンできません。
Interface: sppp0
IP Address: XXX.XXX.XXX.XXX
無事接続できました。やっぱり、64kの@FreeDよりは早いです。もちろん、接続後はFirefox, Thunderbird等を使ってWeb閲覧、メールできます。これでまた、Solarisがデスクトップとして一段と使えるようになりました。ただ、少し確認したところFOMAの機種で動くものと動かないものがありそうです。
Posted at 12:45午前 12 24, 2006 by ihara in Laptop | 投稿されたコメント[1]
Solaris10 + PHSでモバイル
Solaris10では、Solaris9とは比べものにならない程多くのデバイスをサポートするようになりました。私が確認できた1つとして、PCMCIAモデムカード(NTT Docomo P-in Free 1S)があります。実は1年ほど前このカードを利用できることを確認し、PCからWindowsを完全に削除しSolaris10のみにしました。ただ、NTT DocomoのPHSは、来年度でサービス停止が決まっています。。残念。ちなみに、現在の私のPCは、Sony VGN-S93PSYで Nevada(build54)をインストールしています。
付属のPCMCIAアダプタをつけたカードを挿してATコマンドを実行してみます。tipで接続してconnectedの後にatと打って"OK"がでてくることを確認できればmodemとして利用できます。その後、"~."とタイプしてtipを終了します。
# tip /dev/cua/pc0
connected
at
OK
~.
[EOF]
次に、pppの設定をします。ここでは、プロバイダとしてmoperaを利用している例を挙げます。接続に必要な情報はこちらを参照しました。
作成・修正するファイルは、以下のとおりです。
/etc/ppp/mopera-chat
/etc/ppp/options
/etc/ppp/pap-secrets
/etc/ppp/peers/mopera
/etc/ppp/peers/mopera
connect "/usr/bin/chat -f /etc/ppp/mopera-chat"
updetach
/dev/cua/pc0
115200
usepeerdns
defaultroute
lock
name mopera
/etc/ppp/mopera-chat
TIMEOUT 10
ABORT "BUSY"
ABORT "NO CARRIER"
"" ATZ
OK "ATDT0570800166#6401"
TIMEOUT 60
CONNECT "CONNECT"
moperaは、パスワードが必要ありませんが以下のように記述しておきます。
/etc/ppp/pap-secrets
mopera * *
また、/etc/ppp/optionsの空ファイルを作ります。
# touch /etc/ppp/options
これで、設定は完了です。inetmenuを利用することでppp接続が簡単にできます。
bash-3.00$ inetmenu -t
Select an interface :
1) Dialup
2) Ethernet:iprb0
3) Wireless:iwi0
#? 1
Select an ISP :
1) mopera
#? 1
Serial connection established.
Using interface sppp0
Connect: sppp0 <--> /dev/cua/pc0
possibly broken peer detected; restarting LCP
LCP: Rcvd Code-Reject for Identification id 5
local IP address XXX.XXX.XXX.XXX
remote IP address XXX.XXX.XXX.XXX
primary DNS address 220.159.212.200
secondary DNS address 220.159.212.201
cat: /etc/ipf/pfil.ap をオープンできません。
Interface: sppp0
IP Address: XXX.XXX.XXX.XXX
bash-3.00$
bash-3.00$ ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
sppp0: flags=10010008d1<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST,IPv4,FIXEDMTU> mtu 1456 index 11
inet XXX.XXX.XXX.XXX --> XXX.XXX.XXX.XXX netmask ffffff00
bash-3.00$
Posted at 03:07午前 12 19, 2006 by ihara in Laptop | 投稿されたコメント[0]