BBルータ解剖
 
PCI BLW-HPMM

個人的な雑感

「電波王」と銘打って、最新の MIMO XR に対応していルータで、見た目は 背後に3本のアンテナを装備しているのが目を引きます。前面パネルも、 オレンジ色をしていて、ちょっとリビングに置くには気が引けます。性能は、 ハイパワーということもあり、そこそこの速度が期待できるようです。 評判は、あまり良い話を聞きません。これから、と言ったところでしょうか。 2006.7.24

CPU と OS

CPU は mips 系 のようです。OS はファームウェアから、

Linux version 2.4.26-uc0 (root@vlinux-ck)

とあり、 Linux で動作しているようです。


アップデートファームの取り出し
確認ファーム Version : 2.1.0.1.21j

PCI のページからファームウェアをダウンロードしてきます。 このファイル blw-hpmm_v210121j.zip を解凍すると、

V210121j.bix
licence.txt
readme.txt
release.txt

の4つのファイルが取り出せます。この V210121j.bix をさらに分解します。

dd if=V210121j.bix of=run.bin.gz bs=1 skip=24
gunzip run.bin.gz

run.bin というファイルが取り出せます。このファイル、前半は kernel 、後半は romfs のイメージファイルです。 kernel の詳細なバージョンは、

Linux version 2.4.26-uc0 (root@vlinux-ck) (gcc version 3.2) #11 Tue Jul 4 10:33:55 EDT 2006

です。strings などで眺めることができます。後半の romfs の部分を取り出します。

dd if=run.bin of=rom.img bs=1 skip=2711616

これで、 romfs イメージが取り出せましたので、 mount をかけてみます。

mount -o loop rom.img /mnt
df -k /mnt
Filesystem 1K-blocks Used Available Use% Mounted on /tmp/rom.img 5411 5411 0 100% /mnt

