follow me

open-vm-toolsをOpenWrtで使う

ESXiでOpenWrtを使うケースはあると思います。
その際に悲しい思いをした人は多いに違いない。
vmtoolsが無い。というか、glibcではなくmuslがデフォルトのOpenWrtではvmtoolsを入れるのは難しい。(というか入るのか怪しい。
なので、open-vm-toolsパッケージ作りました。
野良パッケージなので、ビルドしてください。
muslで動きますので、パッケージさえビルドすればOpenWrt本家でダウンロードできるイメージにも入ります。
https://github.com/srchack/custom-packages/tree/master/open-vm-tools


ESXi 6.7で動作確認しました。
ネットワーク情報は取れてます。シャットダウン/再起動系も機能しています。
正常に動いているかテストを全パターン試しておきたいが何か方法ないものか。。。
まぁ、OSシャットダウンが一番やりたかったことなので個人的目的は達成してはいるのですが。


ビルドするのが面倒な人用にパッケージ置いときました。
r7332-2163b49でビルドされています。
18.06環境であれば動くでしょう。(依存関係弱いので
open-vm-tools_10.3.0-1_i386_pentium.ipk
open-vm-tools_10.3.0-1_i386_pentium4.ipk
open-vm-tools_10.3.0-1_x86_64.ipk


open-vm-toolsのOpenWrtでのビルドについて、
open-vm-toolsのビルドオプションは、Makefileを見ていただくとおり、ほとんど無効化されています。
ライブラリ依存だったり、デフォルトでOpenWrtには入っていない機能に依存しているものは落としています。
filesディレクトリ以下は、起動スクリプトと設定ファイルです。shutdownはOpenWrtに足りないのでダミーです。
patches以下は、musl対応になります。(なんでlibc判別のための"__MUSL__"って存在しないんですかね?と愚痴ってみる)
musl対応系は、途中まで書きつつOpenEmbedded向けのパッチを見つけたので、ほぼそっちのパッチを調整しただけです。
follow me

PQI Air Penのath79対応

以前、OpenWrtに対応させたのですが、ar71xxはath79に移行される事になったので、どこかで書き直さないといけないわけですがサボってました。
ar71xxは、今のkernelバージョンで終了の様子なので、ath79移行は今後OpenWrtで使えるようにするには必要なことになります。
とりあえず少し古いけど、手元の開発環境でパッチを書いてみた。
r7995-967d646_ath79_pqi-air-pen.patch


ath79対応してみたものの、恩恵を受けないですね。ar9330では正直あまりメリット無いですね。
Kernelでかくなってしまったし、Flash小さいからますますメリット無いですね。


起動ログ貼り付けておきますね。
とりあえず動作問題なさそうなので、最新にパッチ作って送りますかね。
follow me

OpenWrt 18.06.0対応機種動作確認

OpenWrt 18.06.0がとっくの昔にリリースされています。
https://openwrt.org/releases/18.06/notes-18.06.0
18.06.1が出てしまいました。
自分が対応に関わったハードでの動作確認をやっと実施しました。(18.06.0です。)
  • Planex MZK-DP150N (ビルドしなおす必要あり)
  • YUKAI Engineering Inc. BOCCO
  • PQI Air Pen
  • Planex VR500
  • Planex MZK-EX750NP
  • Planex MZK-EX300NP
  • Planex CS-QR10
  • ELECOM WRH-300CR
  • Planex DB-WRT01
  • Planex MZK-750DHP
  • Planex MZK-WDPR (ごめんなさい電源見つからず)

各起動ログを張り付けておきます。

follow me

RB450GのopenWrt 18.06-rc2化


最近またRouterBOARDのOpenWrtをさわりはじめました。
以前触っていたのは2014年とか2015年とかの様なので、久々に見た訳ですがイロイロ変わってた。。。
ので、OpenWrt化手順を再度残しておきます。
OpenWrt/LEDEのプロジェクト再統合後、本家のドキュメント系が捜しにくくなりました。(Googleからの話。。。古いWikiが先に出てしまうんですよね。
ドキュメント自体は更新されているんですがね。

今回は、DHCPで流し込んでもいいのですが、BOOTPで流し込む方法で書き換えました。
BOOTPの方が、シリアルが無い機種でのRouterBOARDへの戻しが容易な為です。

とりあえず、BOOTPサーバの為にUbuntu 16.04の仮想マシンを利用しました。
Windowsだと手軽なBOOTPサーバが思いつかなかったので。


0. イメージファイル
https://downloads.openwrt.org/releases/18.06.0-rc2/targets/ar71xx/mikrotik/からダウンロードする。
以下2個が必要。
vmlinux-initramfs.elf
nand-large-squashfs-sysupgrade.bin
いつの間にかjffs2の領域にtar.gzを展開する方式から、sysupgrade.binを書き込むだけの方式に変わってました。(sysupgradeコマンドが対応しただけともいうが)
手順が大きく変わってしまったので、古い情報を見ると解らなくなってしまう。。。

1. リセットジャンパでBOOTPされる設定か確認
Winboxだと、System->Routerboard->Settingsの位置にあります。
BootProtocolがbootp、Enable Jumper Resetが有効な状態にして下さい。

設定したらshutdownします。
follow me

Interop Tokyo 2018 行ってきました (2)

Interop Tokyo 2018 行ってきました。
は良いとして、戦利品の話。
今年は袋にも困らない年でした。数年前は袋難民が大量発生しましたが、今年はそんな事は無かったです。

めずらしくオライリーは1冊しか買ってないので戦利品は無し。
実践パケット解析。
まぁ、動物じゃなくなったから新鮮味。。。

follow me

Interop Tokyo 2018 行ってきました (1)

Interop Tokyo 2018 行ってきてました。
毎年、顔出しはしています。
今年は2日目に行ったので、あまり知人に会いませんでしたが。
で、今年のテーマなんだったんですか?よく解りませんでした。。。

Kaspersky
くまさん。ミドリクマ。

南極まで旅する熊らしい。
https://eugene.kaspersky.co.jp/2017/05/02/the-terrific-travels-and-astonishing-adventures-of-midori-kuma/

説明員の人にAmazonで買えると聞いたが本当にAmazonで買える様だw。。。
しかも、パチものとかではなく、カスペルスキーが売っているらしい。
ちょっとほしぃ。
カスペルスキーはぬいぐるみ屋だったのか。(違

follow me

GS308P-100JPS、BCMチップを使った良品

NETGEAR GS308P-100JPS、とある秋葉原の店(FreeT)で3,980円で売られていましたが、BCMチップが利用された良品です。
3,980円はお買い得だと思います。
私は開封してしまっているので保障もないのですが、このGS308P-100JPSは、アンマネージとして売られていますが、搭載されているチップ自体はマネージド対応なものになります。
VLANもちろん切れるしSNMPもしゃべれるチップなんです。
メインのSoCはヒートシンクを剥がしていないので、おそらくにはなるが、BCM53118?
スペック、ファームの状態からもほぼ間違いはないだろう。
PoEについては、BCM59101が使用されている。

構成を見る限り、上位機種のGS108PEとハードは同じと考えられる。
PoEが一般家庭で必要かと云われるとなんとも感はあるが、IPカメラや無線APのPoE対応を考えるとこれから一般家庭への普及の可能性はあるとも予想される。
Raspberry Pi 3B+(HATがまだ登場していないが)も対応する事も考えると、1台ぐらい対応スイッチがあっても損はないだろう。

follow me

MZK-DP150N、新リビジョンで起動可能に

MZK-DP150N、新しいリビジョン(おそらくは2017頃からのモデル)ではOpenWrtでFlashが認識できない問題が発生していましたが、パッチが入ったので起動できる様になりました。
注意:snapshotビルドのみ対応されています。
r7020-43d70a7で当方動作確認済み。

該当する修正はこちら。
kernel: Add support spi-nor, Eon EN25QH32
ramipsは既に4.14に移行しているが、他のカーネルバージョンにも適応される様にしてあるので、他の機種で同じチップが使われている場合にも救える筈。
同様の問題は聞いていないので該当機種が存在するかは不明。


Eon EN25QH32の対応自体は、linux-mtdに入るので、OpenWrtに関わらず対応する形になる。
mtd: spi-nor: Add support for EN25QH32
データシートは、以下から入手可能。(EONはESMTに買収されているのもあり、EONのサイトからダウンロードできなくなってる。。。)
http://www.esmt.com.tw/english/main_products.asp


起動ログを張り付け。
follow me

MZK-DP150N、新リビジョンのFlash対応

MZK-DP150Nの新しいリビジョンではOpenWrtでFlashが見えないという問題、どうやら2017年春の時点から起きている模様。
問題発生している実機を提供頂けたので、詳細確認しました。(提供頂き有難うございます。)
起動ログを見る限り、数件報告の有った状況と同様。
[    3.730000] m25p80 spi32766.0: unrecognized JEDEC id 1c7016
kernelバージョンにより以下の様なログになります。
[    4.444935] m25p80 spi0.0: unrecognized JEDEC id bytes: 1c, 70, 16
[    4.457452] m25p80: probe of spi0.0 failed with error -2
JEDECが見つからない状態が発生してしまっています。
この状態に陥ると純正ファームに書き戻す事も別ファームを書く事もできなくなる。
ローダブルモジュール構成になっていれば救えたのかもしれないが致し方ない。
新しいリビジョンのMZK-DP150NのOpenWrt化は注意しなくてはいけない。開封しないと書き戻せない。
しかも、溶着なので完全には戻せない。
爪で引っ掛けているとかではないので、ペリッと剥がして開ける事になります。


どうにもこの状態からの復帰が出来そうにないので、開封を実施。
2回目という事もあり、綺麗に開封。(もちろん溶着できないので戻りませんが)

follow me

SEIL/X1、シリアルコンソールケーブル自作

SEIL/X1が安く入手できました。
5台セットで入手して、1台は売却済み。
4台もいらないから、後2台は売却予定。(電源も付いてないので、本体だけです。)


シリアルコンソール変換コネクタを自作した。
はじめCisco互換だっけ?と思ってたら、この頃はまだ独自配列だったんですね。
シリアルのピン配列はマニュアルがあるから困らない。
コンソールケーブルのピンアサイン

自分で半田づけするなら1, 4, 6の結線はそのままでいいのだが、最近利用している変換コネクタだと出来ない。
ターゲット側に合わせるべきか悩む訳です。結果は4, 6をクロスして、1は1でダミー的にする事で問題なさげ。

SEIL/X1 シリアルコンソール
RJ45 ピン番号    D-SUB 9ピン
1 1
2 3
3 2
4 6
5 5
6 4
7 8
8 7