Posts tagged ‘modify Rakuten WiFi Pocket’

煮ても焼いても食えない楽天モバイルとそのルータRakuten WiFi Pocket(以下RWP)だったが、その後もひそかにいじっていた。その結果、「Linux遊び」ができることは分かったが、それで何かおもしろい・役に立つことに使えるかというと、やっぱり使えないことが分かったw

とりあえず、どうすれば遊べるかを書く。

PCからRWPに繋いでLinuxを使う。

まだ出たばかりで、気付いている方は少ないかも知れないが、RWPにはtelnetで接続できる。ZTEのLTEルータ・モデムで検索すると、特別な手順が必要だったり標準でないポート番号に繋ぐように書いてあるが、RWPでは変えられていないので※、「普通に」繋がる。

※中を見ると、ポート番号を変えるつもりのようだが、バグか何かで変わっていないようだ。間違えてポート番号を指定せずにやったら繋がったので、拍子抜けしたw

なお、外(WAN)からtelnetできると大変危険だが、試したら繋がらないようなので、最低限のパケットフィルタは設定されているようだ。

RWPの管理者のアカウントでログインすると、以下のように普通にLinuxが使える。

$ telnet 192.168.0.1 
Trying 192.168.0.1...
Connected to 192.168.0.1.
Escape character is '^]'.

login: XXXXX
Password:

