2016/11/15 20時ごろにOrange Pi PC2で動くLinuxイメージが公開されました


なかなか公開されなかったOraneg Pi PC2向けのLinuxイメージですが、2016/11/15 20時頃にようやく公開されました。
公式ダウンロードページ」にてDebian ServerとDebian xfceが公開されています。
ただ、どちらも、Google Driveにリンクが張られているように見えますが、そちらの実態はOrange Pi Mini2向けで、使えません。
Baidu側のリンクからダウンロードする必要があります。

しかし、Debian_Desktop_jessie_xfce4_PC2.img.xzの方は475.4MBと、Baiduのブラウザダウンロード上限容量を超えてしまっており、専用ツールを使ってダウンロードする必要があります。
Debian_Server_jessie_PC2.img.xzの方は76.6MBと小さめなので、なんとかブラウザダウンロードが可能です。

私も現在ダウンロード中なので、ほんとに使えるかどうかはわかりません。
2016/11/16 0:40追記

Debian_Desktop_jessie_xfce4_PC2.img.xz のダウンロードが完了し、起動試験を行いました。
HDMIにブートロゴ・ブートメッセージは表示されず、電源ONすると黒い画面のまましばらく待つと
いきなりX-Windowのログイン画面が表示されます。
ダウンロードページには「user(root), password(orangepi)」と書いてありますが
試したところ「user(orangepi), password(orangepi)」であるようです。(ユーザ名:orangepi、パスワード:orangepi)

また、標準状態ではイーサケーブルをつないでもリンクアップしませんでした。
ターミナルを開き「sudo dhclinet eth0」を実行することで、リンクアップし、DHCPでのIP取得が行われました。
いくつか、まだ初期設定に問題があるようです

設定を見直すと「/etc/network/interfaces」ファイルに問題がありました。

# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
# source-directory /etc/network/interfaces.d

3行目の「source-directory」の前に「#」があるため、設定が反映されていませんでした。
下記のように書き換えて再起動すればOKです。

# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

また、バグとして1000Mbpsでリンクアップしない、というものがあります。
元となるOrange Pi H5用SDKの11/13あたりで修正が行われてるっぽいですが、この配布物には含まれていません。


2016/11/16 追記
dropboxに転載した:Debian_Desktop_jessie_xfce4_PC2.img.xz
無料アカウントなので1日当たり20GB分しかダウンロードできません。
それを超えると24時間ダウンロードできなくなります


2016/11/17追記

いつものコマンド出力結果を忘れていたので追加

orangepi@Orangepi:~$ cat /proc/cpuinfo
Processor       : AArch64 Processor rev 4 (aarch64)
processor       : 0
processor       : 1
processor       : 2
processor       : 3
Features        : fp asimd aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: AArch64
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

Hardware        : sun50iw2
Serial          : 34005035c120182f0b4c
orangepi@Orangepi:~$ cat /proc/meminfo
MemTotal:        1003192 kB
MemFree:          866332 kB
Buffers:            7100 kB
Cached:            58304 kB
SwapCached:            0 kB
Active:            39296 kB
Inactive:          51976 kB
Active(anon):      26144 kB
Inactive(anon):     6420 kB
Active(file):      13152 kB
Inactive(file):    45556 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                40 kB
Writeback:             0 kB
AnonPages:         25840 kB
Mapped:            13676 kB
Shmem:              6700 kB
Slab:              20040 kB
SReclaimable:       8232 kB
SUnreclaim:        11808 kB
KernelStack:        3616 kB
PageTables:          572 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      501596 kB
Committed_AS:      96440 kB
VmallocTotal:   251658176 kB
VmallocUsed:       16080 kB
VmallocChunk:   251641916 kB
orangepi@Orangepi:~$ uname -a
Linux Orangepi 3.10.65 #3 SMP PREEMPT Tue Nov 15 09:46:50 CST 2016 aarch64 GNU/Linux
orangepi@Orangepi:~$
orangepi@Orangepi:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/mmcblk0p2  1.1G  934M   75M  93% /
devtmpfs        482M     0  482M   0% /dev
tmpfs           490M     0  490M   0% /dev/shm
tmpfs           490M  6.6M  484M   2% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           490M     0  490M   0% /sys/fs/cgroup
/dev/mmcblk0p1   50M   13M   38M  26% /boot
tmpfs            98M     0   98M   0% /run/user/1000
orangepi@Orangepi:~$

Cpufreq関連

root@Orangepi:/home/orangepi# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
interactive conservative ondemand userspace powersave performance
root@Orangepi:/home/orangepi# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
480000 648000 720000 816000 912000 1008000 1104000 1152000 1200000
root@Orangepi:/home/orangepi#