結構小さい気がします。このイメージの tree 結果を以下につけます。
[root@kashyyyk]# tree
.
|-- bin
|   |-- bt
|   |-- busybox
|   |-- cron
|   |-- crond -> busybox
|   |-- crontab -> busybox
|   |-- ctl
|   |-- cybergate
|   |-- dnrd
|   |-- dw
|   |-- ew
|   |-- ifconfig -> busybox
|   |-- init
|   |-- ip-down -> /bin/webs
|   |-- ip-up -> /bin/webs
|   |-- iwconfig -> busybox
|   |-- iwpriv -> busybox
|   |-- klogd -> busybox
|   |-- l2tpd
|   |-- l34-control
|   |-- logread -> busybox
|   |-- mailto
|   |-- nmbd
|   |-- noip2
|   |-- ping -> busybox
|   |-- pop
|   |-- pppd
|   |-- pptp
|   |-- pptp_callmgr
|   |-- ralink_info
|   |-- rdate -> busybox
|   |-- reset
|   |-- route -> busybox
|   |-- rt61apd
|   |-- sendmail
|   |-- sh
|   |-- smbd
|   |-- stupid-ftpd
|   |-- syslogd -> busybox
|   |-- tftpd
|   |-- udhcpc -> busybox
|   |-- udhcpd -> busybox
|   |-- udps
|   |-- upnpd
|   |-- w
|   |-- webs
|   `-- x
|-- cleshell
|-- dev
|   |-- audio
|   |-- audio1
|   |-- audioctl
|   |-- console
|   |-- cua0
|   |-- cua1
|   |-- dsp
|   |-- dsp1
|   |-- hda
|   |-- hda1
|   |-- hda2
|   |-- hda3
|   |-- hda4
|   |-- hda5
|   |-- hda6
|   |-- hda7
|   |-- hda8
|   |-- hda9
|   |-- hdb
|   |-- hdb1
|   |-- hdb1
|   |-- hdb2
|   |-- hdb3
|   |-- hdb5
|   |-- hdb6
|   |-- hdb7
|   |-- hdb8
|   |-- hdb8
|   |-- hdc
|   |-- hdc1
|   |-- hdc2
|   |-- hdc3
|   |-- hdc4
|   |-- hdc5
|   |-- hdc6
|   |-- hdc7
|   |-- hdc8
|   |-- hdc9
|   |-- hdd
|   |-- hdd1
|   |-- hdd2
|   |-- hdd3
|   |-- hdd4
|   |-- hdd5
|   |-- hdd6
|   |-- hdd7
|   |-- hdd8
|   |-- hdd9
|   |-- hde
|   |-- hde1
|   |-- hde2
|   |-- hde3
|   |-- hde4
|   |-- hde5
|   |-- hde6
|   |-- hde7
|   |-- hde8
|   |-- hde9
|   |-- kmem
|   |-- log -> /var/syslog
|   |-- mem
|   |-- midi00
|   |-- midi01
|   |-- midi02
|   |-- midi03
|   |-- mixer
|   |-- mixer1
|   |-- node
|   |-- node1
|   |-- null
|   |-- ppp
|   |-- ptyp0
|   |-- ptyp1
|   |-- ptyp2
|   |-- ptyp3
|   |-- ptyp4
|   |-- ptyp5
|   |-- ptyp6
|   |-- ptyp7
|   |-- ptyp8
|   |-- ptyp9
|   |-- ptypa
|   |-- ptypb
|   |-- ptypc
|   |-- ptypd
|   |-- ptype
|   |-- ptypf
|   |-- ram0
|   |-- ram1
|   |-- random
|   |-- rom0
|   |-- rom1
|   |-- rom2
|   |-- rom3
|   |-- rom4
|   |-- rom5
|   |-- rom6
|   |-- rom7
|   |-- rom8
|   |-- rom9
|   |-- scd0
|   |-- scd1
|   |-- sda
|   |-- sda1
|   |-- sda2
|   |-- sda3
|   |-- sda4
|   |-- sdb
|   |-- sdb1
|   |-- sdb2
|   |-- sdb3
|   |-- sdb4
|   |-- sdc
|   |-- sdc1
|   |-- sdc2
|   |-- sdc3
|   |-- sdc4
|   |-- sdd
|   |-- sdd1
|   |-- sdd2
|   |-- sdd3
|   |-- sdd4
|   |-- sde
|   |-- sde1
|   |-- sde2
|   |-- sde3
|   |-- sde4
|   |-- sdf
|   |-- sdf1
|   |-- sdf2
|   |-- sdf3
|   |-- sdf4
|   |-- sdg
|   |-- sdg1
|   |-- sdg2
|   |-- sdg3
|   |-- sdg4
|   |-- sdh
|   |-- sdh1
|   |-- sdh2
|   |-- sdh3
|   |-- sdh4
|   |-- sdi
|   |-- sdi1
|   |-- sdi2
|   |-- sdi3
|   |-- sdi4
|   |-- sdj
|   |-- sdj1
|   |-- sdj2
|   |-- sdj3
|   |-- sdj4
|   |-- sdk
|   |-- sdk1
|   |-- sdk2
|   |-- sdk3
|   |-- sdk4
|   |-- sdl
|   |-- sdl1
|   |-- sdl2
|   |-- sdl3
|   |-- sdl4
|   |-- sdm
|   |-- sdm1
|   |-- sdm2
|   |-- sdm3
|   |-- sdm4
|   |-- sdn
|   |-- sdn1
|   |-- sdn2
|   |-- sdn3
|   |-- sdn4
|   |-- sdo
|   |-- sdo1
|   |-- sdo2
|   |-- sdo3
|   |-- sdo4
|   |-- sdp
|   |-- sdp1
|   |-- sdp2
|   |-- sdp3
|   |-- sdp4
|   |-- sdq
|   |-- sdq1
|   |-- sdq2
|   |-- sdq3
|   |-- sdq4
|   |-- sdr
|   |-- sdr1
|   |-- sdr2
|   |-- sdr3
|   |-- sdr4
|   |-- sds
|   |-- sds1
|   |-- sds2
|   |-- sds3
|   |-- sds4
|   |-- sdt
|   |-- sdt1
|   |-- sdt2
|   |-- sdt3
|   |-- sdt4
|   |-- sdu
|   |-- sdu1
|   |-- sdu2
|   |-- sdu3
|   |-- sdu4
|   |-- sdv
|   |-- sdv1
|   |-- sdv2
|   |-- sdv3
|   |-- sdv4
|   |-- sdw
|   |-- sdw1
|   |-- sdw2
|   |-- sdw3
|   |-- sdw4
|   |-- sdx
|   |-- sdx1
|   |-- sdx2
|   |-- sdx3
|   |-- sdx4
|   |-- sdy
|   |-- sdy1
|   |-- sdy2
|   |-- sdy3
|   |-- sdy4
|   |-- sdz
|   |-- sdz1
|   |-- sdz2
|   |-- sdz3
|   |-- sdz4
|   |-- sequencer
|   |-- sequencer2
|   |-- sndstat
|   |-- tty
|   |-- tty0
|   |-- tty1
|   |-- tty2
|   |-- tty3
|   |-- tty4
|   |-- tty5
|   |-- ttyS0
|   |-- ttyS1
|   |-- ttyp0
|   |-- ttyp1
|   |-- ttyp2
|   |-- ttyp3
|   |-- ttyp4
|   |-- ttyp5
|   |-- ttyp6
|   |-- ttyp7
|   |-- ttyp8
|   |-- ttyp9
|   |-- ttypa
|   |-- ttypb
|   |-- ttypc
|   |-- ttypd
|   |-- ttype
|   |-- ttypf
|   |-- urandom
|   |-- usb
|   |   `-- lp0
|   |-- video0
|   |-- wlchr0
|   |-- wlchr1
|   `-- zero
|-- etc
|   |-- TZ -> /var/TZ
|   |-- Wireless
|   |   `-- RT61AP
|   |       |-- RT2561.bin
|   |       |-- RT2561S.bin
|   |       |-- RT2661.bin
|   |       `-- RT61AP.dat
|   |-- config
|   |   |-- MACHINE.SID -> /var/run/MACHINE.SID
|   |   |-- l2tpd-pppd.conf -> /var/l2tpd-pppd.conf
|   |   |-- l2tpd.conf -> /var/l2tpd.conf
|   |   |-- ripd.conf -> /var/ripd.conf
|   |   |-- smb.conf
|   |   `-- zebra.conf -> /var/zebra.conf
|   |-- group
|   |-- hosts
|   |-- hotplug2
|   |-- inittab
|   |-- ipsec.conf -> /var/ipsec.conf
|   |-- ipsec.secrets -> /var/ipsec.secrets
|   |-- l2tp.options
|   |-- ligd.gif
|   |-- linuxigd
|   |   |-- dummy.xml
|   |   |-- gateconnSCPD.xml
|   |   |-- gatedesc.xml -> /var/gatedesc.xml
|   |   |-- gatedesc.xml.org
|   |   `-- gateicfgSCPD.xml
|   |-- passwd
|   |-- ppp.options
|   |-- pptp.options
|   |-- rc
|   |-- resolv.conf -> /var/resolv.conf
|   |-- services
|   |-- udhcpd.conf
|   |-- upnpd.conf
|   `-- version
|-- home
|   `-- samba
|       `-- codepages
|-- lib
|   |-- ld-linux.so.2 -> /lib/ld-uClibc-0.9.26.so
|   |-- ld-uClibc-0.9.26.so
|   |-- ld-uClibc.so.0 -> ld-uClibc-0.9.26.so
|   |-- libc.so.0 -> libuClibc-0.9.26.so
|   |-- libcrypt-0.9.26.so
|   |-- libcrypt.so.0 -> libcrypt-0.9.26.so
|   |-- libdl-0.9.26.so
|   |-- libdl.so.0 -> libdl-0.9.26.so
|   |-- libm-0.9.26.so
|   |-- libm.so.0 -> libm-0.9.26.so
|   |-- libnsl-0.9.26.so
|   |-- libnsl.so.0 -> libnsl-0.9.26.so
|   |-- libpthread-0.9.26.so
|   |-- libpthread.so.0 -> libpthread-0.9.26.so
|   |-- libresolv-0.9.26.so
|   |-- libresolv.so.0 -> libresolv-0.9.26.so
|   |-- libuClibc-0.9.26.so
|   |-- libutil-0.9.26.so
|   |-- libutil.so.0 -> libutil-0.9.26.so
|   `-- modules
|       `-- 2.4.26-uc0
|           |-- kernel
|           `-- pcmcia
|-- mnt
|-- proc
|-- sbin -> bin
|-- tmp -> var/tmp
|-- usr
|-- var
`-- www
    |-- CheckFunction.js
    |-- TestEngine.asp
    |-- acl.asp
    |-- alg.asp
    |-- ate.asp
    |-- bittorrent.asp
    |-- bottom.asp
    |-- cmd.asp
    |-- content.css
    |-- ddns.asp
    |-- ddns1.asp
    |-- default.css
    |-- delete.file
    |   `-- images
    |       |-- LeftFrameLbottom.gif
    |       |-- LeftFrameLtop.gif
    |       |-- LeftFrameRbottom.gif
    |       |-- LeftFrameRtop.gif
    |       |-- Logo_normal.gif
    |       |-- Logo_over.gif
    |       |-- Sun_normal.gif
    |       |-- Sun_over.gif
    |       |-- Thumbs.db
    |       |-- adv01S.gif
    |       |-- adv02.gif
    |       |-- bottom.gif
    |       |-- device_logo2.gif
    |       |-- device_logo51.gif
    |       |-- dir.gif
    |       |-- fire01S.gif
    |       |-- fire02.gif
    |       |-- leftBG.gif
    |       |-- log01S.gif
    |       |-- log02.gif
    |       |-- mainBG.gif
    |       |-- mainBG_long.gif
    |       |-- mgmt01S.gif
    |       |-- mgmt02.gif
    |       |-- parent.gif
    |       |-- right.gif
    |       |-- router1.gif
    |       |-- router2.gif
    |       |-- server.gif
    |       |-- status01S.gif
    |       |-- status02.gif
    |       |-- swizard_normal.gif
    |       |-- swizard_over.gif
    |       |-- tline.gif
    |       |-- top.gif
    |       |-- topBg01.gif
    |       |-- usb01S.gif
    |       |-- usb02.gif
    |       |-- vbox.gif
    |       |-- wan01S.gif
    |       |-- wan02.gif
    |       |-- wireless01S.gif
    |       |-- wireless02.gif
    |       |-- wizard_normal.gif
    |       |-- wizard_over.gif
    |       `-- ws_button1.gif
    |-- dhcpc.asp
    |-- dhcpd_adv.asp
    |-- dmz.asp
    |-- dos.asp
    |-- eventlog.asp
    |-- home.asp
    |-- images
    |   |-- pci.gif
    |   |-- pci_logo.gif
    |   `-- under.gif
    |-- lan.asp
    |-- left.asp
    |-- leftforFW.asp
    |-- leftforLOG.asp
    |-- leftforMGMT.asp
    |-- leftforQos.asp
    |-- leftforUSB.asp
    |-- leftforWAN.asp
    |-- leftforWL.asp
    |-- mail_log.asp
    |-- mgmt_cfg.asp
    |-- mgmt_fw.asp
    |-- mgmt_remote.asp
    |-- mgmt_tz.asp
    |-- mgmt_user.asp
    |-- naptopt.asp
    |-- nas_browse.asp
    |-- nas_browse_user.asp
    |-- pbnat.asp
    |-- ping.asp
    |-- port.asp
    |-- pppoe.asp
    |-- qos.asp
    |-- ratelimit.asp
    |-- ratio_qos.asp
    |-- right.asp
    |-- routing.asp
    |-- scanspam.asp
    |-- serverp.asp
    |-- smb_conf.asp
    |-- smb_filter.asp
    |-- smb_renew.asp
    |-- smb_session.asp
    |-- snmpcfg.asp
    |-- specialap.asp
    |-- status_lan.asp
    |-- status_wan.asp
    |-- status_wlan1.asp
    |-- stupid-ftpd_basic.asp
    |-- stupid-ftpd_filter.asp
    |-- stupid-ftpd_renew.asp
    |-- stupid-ftpd_user.asp
    |-- system.asp
    |-- system.log -> /var/system.log
    |-- top.asp
    |-- udpblocking.asp
    |-- upnp.asp
    |-- urlfilter.asp
    |-- usb_infor.asp
    |-- wan.asp
    |-- wandhcpl2tp.asp
    |-- wanl2tp.asp
    |-- wanpptp.asp
    |-- wanstatic.asp
    |-- wireless_ac0.asp
    |-- wireless_advance.asp
    |-- wireless_basic.asp
    |-- wireless_basicno.asp
    |-- wireless_radius.asp
    |-- wireless_secret.asp
    |-- wireless_security.asp
    |-- wireless_wds0.asp
    `-- wireless_wmm.asp