BusyBox v1.21.0-uc0 (2020-12-04 22:11:15 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ # uname -a
Linux DEMO 3.4.110 #2 Fri Dec 4 22:06:09 CST 2020 armv7l GNU/Linux

~ # cat /proc/cpuinfo
Processor : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 620.54
Features : swp half fastmult edsp tls 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

Hardware : ZX297520V3
Revision : 0000
Serial : 0000000000000000

~ # df
Filesystem 1K-blocks Used Available Use% Mounted on
ubi0:rootfs 60912 16276 44636 27% /
mdev 27472 0 27472 0% /dev
tmpfs 27472 0 27472 0% /dev/shm
ubi1_0 3080 76 3004 2% /securefs
ubi0:rootfs 60912 16276 44636 27% /mnt/tmp

ノード名が"DEMO"だったりリビジョンもシリアルも0だったりして、なかなか香ばしいw 表示が正しいとすれば、カーネルを構築したのが12/4なので、まさに「作って出し」って感じか・・・

その割にはちゃんとIPv6が使えるので、なかなかカオスな感じではある。元(ZTEの物?)ができているだけのことなのか。

なお、ファーム更新でtelnetが止められて遊べなくなると困るので、自動更新を停めた。

micro SDを介してPCとファイルの受け渡し

RWPの「中身」をじっくり見るために、micro SD(以下SD)にバックアップすることができる(SDのマウントポイントは"/etc_rw/config/mmc2")。また、それをPCから取得することもできる。管理画面でSDを"HTTP Share"にすればSDの内容が見られるので、それをダウンロードすればいい。

Rakuten WiFi Pocketのmicro SDにブラウザでアクセスする。

バックアップするにはtarコマンドが便利だが、標準では使えないので、下記のようにフルのbusyboxを入れればOKだ。

標準で使えるddでもいいが、ファイルシステムがUBIFSで手軽に開けないので、僕はtarを使った。

上のような手順で、RWPでsshdなどが動いていなくてもPCとファイルがやり取りできる。

あと、curlは使えるようなので、PCにサーバがあるかクラウド経由ならやり取りできる。

フルのbusyboxでコマンドを増やす。

そのままだとbusyboxの機能(コマンド)が少なくて不便なうえに余り遊べないが、ARMv7l用のフル版をダウンロードして入れれば動く(もちろん、全部のコマンドが使えるかは不明)。RWPに入っているのと同じバージョンのもの(1.21.1)がちゃんと動いた。最新の1.31を試したらtarで落ちてしまったが、別の問題(ルートファイルシステムがフルになると落ちる感じ)だったのかも知れない。

Rakuten WiFi Pocketで(フルの)busyboxを動かす。

SSHサーバ(dropbear)は試していないが、きっと動くのではないか。

設定・状態関連

RWPの中にはいくつか設定ファイルがあり、大抵テキストなので普通に読める。また、運用中の設定や状態は/bin/nvというコマンドで取得・変更・一覧できる。以下に例を示す。

nv get rssi #  RSSIの表示
nv show # 一覧表示

参考までに、rssi以外で良く使いそうな値を以下に示す(ほとんどiV501と同じである)。

  • signalbar: 電波強度(バーの数)
  • network_type: WANのタイプ(LTEなど)
  • network_provider: キャリア名
  • mcc, mnc: 接続先のMCCとMNC
  • network_num_oper: 接続先キャリアの番号?
  • cell_id: 繋がっているセルのID?
  • sta_count: Wi-Fiの子機の数
  • monthly_tx_bytes, monthly_rx_bytes: 月の送受信データ量
  • battery_charging: バッテリが充電中か
  • battery_pers: バッテリの残量(%でなく0-4)

テキストファイル以外にsqliteのDBもあり、接続先関係の設定や接続先を固定するように見える設定があるが、どのように使われている・使うのか分からない。

接続先の固定(できず)

設定ファイルの一部を変更してauに繋がらないようにできないか試したが、できなかった。具体的には、楽天とau(KDDI)のPLMNの設定らしき部分があったので、auの値をダミーにして再起動したが、効かなかった。バグ(書いてある値の10の位と1の位がコメントと逆だった・・・)でその設定は無効なのか、設定方法が違うのかは分からない。

また、管理画面のネットワーク設定で接続先をマニュアル設定にすればLTEの接続先を選択できるのだが※、Rakuten(44011)にしても、電波状態によって勝手にKDDI(44053)に変わってしまった。

Rakuten WiFi PocketのLTEの接続先を楽天モバイルにしても・・・

※この設定を変更するには、一旦WAN(LTE)を切断する必要がある。

ちなみに、上記nvコマンドで取れる動作状態ではmcc, mnc, network_num_oper, cell_idなどが現在のLTEの接続先を調べるのに有用そうだ。

IPアドレスの変更

RWPのIPアドレスは192.168.0.1に固定されていて不便だと思って居たが、実は変更できる。上と同様に、一旦WAN(LTE)を切断すれば変更できるようになる。なお、WAN(LTE)を切断している状態で起動するとtelnetで接続できないので、接続後にLTEを切ること。

Rakuten WiFi PocketのIPアドレスを変更できた。※

※キャプチャではDHCPサーバの設定が元のままなので注意。

 

結局のところ・・・

まあ、1円で確かに「Linuxが動く小さい物」は手に入ったが、以前諦めたWi-Fi内蔵SDカード(PQI Air Card II)と同様、I/Oがない(外部のセンサや動くものなどに繋げられない)ので、僕には全くおもしろく使えない。温度計や照度センサやGPSや接点出力が入っていればいろいろ使えそうだが もちろんなく、せいぜい、電池の温度(本体が熱くなければ、周囲の温度に比例した温度になる)を取ったりセルの番号で大まかな位置を取る程度か。

これのCPUがものすごく高速だったら、何か(少し前だったら、仮想通貨のマイニング?)計算させるとかできるが、全くそんなこたぁないw ちなみに、BogoMipsはCore i7-2600 (3.4GHz)の1/10くらいだ。

ただ、USBはあるので、そこにカメラや温度計などを繋いで使えればいいが、果たしてどうだろうか(Androidスマフォと同様に繋がるのかも知れないし、ホストに繋げる専用ポートなのかも知れない)。面倒なので試していない。

もしUSBストレージやPTPが認識できれば、デジカメの画像をRWPのSDに一時保存するようにするのは容易そうだ。が、「やればできる」程度で実用性があるかどうか・・・ せめてauに繋がらないようにできれば、画像をクラウドにアップロードするようにできるだろうが、auに繋がるのではすぐに通信データ量オーバーになって不便だ。

あとは、本体に付いている小さい画面とボタンで文字などを表示・入力できるようにしたり、ゲームを動かすこともできるかも知れないが、僕は興味ないのでやらない(やってどこかに「Rakuten WiFi Pocketでテトリスを動かしてみた」とか投稿すると受けるとは思うがw)。

でも、そのうち何か思い付くかも知れない。とは言え、本当にやりたいことがあるならRaspberry Piでも買ったほうがずっと早いwww

 

最後に一応書きますが、以上のようなことは全く奨励しません。下手したら動かなくなります。「こういうこともできるかも知れないなぁ」という、初夢や幻想だと思って下さい。

 

PS. 今遊んでいる・試行錯誤されている方から、「お前、余計なこと書くなよ(塞がれるだろうが)!!」とか言って怒られるだろうか?

  •  1
  •  2
Keys: , ,