CPUfreq のポリシーと速度のチューニングより

root@Orangepi:/home/orangepi# for file in /sys/devices/system/cpu/cpu*/cpufreq/c
puinfo_*; do echo = $file =; cat $file; done
= /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_boot_freq =
1008000
= /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq =
1008000
= /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq =
1536000
= /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq =
480000
= /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency =
2000000
= /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_boot_freq =
1008000
= /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_cur_freq =
1008000
= /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq =
1536000
= /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_min_freq =
480000
= /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_transition_latency =
2000000
= /sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_boot_freq =
1008000
= /sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_cur_freq =
1008000
= /sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_max_freq =
1536000
= /sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_min_freq =
480000
= /sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_transition_latency =
2000000
= /sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_boot_freq =
1008000
= /sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_cur_freq =
1008000
= /sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_max_freq =
1536000
= /sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_min_freq =
480000
= /sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_transition_latency =
2000000
root@Orangepi:/home/orangepi#

旧タイトル:2016/11/14 19時現在Orange Pi PC2で動くLinuxイメージは公開されていません
2016/11/14 19時現在、Orange Pi PC2で動作するLinuxイメージは公開されていません。

armbianでは、Allwinner A64搭載のPine64に対応しているので、対応も早いのかな?と思いきや
Orange Pi Zeroや他のボードへの対応作業が忙しいので後回しにします、と宣言されてしまっています。
(発言のソース:Armbian for OrangePi PC2, AllWinner H5の2つめの発言)

Orange Pi公式でOrange Pi PC2用のSDKだ、といって配布しているものは、微妙に不完全だったようで、上記のスレッドでも「There is no Linux SDK.」とか書かれています。

時系列的にはソレを受けてだと思われるのですが、Allwinner H5用SDKを元にOrange Pi PC2向けの修正を加えたOrange Pi PC2用のSDKが「https://github.com/orangepi-xunlong/OrangePi_H5SDK」にて公開されました。

これでLinux向けのkernelがコンパイルできるようになってるのか?
試行錯誤が行われていきそうです。

なお、上記のSDKファイルを調べると、Orange Pi PC2のアーキテクチャは「sun50iw2p1」であるようです。


2016/11/15追記
linux-sunxiのIRCチャネルで、armbianの開発をやってる1人のtkaiserさんが、Debianイメージを公開しました。
が・・・うちの環境で試した限りではHDMI出力ができてない、というのと
一般公開してるような感じではないので、詳細の紹介はやめておきます。
なお、Linux kernelは 3.10.65となっていました。

追記2
Orange piの公式フォーラムに管理者のzhao_stevenさんが「Orange Pi PC2 Debian server prerelease」として投稿しているものが出所でした。

Orange Pi PCなどAllwinner H3向けのOpenELECについて(2016/11/08版)


Linuxをメディアプレイヤーとして使う方法として、「OpenELEC」というメディアプレイヤーに特化したディストリビューションがあります。
(2016年に分裂騒動があり「LibreELEC」が派生しています)

これをOrange Pi PCなどのAllwinner H3向けに移植したものについて、去年「Orange Pi PCをメディアプレイヤー(OpenELEC)にする」にて紹介しました。

公式スレッド「Openelec Build for OPI PC and 2 now with HW decoding
各機種用イメージ配布場所「Latest prebuilt images
初心者向けQ&A「[FAQ] Openelec OPi for beginners

あれから約1年。
久しぶりに使ってみました。
今回はOrange Pi Oneで実験です。

・初回起動は時間がかかる
 ロゴ画面がずっと変わらず表示されるが、正常動作中です。
 とりあえず5分待ちましょう

・ヒートシンクは必須。ファン付けるの推奨
 フォーラムに「heatsink strongly recomended」と書かれていますが
 ヒートシンクを付けていてもめちゃくちゃ発熱しています。
 ちゃんと冷やさないと熱で死にそうです。

・起動直後の設定は英語表示
 日本語表示にするためには「Linux(ラズパイ/OrangePiなど)のKodiで日本語を表示させる方法」で設定すること

・起動直後の設定だとHDMI経由で音が鳴らない
 初期設定では、音声出力がアナログオーディオとなっているためHDMI接続していても音声が出てこない。
 Kodiの「設定」-「システム」-「オーディオハードウェア」にて
 「オーディオ出力デバイス」を「HDMI」に変更することで、HDMI経由で音声出力される。

・動画再生の一部が変?
 DVDサイズの動画を出力したところ、本来の画質から落ちた状態のものを引き延ばした感じで表示される
 設定変更箇所があるのか分からなかった。

