|
|
![]() by dengel
■ カテゴリ
・ゲーム/PSO/PSU ・PSP/PSV/エミュ/ガジェット ・DTM/Audio/音楽 ・小説/漫画/ラノベ ・舞台/歌舞伎/映画 ・プログラム/NW ・PC/戯言/メモ ・iOS/Android
■ 検索
■ お気に入りブログ
ゲームパッド地下秘密 Dengel Wing Invisible Ray 博麗幻想書譜 目撃者を探しています!平...
■ 以前の記事
2025年 02月 2024年 12月 more...
■ 各種規約/設定
▼【AI】▼
■OpenAI:ChatGPT ■Google:Gemini ■Anthropic:Claude ■Infrection:Pi ■Microsoft:Copilot ▼【WEBメール】▼ ■Gmail ■MSN Hotmail ■10min E-Mail (メーラー) ▼【CG/画像加工】▼ ■Photoshop ■Pixlr ■Canva(AI画像) ▼【ストレージ】▼ ■Gドライブ ■BOX ■OneDrive ▼【便利サービス】▼ ■Google Keep (メモ) ■CoolText (タイトル生成) ▼【PSP関連】▼ ■Emu on PSP ■PSPnfo ■QJ.net(DL) ▼【情報】▼ ■連邦 ■Impress ■Gigazine ■にがHP ● 素材拝借 ▼タイトル画像▼ [www.SCX.hu]写真素材サイト Richard Sweet photography 様 ▼背景画像▼ Grayish Web 様 ▼プロフィール画像▼ Bart Vermeersch 様 ● 著作権利 このページで使用されている画像は(株)セガの許諾を得て、Windows用ゲーム『ファンタシースターオンライン ブルーバースト』および『ファンタシースターユニバース』よりキャプチャーしたものです。配布や再掲載は禁止されています。 (C) SEGA
■ 最新のトラックバック
■ その他のジャンル
■ ライフログ
■ ファン
■ 記事ランキング
■ ブログジャンル
■ 画像一覧
|
::: 2024年 04月 07日
:::
■目的 クラウド登録済みのMeraki MR42を入手したけど アカウント紐づいたままで、このままでは動作テストもできない。 そのためOpenWrt化してクラウドレスで実験をしたい。 Blogとしては、日本語で説明している方々のサイトを参考にするも 全てが同じ動きをしていなかったので 改めて自分が実施した手順を説明します。 →2024.06.08追記 Meraki MR42の3台目を入手しました。 1台目は、OpenWrt化して動作テストへ。 2台目は、実際のMerakiCloudで設定方法の勉強に使いました。 3台目は、1台目と同じくOpenWrt化予定です。 今回は手元にWindows11のLet's noteがあるので 各所のLinuxでの1台目の経験を生かして Windowsで作業を実施してみたいと思いました。 →WindowsでOpenwrt化 結論から言うと、Pythonのスクリプトでコケました。 TFTPも、ターミナルも、TeratermもWindowsで用意したのですが そもそも、Windows上ではpyserialを入れても、Python3を入れなおしてもダメでした。 スクリプト内が複雑で解析できていないんですが、 pythonの文字が出てから全く動かなかったです。 結局、3台目も1台目の準備済みLinuxノートで実行したら 全く問題なく動きましたので、記事を更新します。 ■参考サイト ●OpenWrtの公式手順 ●cisco Meraki MR42のOpenWrt化の手順 ●Meraki MR42にOpenwrtをインストールする手順のメモ ■作業概要 ・MR42とシリアル↔USBアダプタを結線 ・PC側からスクリプトを流し込む ・MR42がTFTPからOpenWrtを自動インストール ・MR42側からアップデートして完了 ■事前準備/物理 ●Meraki MR42 →背面のグレーのゴム足4つを外すとネジが見える。ネジを4つとも外す。 ![]() →ヘラなどを使ってAPを殻割。爪を折らないように。 →グレー面を外すと金属ボックスが見える。アンテナ線に注意。 →金属の外周10個のネジ(長辺3x2、短辺2x2)を外して、金属ボックスを開ける →公式手順の写真がとても参考になるのでオススメ。 →LANポートを右側に向けると、基盤上部に シリアルポートとなる4つの穴がある。 ![]() →穴は、一番右の「▼」が付いているのが3.3Vで使用しない。 →「▼」から左に向かって1,2,3,4とし 1-3.3v、2-TX、3-RX、4-GND →「1」は使わない 「2-TX」はUSBアダプタの「RX」と接続 「3-RX」はUSBアダプタの「TX」と接続 「4-GND」はUSBアダプタの「GND」と接続 →接続方法については、手抜きだとホールの金属縁に 配線をガムテ等で止めるようですが 自分は、電子部品用の4Pinヘッダをホールに半田付けしました。 4ピン基板用ピンヘッダ →ピンホールとUSBアダプタをケーブルを接続してください。 上記のように止め方は千差万別です。 念のため、金属カバーと基盤の間にビニールを差し込んで 接触しなようにだけ注意しています。(写真参照) ▼結線 参考写真 ![]() ●PC(自分はLinux:Ubuntu) ・Pythonがインストールできて、シリアル接続できて、 TFTP立てられるのであれば ※残念ながら手持ちにWinノートPCが無かったのでLinuxでやりました。 →ダメです。Windowsではスクリプトで止まってしまいました!! ※pyserialを入れたLinuxで動いているので、シリアル操作のあたりが Windowsと違うのかもしれません(予想) ●シリアル↔USB変換アダプタ ケーブルで「RX」「TX」「GND」を接続できるタイプなら何でもだけど ピン接続するので、なるべく剥き出し・わかりやすものが良いと思います。 自分は失敗しても良いように以下の3つセット買いました。 ※AP側ないしはアダプタ側の3.3Vを使うとアダプタが焼け故障します。 ・HUB(自分は余ってたPoEハブ) ・LANケーブルx2 →PC~APの直接続はクロスケーブルが必要な気がしたので PC~HUB~APと構成になるよう接続。 ■事前準備/論理 ●PC(Ubuntu)に「python3」「pyserial」「minicom」「tftp」をインストール →コンソールを起動 →Linux(Ubuntu)にPython3 をインストール →「sudo apt-get install python3」 →Python3を入れたらPythonにpyserialをインストール →「pip install pyserial」 →Linux(Ubuntu)にminicomをインストール →「sudo apt-get install minicom」 →Linux(Ubuntu)にTFTPをインストール →「sudo apt-get install tftpd-hpa」 ※1:pyserialはpythonで入れるので、先にPythonが入っていること またインストールコマンドが pip になるので注意 ※2:UART(シリアル)接続対応アプリは 操作できるのであれば、どれでもOKです。 自分は他の方が使っているのが分かりやすかったので そのまま「minicom」を入れました。 ※3:TFTPは後述する「192.169.1.250/24」で TFTPサーバが立って、ファイルが置ければどんなソフトでもいいです。 自分は1台で完結させる上に、インストール後の設定がほぼ無く ファイル置場のパスが分かりやすい「tftpd-hpa」を入れました。 ●LANのインタフェースのアドレスを変更する →LANポートを「192.169.1.250/24」にする。 →自分はデスクトップから、GUIでネットワーク→インタフェースで設定 →IP:192.169.1.250 サブネット:255.255.255.0 デフォゲ:192.168.1.250 DNS:なし ※ルート知っているのは自分のみと思ったので デフォゲは自身のポートにしました。 ※Openwrtが入った後なら、デフォゲは 192.168.1.1でも大丈夫です。 ●Openwrt公式からMR42用の「sysupgrade」イメージをダウンロード ※OpenWrtのサイトから(手順サイトではなく)最新版を落として実行した所 ワイヤレス設定が出ないなど不具合が起きて失敗したので 最新Verにするより、OpenWrt公式のアップデート方法が記載されている 上記アドレスの確実なバージョンの方で成功しました。 ●Githubページから以下3つのファイルをダウンロード ・mr42_u-boot.bin ・openwrt-ipq806x-generic-meraki_mr42-initramfs-fit-uImage.itb ・ubootwrite.py ●TFTPにファイルを置く →tftpd-hpaのデフォルトディレクトリは「/srv/tftp」 GUIで権限(パーミッション)を書き換えて、上記ディレクトリに 「openwrt-ipq806x-generic-meraki_mr42-initramfs-fit-uImage.itb」を置く ※容量は8.66MBです。わざわざ書いたのは、GithubからDLしたら数回に1回しか成功せず 数百KバイトでDLされる事があって失敗したのでメモします。 ●「mr42_u-boot.bin」と「ubootwrite.py」を適当な作業ディレクトリに置く →自分は「makedir」コマンドで「/tmp/mr42」を作成し、 mr42の中にファイルを置きました。 ■接続テスト ●参考サイト様に則り接続試験を実施 →PCにUSBアダプタを接続 →「ls -l /dev/ttyUSB* 」を実行 →アダプタが「/dev/ttyUSB0」なのか別の名称か 認識しているか確認 →PCからコンソールを起動 →「sudo minicom -s」を実行 →メニュー画面にて、「A」のデバイスが「/dev/ttyUSB0」を確認 ※先のコマンド判明したUSBデバイスを選んでください。 「F」の「ハードウェア制御:なし」になっているのを確認 →「E」の速度が「115200」であることを確認 ※自分の場合、テストでは「9600」で動いたけど 本番では「115200」でした。 参考: →「EXIT/終了」を選ぶと設定が終了してシリアル接続されます。 →「Exit from Minicom」を選ぶと、Minicom自体が落ちて 通常のコンソールになります。 →MR42の電源を入れます。 →結線が正常で、Minicomの設定が正常なら、起動メッセージが表示されます。 →されない場合:「結線」を確認、Minicomの「デバイス」と「速度」確認 特にデバイス名は、使うLinuxディストリビュートやバージョンで 異なったりするので、ttyUSB0なのか、ttyUSB1なのか、それ以外なのか コマンドで確認すること →自分は、「速度」が何度か食い違っており 表示されない・文字化けする→速度を変える→表示される、でした。 →メッセージが表示されたら接続正常なので、MR42の電源を落とす。 ■OpenWrt導入 ●物理結線 →「MR42~~~HUB~~~ノートPC」でLAN配線する。 ●TFTPの起動 →インストール時に起動している想定ですが、ファイルを置いたので 念のためサービスの再起動をします。 →「sudo service tftpd-hpa restart」 ●スクリプトとファイルを置いたディレクトリに移動 →「ubootwrite.py」と「mr42_u-boot.bin」を置いたディレクトリに移動 →自分は「cd /tmp/mr42」 ●スクリプトの実行 →「sudo python3 ubootwrite.py --write=mr42_u-boot.bin」 →正常に実行されると、待機状態になる。 ●MR42の起動 →MR42に電源を入れる。PoE(1台目)でもAC(3台目)でもOKです。 →正常に起動すると、シリアル転送のメッセージが表示される。 →15分~20分くらい待つ(進捗が秒間0.3ぐらいずつ増える) ●実行完了→TFTP →スクリプトを実行後、正常であればそのまま自動で PCの有線側からアクセスしTFTPからイメージを自動取得して 更新後に再起動される ●事後処理 →再度Minicomを起動して、APに接続してから以下コマンドを順番に実行 →「insmod mtd-rw i_want_a_brick=1」 →「mtd erase /dev/mtd8」 →「nandwrite -pam /dev/mtd8 /root/mr42_u-boot.mbn」 →実行後、以下メッセージが表示される事を確認 Writing data to block 0 at offset 0x0 Writing data to block 1 at offset 0x20000 Writing data to block 2 at offset 0x40000 ※この後は必ずイメージのflashまで完了させる事 flash前にデバイスを再起動してはいけない。 ●ボリューム削除(任意) →ファームの再利用する気がない場合、以下コマンドにて ストレージを少し空ける事が可能 →「for i in diagnostic1 part.old storage part.safe ; do」 →「ubirmvol /dev/ubi0 -N $i」 →done ●Sysupgrade →正常にOpenWrtがインストールできていれば Luciが入っているので、結線そのままならブラウザから「192.168.1.1」でアクセス →ID「admin」、PASS「空白」 で行けます。 →「System」→「Backup/Flash Firmware]を選択 →「Flash new firmware image」の項目「Flash image」を選択 →Sysupgradeファイルを選択 「openwrt-ipq806x-generic-meraki_mr42-squashfs-sysupgrade.bin」を選択 →「Upload」→「Continue」 →ファームウェアの更新が始まりMR42が再起動する ※参考 ●上記でOpenWrt化完了 ナレッジ ・公式説明でも、他の方でもそうですが、 「Minicom」の使い方、「TFTP」の使い方が記載ないので 知らない方は多少の勉強が必要です。 ・MR42とUSBアダプタの3.3Vは繋げない事 →自分は昨年間違えて繋ぎ、触れないほど熱くなって沈黙しました。 ・結線はできるだけ確実に、ホールにケーブルつなぐ場合 テープだけでなく、クリップや洗濯ばさみなど せめて圧着させる工夫の方が失敗が少ない ・Minicomは、接続に問題がなく 基本設定が間違ってないなら、大抵は速度の変更で解決する。 ※スクリプトが動かない、画面表示がされない、接続ができないケースは 大体結線の接触不良です。 ※次点で、画面が文字化けするなら、レートの問題か、結線不良です。 ・Sysupgradeのファイルに注意 →自分は最新のを入れたら失敗してLuciが消えてしまい CLIでLuciを手動インストールするもWifi設定が見つからず →再度、確実な世代前のSysupgradeを入れなおしたら Wifi設定できるようになりました。 ●OpenWrtでWifi設定 ・カントリーコードで、Japanを選択 ・各アンテナに対してSSID等、Wifi設定を実施 ※日本は電波法で出力が決まっているのでご注意ください。 (そのためのカントリーコードJapanです) ※Wifi設定参考 ・他の方も記載しているが、2.4Ghz帯、5GHz帯 1300Mbps ACの他 「5GHz/ac/433Mbps」or「2.4GHz/n/300MHz」のアンテナ(1本)もあり OpenWrt化後は3つのアンテナ・Wifi設定ができます。 →自分が確認した限りでは 「Qualcomm Atheros QCA9990 802.11ac/n」 →5GHz/1300Mbps 「Qualcomm Atheros QCA9990 802.11b/g/n」 →2.4GHz/600Mbps 「Qualcomm Atheros QCA9887 802.11ac/b/g/n」 →5GHz/433Mbps、2.4GHz/150MHz のようです。 ■ひとりごと 他の方も書いてますが、写真を見ても分かるように プラスチックのガワを外すと ごつい金属ケースに囲まれた基盤がでてきます。 アンテナも樹脂で1つ1つ外れないように止められています。 Buffalo等の家庭用とは一線を画す筐体クオリティです。 非常に安定していて動きは良いです。 数台のアクセスでは、別に家庭用と大差ないですが 10台くらいのアクセスや、複数人で同時に動画を見る等 負荷をかけた時に安定していたり 電波も法律上は同じはずなのに、電波の強さや 繋がりやすさを感じて、非常に良いものだと思っています。 以上、実験終了です。 *2024.10.23追記 ■OpenWrt化したMeraki MR42で5GHzの送信側リンク幅が40MHzから上がらない件 5GHzで40MHz以上にリンク上がらないバグがあるとの事。 80MHzに設定してもDL側が40MHzでしかリンクできない事を確認しました。 ただUL側は80MHzでアップしているので、すぐには気が付きませんでした。 ドライバ入れ替えると、リンクの表示はおかしいけど通信はできるとありますが 自分の場合、PCでもiPhoneでも、SSIDは表示されても接続できませんでした。 幸い電波強度などつながりやすさは折り紙つきなので どう使うかはその人次第ですね。 自分は別のAPも混在して使っているので、サブ的な使い方や メインPC・端末以外の機器をつなぐなどに切り替えようと思います。
by dengel
| 2024-04-07 15:35
| ・プログラム/NW
|
Comments(0)
|
||||||||||||||||||||||||||||||||||||||||||||
ファン申請 |
||