26 directories, 495 files

気になるファイルだけ、中を見てみました。
[root@kashyyyk]# cat /mnt/etc/passwd
root:x:0:0:root:/:/bin/sh
nobody:x:0:0:Nobody:/:/sbin/nologin
[root@kashyyyk]# cat /mnt/etc/version
Realtek/RTL865XB Version 3.4.0 --  Tue Jul 4 10:39:14 EDT 2006
[root@kashyyyk]# cat /mnt/etc/Wireless/RT61AP/RT61AP.dat
#The word of "Default" must not be removed
Default
CountryRegion=5
SSID=RT61AP
WirelessMode=0
TxRate=0
Channel=6
BasicRate=15
BeaconPeriod=100
DtimPeriod=1
TxPower=100
BGProtection=0
TxAntenna=
RxAntenna=
TxPreamble=0
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
TurboRate=0
NoForwarding=0
NoForwardingBTNBSSID=0
HideSSID=0
ShortSlot=1
AutoChannelSelect=0
IEEE8021X=0
PreAuth=0
AuthMode=OPEN
EncrypType=NONE
RekeyInterval=0
RekeyMethod=DISABLE
PMKCachePeriod=10
WPAPSK=1234567890
DefaultKeyID=2
Key1Type=0
Key1Str=1234567890
Key2Type=0
Key2Str=1234567890
Key3Type=0
Key3Str=
Key4Type=0
Key4Str=
HSCounter=0
AccessPolicy0=0
AccessControlList0=
AccessPolicy1=0
AccessControlList1=
AccessPolicy2=0
AccessControlList2=
AccessPolicy3=0
AccessControlList3=
RADIUS_Server=192.168.2.3
RADIUS_Port=1812
RADIUS_Key=ralink
own_ip_addr=192.168.5.222

ということなので、 CPU は Realtek の RTL865xB みたいです。多分、 RTL8651B だと思います。それと、 RT61AP という名前を少し調べたの ですが、無線 LAN カードの名前なのか、 OEM 機種なのか、わかりま せんでした。


Team Yokohama X-VACCINE & Tatsuyoshi Networks
もどる