・HDMI経由のリモコン操作が怪しい
 2016/08/16以降のバージョンからHDMI CEC対応になっているのだが動きが怪しい
 今回、試した際は、初回ブートし、途中までは動いていたものの、突如動作しなくなり
 それ以後は電源入れ直しても動いていない状態となりました。
 自動アップデート関連でなにかあったのだろうか?
 FAQにも書いてありますが、動く環境と動かない環境があるようで、作者の方ではお手上げなようです。

 なお、HDMIのリモコンが動かない場合は、マウスで操作するしかありません。
 もしくは、赤外線リモコンを登録して使う、という方法もあります。

Allwinner H2搭載のOrange Pi Zeroが送料込み$10.10で登場


2016/11/07追記

なんか有名どこでOrange Pi Zeroがテキトーな解説付きで紹介されているので、警告文を追加しておきます。

Orange Pi Zeroは、ラズパイZeroの変わりに使えるモノではありません。

Orange Pi Zeroは、HDMI端子がないのでディスプレイ出力が出来ません。

Orange Pi ZeroのOSは、ラズパイのものとは別です。ラズパイ用のものがそのまま使えるわけではありません。
kernelが異なるので、バイナリ配布のドライバは使えません。
ソース配布のドライバをコンパイルすれば使える可能性がありますが、kernelのバージョンが異なることでうまく動かない可能性があります。

Orange Pi Zeroで使っているAllwinner H3は、Linux kernelのメインラインで完全対応していません。
(徐々に取り入れられていますが、Linux kernel 4.8でもまだ完全ではありません。Linux-sunxi.orgのAllwinner系SoCのメインラインカーネルへの対応状況表)
このため、Linux kernelにバグやセキュリティの問題が発覚した場合に、それがすぐに反映される体制になっていません。
インターネット上にそのまま置くには適しません。

以上を考慮した上で、導入を検討してください。


Orange Piの新製品、Orange Pi Zeroが販売開始です。
New Orange Pi Zero H2 Quad Core Open-source development board beyond Raspberry Pi
orangepizero-1

いままでのOrange Piシリーズからの差分は・・・
・SoCがAllwinner H3Allwinner H2 (より廉価モデルへ)
HDMI削除(シリアルコンソールかコンポジットビデオ出力)
・電源コネクタ廃止。microUSBでの電源供給に変更
・GPIOが26ピンに
・無線LANにAllwinner XR819という初物チップを採用
・PoEに対応。ただし標準設定ではoff

・標準モデル(Standard)はメモリ256MBで、512MBもある、ということなのだが、今回販売されたのはどちらのモデルなのか明記はなし。は+2ドルとなりました。

とりあえず、1個購入してみました。
いつ届くかな・・・そして、メモリは256MB or 512MBどちらかな?
  → 出荷しました連絡があってから、512MB版が販売開始されました・・・クソ

ということで、256MB版は$10.10512MB版は$12.10、ということになりました。

2016/11/11追記:発注から8日で到着し、起動試験などを行いました→「Allwinner H2+搭載のOrange Pi Zeroが来た!


Allwinner H3搭載ボード系のリスト

(表へのリンク)


LSI MegaRAID SASのRAIDステータスをLinuxで取る


前はMegaCliだったものが、いまは違うらしい。

中古で手に入れたサーバにMegaRAID SAS 8708EM2が入ってたので必要になったので確認してみた。

(2017/03/02追記:firmwareアップデート手順として「storcliを使ってMegaSASのfirmwareをアップデートする手順」を公開しています)

Avagoの「Support Documents and Downloads」から「Product Family:Legacy RAID Controllers」の「Product:MegaRAID SAS 8708EM2」を選択し、検索。
Broadcomの「SUPPORT DOCUMENTS AND DOWNLOADS」からProduct Familyの下の方にあるLegacy Product群から「Product Family:Legacy RAID Controllers」を選択肢、検索。

「Management Software and Tools」にあるが、なぜか「Current」には出てこないので「Archive」を選択。
「Binary」の「Currect」もしくは「Archive」に管理ソフトがある。
もしくは「storcliの検索結果」から「Management Software and Tools」からダウンロードする。

「MegaRAID Storage Manager (MSM)」はJavaで動くGUIツール。
「StorCLI」もしくは「MegaRAID StorCLI」は、コマンドのみ

「MegaRAID Storage Manager (MSM)」の最新版はMR6.9なのに、StorCLIはMR6.8が最新なのはなぜなのか・・・

rpmからインストールすると、/opt/MegaRAID以下にインストールされる。
実行ファイルは、/opt/MegaRAID/storcli/storcli64 か /opt/MegaRAID/storcli/storcli。

まずは、コントローラのリストを「storcli64 show」で取得

# /opt/MegaRAID/storcli/storcli64 show
Status Code = 0
Status = Success
Description = None

Number of Controllers = 1
Host Name = example.osakana.net
Operating System  = Linux3.10.0-327.28.2.el7.x86_64

System Overview :
===============

------------------------------------------------------------------------------
Ctl Model              Ports PDs DGs DNOpt VDs VNOpt BBU sPR DS EHS ASOs Hlth
------------------------------------------------------------------------------
  0 MegaRAIDSAS8708EM2     8   3   1     0   1     0 Opt On  2  N      0 Opt
------------------------------------------------------------------------------

Ctl=Controller Index|DGs=Drive groups|VDs=Virtual drives|Fld=Failed
PDs=Physical drives|DNOpt=DG NotOptimal|VNOpt=VD NotOptimal|Opt=Optimal
Msng=Missing|Dgd=Degraded|NdAtn=Need Attention|Unkwn=Unknown
sPR=Scheduled Patrol Read|DS=DimmerSwitch|EHS=Emergency Hot Spare
Y=Yes|N=No|ASOs=Advanced Software Options|BBU=Battery backup unit
Hlth=Health|Safe=Safe-mode boot
#

コントローラの番号が判明したので「storcli64 /c0 show」と、コントローラを指定して、詳細を確認。

# /opt/MegaRAID/storcli/storcli64 /c0 show
Generating detailed summary of the adapter, it may take a while to complete.

Controller = 0
Status = Success
Description = None

Product Name = MegaRAID SAS 8708EM2
Serial Number = P322610710
SAS Address =  500605b001eedcb0
PCI Address = 00:01:00:00
System Time = 08/10/2016 17:24:17
Mfg. Date = 02/24/10
Controller Time = 08/10/2016 08:24:13
FW Package Build = 11.0.1-0008
FW Version = 1.40.32-0580
BIOS Version = 2.06.00
Driver Name = megaraid_sas
Driver Version = 06.807.10.00-rh1
Vendor Id = 0x1000
Device Id = 0x60
SubVendor Id = 0x1000
SubDevice Id = 0x1013
Host Interface = PCI-E
Device Interface = SAS-3G
Bus Number = 1
Device Number = 0
Function Number = 0
Drive Groups = 1

TOPOLOGY :
========

--------------------------------------------------------------------------
DG Arr Row EID:Slot DID Type  State BT       Size PDC  PI SED DS3  FSpace
--------------------------------------------------------------------------
 0 -   -   -        -   RAID1 Optl  N  135.937 GB dsbl N  N   dflt N
 0 0   -   -        -   RAID1 Optl  N  135.937 GB dsbl N  N   dflt N
 0 0   0   252:0    0   DRIVE Onln  N  135.937 GB dsbl N  N   dflt -
 0 0   1   252:1    1   DRIVE Onln  N  135.937 GB dsbl N  N   dflt -
--------------------------------------------------------------------------

DG=Disk Group Index|Arr=Array Index|Row=Row Index|EID=Enclosure Device ID
DID=Device ID|Type=Drive Type|Onln=Online|Rbld=Rebuild|Dgrd=Degraded
Pdgd=Partially degraded|Offln=Offline|BT=Background Task Active
PDC=PD Cache|PI=Protection Info|SED=Self Encrypting Drive|Frgn=Foreign
DS3=Dimmer Switch 3|dflt=Default|Msng=Missing|FSpace=Free Space Present

Virtual Drives = 1

VD LIST :
=======

-----------------------------------------------------------
DG/VD TYPE  State Access Consist Cache sCC       Size Name
-----------------------------------------------------------
0/0   RAID1 Optl  RW     No      NRWBD -   135.937 GB
-----------------------------------------------------------

Cac=CacheCade|Rec=Recovery|OfLn=OffLine|Pdgd=Partially Degraded|dgrd=Degraded
Optl=Optimal|RO=Read Only|RW=Read Write|HD=Hidden|B=Blocked|Consist=Consistent|
R=Read Ahead Always|NR=No Read Ahead|WB=WriteBack|
AWB=Always WriteBack|WT=WriteThrough|C=Cached IO|D=Direct IO|sCC=Scheduled
Check Consistency

Physical Drives = 3

PD LIST :
=======

-------------------------------------------------------------------------
EID:Slt DID State DG       Size Intf Med SED PI SeSz Model            Sp
-------------------------------------------------------------------------
252:0     0 Onln   0 135.937 GB SAS  HDD N   N  512B MBD2147RC        U
252:1     1 Onln   0 135.937 GB SAS  HDD N   N  512B MBD2147RC        U
252:2     2 GHS    - 135.937 GB SAS  HDD N   N  512B HUC103014CSS600  U
-------------------------------------------------------------------------

EID-Enclosure Device ID|Slt-Slot No.|DID-Device ID|DG-DriveGroup
DHS-Dedicated Hot Spare|UGood-Unconfigured Good|GHS-Global Hotspare
UBad-Unconfigured Bad|Onln-Online|Offln-Offline|Intf-Interface
Med-Media Type|SED-Self Encryptive Drive|PI-Protection Info
SeSz-Sector Size|Sp-Spun|U-Up|D-Down|T-Transition|F-Foreign
UGUnsp-Unsupported|UGShld-UnConfigured shielded|HSPShld-Hotspare shielded
CFShld-Configured shielded|Cpybck-CopyBack|CBShld-Copyback Shielded


BBU_Info :
========

------------------------------------------------------------
Model State   RetentionTime Temp Mode MfgDate    Next Learn
------------------------------------------------------------
iBBU  Optimal N/A           37C  -    2010/05/14 None
------------------------------------------------------------

#

146GB SAS HDDが3本認識されていて
RAID1で2本、スペアで1本使われている。

バッテリーバックアップユニット(BBU)が入ってるので、ステータスを「storcli64 /c0 /bbu show all」で確認する。

# /opt/MegaRAID/storcli/storcli64 /c0 /bbu show all
Controller = 0
Status = Success
Description = None


BBU_Info :
========

----------------------
Property      Value
----------------------
Type          iBBU
Voltage       4069 mV
Current       0 mA
Temperature   37 C
Battery State Optimal
----------------------


BBU_Firmware_Status :
===================

-------------------------------------------------
Property                                   Value
-------------------------------------------------
Charging Status                            None
Voltage                                    OK
Temperature                                OK
Learn Cycle Requested                      No
Learn Cycle Active                         No
Learn Cycle Status                         OK
Learn Cycle Timeout                        No
I2C Errors Detected                        No
Battery Pack Missing                       No
Replacement required                       No
Remaining Capacity Low                     No
Periodic Learn Required                    No
Transparent Learn                          No
No space to cache offload                  No
Pack is about to fail & should be replaced No
Cache Offload premium feature required     No
Module microcode update required           No
-------------------------------------------------


GasGaugeStatus :
==============

---------------------------------
Property                   Value
---------------------------------
Fully Discharged           No
Fully Charged              Yes
Discharging                Yes
Initialized                Yes
Remaining Time Alarm       No
Remaining Capacity Alarm   No
Terminate Discharge Alarm  No
Over Temperature           No
Charging Terminated        No
Over Charged               No
Relative State of Charge   100%
Charger System State       49168
Charger System Ctrl        0
Charging current           0 mA
Absolute state of charge   98%
Max Error                  2%
Battery backup charge time N/A
---------------------------------


BBU_Capacity_Info :
=================

------------------------------------------------------
Property                 Value
------------------------------------------------------
Relative State of Charge 100%
Absolute State of charge 98%
Remaining Capacity       663 mAh
Full Charge Capacity     665 mAh
Run time to empty        Battery is not being charged
Average time to empty    Battery is not being charged
Average Time to full     Battery is not being charged
Cycle Count              96
Max Error                2%
Remaining Capacity Alarm 70 mAh
Remining Time Alarm      10 minutes(s)
------------------------------------------------------


BBU_Design_Info :
===============

-----------------------------------
Property                Value
-----------------------------------
Date of Manufacture     14/05/2010
Design Capacity         675 mAh
Design Voltage          3700 mV
Specification Info      33
Serial Number           4643
Pack Stat Configuration 6490
Manufacture Name        LS1113001A
Device Name             2970701
Device Chemistry        LION
Battery FRU             N/A
Transparent Learn       0
App Data                0
-----------------------------------


BBU_Properties :
==============

-------------------------------------------
Property             Value
-------------------------------------------
Auto Learn Period    30d (2592000 seconds)
Next Learn time      None
Learn Delay Interval 0 hour(s)
Auto-Learn Mode      Disabled
-------------------------------------------
#

どうやら、まだ生きている模様。

・・・最初は死んでたんだけど「storcli64 /c0 /bbu start learn」とBBUの状態調査を行わせてしばらく放置したら生き返った感じで・・・


2023/05/18 追記

久々にコマンドたたいてみたらディスクが1本死んでいた

-bash-4.2$ sudo /opt/MegaRAID/storcli/storcli64 /call show
Generating detailed summary of the adapter, it may take a while to complete.

Controller = 0
Status = Success
Description = None

Product Name = MegaRAID SAS 8708EM2
Serial Number = P322610710
SAS Address =  500605b001eedcb0
PCI Address = 00:01:00:00
System Time = 05/18/2023 18:19:42
Mfg. Date = 02/24/10
Controller Time = 05/18/2023 09:04:58
FW Package Build = 11.0.1-0048
FW Version = 1.40.342-1650
BIOS Version = 2.07.00
Driver Name = megaraid_sas
Driver Version = 07.714.04.00-rh1
Vendor Id = 0x1000
Device Id = 0x60
SubVendor Id = 0x1000
SubDevice Id = 0x1013
Host Interface = PCI-E
Device Interface = SAS-3G
Bus Number = 1
Device Number = 0
Function Number = 0
Drive Groups = 1

TOPOLOGY :
========

--------------------------------------------------------------------------
DG Arr Row EID:Slot DID Type  State BT       Size PDC  PI SED DS3  FSpace
--------------------------------------------------------------------------
 0 -   -   -        -   RAID1 Optl  N  135.937 GB dsbl N  N   dflt N
 0 0   -   -        -   RAID1 Optl  N  135.937 GB dsbl N  N   dflt N
 0 0   0   252:0    0   DRIVE Onln  N  135.937 GB dsbl N  N   dflt -
 0 0   1   252:2    2   DRIVE Onln  N  135.937 GB dsbl N  N   dflt -
--------------------------------------------------------------------------

DG=Disk Group Index|Arr=Array Index|Row=Row Index|EID=Enclosure Device ID
DID=Device ID|Type=Drive Type|Onln=Online|Rbld=Rebuild|Dgrd=Degraded
Pdgd=Partially degraded|Offln=Offline|BT=Background Task Active
PDC=PD Cache|PI=Protection Info|SED=Self Encrypting Drive|Frgn=Foreign
DS3=Dimmer Switch 3|dflt=Default|Msng=Missing|FSpace=Free Space Present

Virtual Drives = 1

VD LIST :
=======

-----------------------------------------------------------
DG/VD TYPE  State Access Consist Cache sCC       Size Name
-----------------------------------------------------------
0/0   RAID1 Optl  RW     Yes     NRWBD -   135.937 GB
-----------------------------------------------------------

Cac=CacheCade|Rec=Recovery|OfLn=OffLine|Pdgd=Partially Degraded|dgrd=Degraded
Optl=Optimal|RO=Read Only|RW=Read Write|HD=Hidden|B=Blocked|Consist=Consistent|
R=Read Ahead Always|NR=No Read Ahead|WB=WriteBack|
AWB=Always WriteBack|WT=WriteThrough|C=Cached IO|D=Direct IO|sCC=Scheduled
Check Consistency

Physical Drives = 3

PD LIST :
=======

-------------------------------------------------------------------------
EID:Slt DID State DG       Size Intf Med SED PI SeSz Model            Sp
-------------------------------------------------------------------------
252:0     0 Onln   0 135.937 GB SAS  HDD N   N  512B MBD2147RC        U
252:1     1 UBad   F 135.937 GB SAS  HDD N   N  512B MBD2147RC        U
252:2     2 Onln   0 135.937 GB SAS  HDD N   N  512B HUC103014CSS600  U
-------------------------------------------------------------------------

EID-Enclosure Device ID|Slt-Slot No.|DID-Device ID|DG-DriveGroup
DHS-Dedicated Hot Spare|UGood-Unconfigured Good|GHS-Global Hotspare
UBad-Unconfigured Bad|Onln-Online|Offln-Offline|Intf-Interface
Med-Media Type|SED-Self Encryptive Drive|PI-Protection Info
SeSz-Sector Size|Sp-Spun|U-Up|D-Down|T-Transition|F-Foreign
UGUnsp-Unsupported|UGShld-UnConfigured shielded|HSPShld-Hotspare shielded
CFShld-Configured shielded|Cpybck-CopyBack|CBShld-Copyback Shielded


BBU_Info :
========

--------------------------------------------------------------------------
Model State                 RetentionTime Temp Mode MfgDate    Next Learn
--------------------------------------------------------------------------
iBBU  Dgd (Needs Attention) N/A           39C  -    2010/05/14 None
--------------------------------------------------------------------------


-bash-4.2$ sudo /opt/MegaRAID/storcli/storcli64 /call /pall show
Controller = 0
Status = Success
Description = None


PhyInfo :
=======

----------------------------------------------------------------------------
PhyNo SAS_Addr           Phy_Identifier Link_Speed Device_Type  Description
----------------------------------------------------------------------------
    0 0x500000E114F453F2              0 No limit   End Device   -
    1 0x500000E119865C22              0 No limit   End Device   -
    2 0x5000CCA00A335A55              0 No limit   End Device   -
    3 0x0000000000000000              0 No limit   -            -
    4 0x0000000000000000              0 No limit   -            -
    5 0x0000000000000000              0 No limit   -            -
    6 0x0000000000000000              0 No limit   -            -
    7 0x0000000000000000              0 No limit   -            -
----------------------------------------------------------------------------


-bash-4.2$ sudo /opt/MegaRAID/storcli/storcli64 /call /vall show
Controller = 0
Status = Success
Description = None


Virtual Drives :
==============

-----------------------------------------------------------
DG/VD TYPE  State Access Consist Cache sCC       Size Name
-----------------------------------------------------------
0/0   RAID1 Optl  RW     Yes     NRWBD -   135.937 GB
-----------------------------------------------------------

Cac=CacheCade|Rec=Recovery|OfLn=OffLine|Pdgd=Partially Degraded|dgrd=Degraded
Optl=Optimal|RO=Read Only|RW=Read Write|HD=Hidden|B=Blocked|Consist=Consistent|
R=Read Ahead Always|NR=No Read Ahead|WB=WriteBack|
AWB=Always WriteBack|WT=WriteThrough|C=Cached IO|D=Direct IO|sCC=Scheduled
Check Consistency


-bash-4.2$

ネットワーク上にあるhpサーバのiLO IPアドレスとライセンスを収集するスクリプト


2019/01/09 追記

オリジナルのNachoTech Blogがアクセスできなくなっていたので、「https://github.com/osakanataro/findilos」にオリジナルと後述の改変版をアップロードした。


hpサーバをリモートから制御するために使用するiLO。
稼働させたあとにIPアドレスを確認するのがめんどくさい。
そういう場合に、総当たりでiLOのIPアドレスを確認するスクリプトがあった。

NachoTech Blogの「How to find all the iLO’s on your network」にあるfindilosである。

早速ダウンロードして実行してみる。

[root@adserver ~]# ./findilos 172.17.17.0/24
Scanning...
--------------- ------ -------- ------------ -------------------------
iLO IP Address  iLO HW iLO FW   Server S/N   Server Model
--------------- ------ -------- ------------ -------------------------
172.17.17.xxx   N/A    1.26     CN71xxxMxx   ProLiant DL360 G7
1 iLOs found on network target 172.17.17.0/24
[root@adserver ~]#

iLO HWのモデル名は拾ってくれない。

blogのコメントを確認していくと、元のスクリプトはiLO-2までしか対応しておらず、その後のバージョンについてはコメント欄にある修正を実施すれば良いようだ。

また、iLO Advanceを買っている場合に、そのライセンスコードを表示するための案も提示されていた。

ただ、スクリプト例は汚い実装となっていて、せっかくの元スクリプトを活かしていない形だったので、元スクリプトの実装に従ってライセンスを表示するバージョンを作成した。

その実行例がこちら

[root@adserver ~]# ./findilos 172.17.17.0/24
Scanning...
--------------- ------ -------- ------------ ------------------------- -------------------- -----------------------------
iLO IP Address  iLO HW iLO FW   Server S/N   Server Model              iLO Edition          iLO Licence Key
--------------- ------ -------- ------------ ------------------------- -------------------- -----------------------------
172.17.17.xxx   iLO-3  1.26     CN71xxxMxx   ProLiant DL360 G7         iLO 3 Advanced       xxxxx-xxxxx-xxxxx-xxxxxx-xxxxx
1 iLOs found on network target 172.17.17.0/24
[root@adserver ~]#

スクリプトの修正例は以下

#!/bin/bash
#
# findilos - Search a local network segment for iLOs
#            The iLO is the Integrated Lights-Out management processor
#            used on HP ProLiant and BladeSystem servers
#
scriptversion="1.0"
#
# Author: iggy@nachotech.com
#
# Website: http://blog.nachotech.com
#
# Requires: tr sed expr curl nmap
#
# Tested with: Nmap 4.20, curl 7.17.1, RHEL4
#
# Note: Discovery of an iLO is dependent upon the Virtual Media port
#       being set to the default of 17988.  If this has been changed
#       by the iLO administrator, then this script will NOT find it.
#
#       Also, if the iLO XML Reply Data Return has been Disabled by
#       the iLO administrator, this script will not be able to
#       gather any information about the server.  It will still be
#       discovered, but all you will see is its IP address.
#
# GLOBAL VARIABLES
scriptname="findilos"
iloips="/tmp/tmpilos.$$"
iloxml="/tmp/tmpiloxml.$$"
ilohwvers="/tmp/tmpilohwvers.$$"
declare -i ilosfound=0
# FUNCTIONS
function parseiloxml {
  fgrep "$1" $iloxml > /dev/null 2>&1
  if [ $? -ne 0 ]
  then
    # tag not found in xml output, return empty string
    parsedstring="N/A"
  else
    # tag was found - now we parse it from the output
    tempstring=$( cat $iloxml | tr -d -c [:print:] | sed "s/^.*<$1>//" | sed "s/<.$1.*//")
    # trim off leading and trailing whitespace
    parsedstring=`expr match "$tempstring" '[ \t]*\(.*[^ \t]\)[ \t]*$'`
  fi
}
function is_installed {
  which $1 > /dev/null 2>&1
  if [ $? -ne 0 ]
  then
    printf "\nERROR: %s not installed.\n\n" $1
    exit 255
  fi
}
# MAIN
# check for tools that we depend upon
is_installed tr
is_installed sed
is_installed expr
is_installed curl
is_installed nmap
# check syntax - should have 1 and only 1 parameter on cmdline
if [ $# -ne 1 ]; then
  printf "%s %s ( http://blog.nachotech.com/ )\n" $scriptname $scriptversion
  printf "Usage: %s {target network specification}\n" $scriptname
  printf "TARGET NETWORK SPECIFICATION:\n"
  printf "  Can pass hostnames, IP addresses, networks, etc.\n"
  printf "  Ex: server1.company.com, company.com/24, 192.168.0.1/16, 10.0.0-255.1-254\n"
  printf "EXAMPLE:\n"
  printf "  %s 16.32.64.0/22\n" $scriptname
  exit 255
fi
iprange=$1
# prepare lookup file for iLO hardware versions
cat > $ilohwvers << EOF
iLO-1 shows hw version ASIC:  2
iLO-2 shows hw version ASIC:  7
iLO-3 shows hw version ASIC: 8
iLO-3 shows hw version ASIC: 9
iLO-4 shows hw version ASIC: 12
iLO-4 shows hw version ASIC: 16
i-iLO shows hw version T0
EOF
#
# scan a range of IP addresses looking for an
# open tcp port 17988 (the iLO virtual media port)
#
printf "Scanning..."
nmap -n -P0 -sS -p 17988 -oG - $iprange | fgrep /open/ | awk '{print $2}' > $iloips
printf "\n\n"
#
# open and read the list of IP addresses one at a time
#
exec 3< $iloips
echo "--------------- ------ -------- ------------ ------------------------- -------------------- -----------------------------"
echo "iLO IP Address  iLO HW iLO FW   Server S/N   Server Model              iLO Edition          iLO Licence Key"
echo "--------------- ------ -------- ------------ ------------------------- -------------------- -----------------------------"
while read iloip <&3 ; do
  ilosfound=$ilosfound+1
  #
  # attempt to read the xmldata from iLO, no password required
  #
  curl --proxy "" --fail --silent --max-time 3 http://$iloip/xmldata?item=All > $iloxml
  #
  # parse out the Server model (server product name)
  # from the XML output
  #
  parseiloxml SPN;  servermodel=$parsedstring
  parseiloxml SBSN; sernum=$parsedstring
  parseiloxml PN;   ilotype=$parsedstring
  parseiloxml FWRI; ilofirmware=$parsedstring
  parseiloxml HWRI; ilohardware=$parsedstring
  ilohwver=$(grep "$ilohardware" $ilohwvers|awk '{print $1}')
  if [ "$ilohwver" == "" ]; then
    ilohwver="N/A"
  fi
  if [ "$sernum" == "" ]; then
    sernum="N/A"
  fi
  # add start
  curl --proxy "" --fail --silent --max-time 3 http://$iloip/xmldata?item=CpqKey > $iloxml
  parseiloxml LNAME; ilomodel=$parsedstring
  parseiloxml KEY; ilokey=$parsedstring
  # add end
  printf "%-15s %-6s %-8s %-12s %-25s %-20s %-30s\n" $iloip "$ilohwver" "$ilofirmware" "$sernum" "$servermodel" "$ilomodel" "$ilokey"
done
printf "\n%d iLOs found on network target %s.\n\n" $ilosfound $iprange
rm -f $iloips $iloxml $ilohwvers
exit 0