約 2,325,393 件
https://w.atwiki.jp/ddwrt_openwrt/pages/42.html
OpenWrtで OpenVPN(3) OpenVPNのインストールと環境設定 1.パッケージのインストール openvpn-openssl をインストールします。 2.コンフィグ修正 /etc/config/openvpn を修正します。 (TUN経由,UDP利用,Serverモード) # vi /etc/config/openvpn 以下は修正したコンフィグ中で有効な行の一覧です。 デフォルトから変更した箇所にコメントを付しています。 config openvpn sample_server option enabled 1 ←有効に option port 1194 option proto udp option dev tun option ca /etc/openvpn/ca.crt option cert /etc/openvpn/server.crt option key /etc/openvpn/server.key option dh /etc/openvpn/dh1024.pem option server "192.168.9.0 255.255.255.0" ←VPNネットワーク option ifconfig_pool_persist /tmp/ipp.txt list push "route 192.168.1.0 255.255.255.0" ←LAN側ネットワーク list push "redirect-gateway def1" ←全トラフィックをVPN経由で(?) list push "dhcp-option DNS 8.8.8.8" ←不要(?) list push "dhcp-option DNS 8.8.4.4" ← 〃 option keepalive "10 120" option cipher AES-128-CBC ←デフォルトはBlowfish option comp_lzo yes option persist_key 1 option persist_tun 1 option status /tmp/openvpn-status.log option verb 3 3.証明書・鍵の格納 /etc/openvpn に以下の作成済みの証明書や鍵などをコピーします。 ca.crt CA証明書 server.crt サーバ証明書 server.key サーバ秘密鍵 dh1024.pem DHパラメータ ※server.key の権限は"600"にしておかないとOpenVPN起動時にwarningが出ます。 他のファイルも600で多分問題ないと思います。 4.OpenVPNの再起動とログの確認 LuCIの System→Startup でOpenVPNの再起動をします。 LuCIの Status→System Log でOpenVPNのログを確認します。 またはコンソールから以下のコマンドで再起動とログの確認します。 # /etc/init.d/openvpn restart # logread 接続中のクライアントは以下のログで確認できます。 # cat /tmp/openvpn-status.log -以上-
https://w.atwiki.jp/ddwrt_openwrt/pages/118.html
docker を使うと 簡単にOS環境を準備できるので、比較的楽に imagebuilder 環境を作ることができます。 OpenWrt Projectが配布している docker imageもあるのですが今回は自分で環境を作るアプローチで行きます。 ※要 Docker Hubアカウント docker の準備 Linux環境であればDocker CEを、WindowsならDocker Desktop for Windows、macならDocker Desktop for macなど、docker が使える環境を用意してください。 ホスト側準備 作業用ディレクトリを準備します。 mkdir mnt docker image 取得 docker用としてパッケージングされた ubuntu 18.04のimageをdocker hubから pullします。 docker pull ubuntu 18.04 コンテナ起動と必要コマンド準備 「IMAGEBUILDER」というコンテナ名でubuntuを起動します。 docker run -d -it --name IMAGEBUILDER -v `pwd`/mnt /mnt -w /mnt ubuntu 18.04 bash 起動したコンテナで apt-get updateとimagebuilderの前提コマンドなどをインストールします。 docker exec IMAGEBUILDER apt-get update docker exec IMAGEBUILDER apt-get install -y build-essential libncurses5-dev zlib1g-dev \ gawk git gettext libssl-dev xsltproc wget unzip python curl imagebuilderの取得と展開 コンテナ内からOpenWrt公式のimagebuilder をダウンロードして展開させます。(以下は 19.07.1、bcm53xxの例) docker exec IMAGEBUILDER bash -c "curl https //downloads.openwrt.org/releases/19.07.1/targets/bcm53xx/generic/openwrt-imagebuilder-19.07.1-bcm53xx.Linux-x86_64.tar.xz | tar Jxv -C /mnt" コンテナ内にshellで接続 docker exec -it IMAGEBUILDER bash あとは通常のlinuxでの作業同様に、 /mnt/openwrt-imagebuilder…以下に cd して makeコマンドでimageを生成してください。 マッピングしているのでホストOS側の mnt の中に imageファイルが生成されます。 作業後の後片付け docker コンテナの状態を確認し、停止させる docker ps -a docker stop IMAGEBUILDER docker ps -a 停止したdocker コンテナの削除 docker ps -a docker rm IMAGEBUILDER docker ps -a pullしたubuntu 18.04 imageが不要なら削除する docker images docker rmi ubuntu 18.04 docker images
https://w.atwiki.jp/busters/pages/21.html
WHR-G54化 なんで... DD-WRT化していろいろやっていたWLA-G54だが、openvpn設定中にflashの内容を壊してしまった。今はただの4ポートスイッチハブになっている。無線LANのAPが欲しかったためWLA-G54搭載の無線LANカードをBLR3-TX4に積んでAPにしようとしたことから始まる。 DD-WRT化してWLA-G54と同様の環境を作りたかったのだが、BLR3-TX4にDD-WRTを入れたという情報がなかった。BLR3-TX4を無線化(WHR-G54化)したという情報があったためまずはやってみる。 参照先 http //www.yamasita.jp/blr3-tx4/index.html#hacknokiroku 感謝! ファーム書き換え シリアル経由でログインし、nfs上のファームを書き込む。リブート。 BLR3-TX4 ファームは1.45 LAN側IP 192.168.1.xxx nfsサーバ IP 192.168.1.yyy ファームがある位置 /pub mount -t nfs 192.168.1.yyy /pub /mnt cat /mnt/whrg54-216.bin /dev/fl1 reboot WHR-G54化後の起動ログ No PLD model ******* Product Information ******* ---------------------------------- Product Name WHR-G54 VER 2.16 Date 2005/5/12 14 16 3 ---------------------------------- Firmware check Done. 以下、略。
https://w.atwiki.jp/soscomp/pages/229.html
Wireless Freedom OpenWRTとは 無線LANルーター向けのOS。 LaFoneraのOSやDD-WRTはこれがベースになってます。 市販のルーターに入れると搭載されている無線LANチップの機能をほぼ100%利用することができます。 LaFoneraに入れてみる ダウンロード 本家から、 openwrt-atheros-vmlinux.lzma openwrt-atheros-root.squashfs をダウンロード。 インストール La Fonera Linux化計画。を参考に この記事は7.09向けの記事のようだが、インストールに関しては8.09でも同じようにできた kamikaze 8.09@FON2100E OK kamikaze 8.09@FON2201 OK9-KEでシリアルコンソールに接続した場合、受信はできても送信ができないので、telnet経由でRedbootにアクセスするか、9-KEにプルアップ抵抗を接続してシリアルコンソールを叩く必要がある TCP/IP関連の設定をミスしてtelnetやLuCIにアクセスできなくなった場合に備えてプルアップ済みの9-KEも用意しておくといいかも 設定に関しては一部読み替えるべき箇所あり。後述 設定 root@OpenWrt /#uci set wireless.cfg2.ssid=hogehoge[Ent] これだとSSID設定できない。 vi /etc/config/wireless で中身を直接書きかえるか、 cat /etc/config/wireless でパラメータを確認してからコマンドを叩くべし。 ブラウザからLuCIにアクセスして設定した方がいいかも? パッケージマネージャ ipkgが廃止され、代わりにopkgが導入されている。 パッケージリストの更新 opkg update インストール opkg install パッケージ名 使い方はipkgとあまり変わらないようだ Rubyのインストール opkgで入れられます。 opkg install ruby こんだけでらほねらがRubyの動くLinuxボードになってしまいました。 この簡単さは拍子抜けですねぇ。 名前 コメント このページへのアクセス数 total - today - yesterday - このページのタグ一覧 LaFonera Linux WiFi OpenWRT
https://w.atwiki.jp/ddwrt_openwrt/pages/65.html
WLA-G54 WBR-G54 WLI-TX1-G54 などのシリアル通信 buffalo WLA-G54 WBR-G54 WLI-TX1-G54 など特定の世代のルータにおいて、シリアル通信ポートがない理由と、シリアル通信の機能を追加実現する仮説を、まとめてみました。 WLA-G54 WBR-G54 WLI-TX1-G54 など、初期の11g無線ルータは、 保守用のシリアルポートが、ありません。無線規格の主流が54Mbpsになる前の11b時代のルータにはシリアル通信が可能でした。またWBR2系(BCM4712)や、WHR系(BCM4704/BCM53xx系)型番など、2世代以降の11gルータも、シリアル通信が可能です。特定の世代の機種だけが、ないのです。 シリアルポートが隠されている、取り出し口がわかりにくいだけかと思い、基板を眺めるものの、見当たりません。 こんな仕様では、開発時にどうやってデバッグしてたのかと、釈然としません。 そこで、これらの製品に共通して搭載されているSoC「BCM4702」の仕様を調べました。 SoC「BCM4702」には、UART(シリアルポート)が搭載されていないことが判明しました。 プロモーション用データシートを見ると、UART機能は外付けオプションとの記載があるためです。 BCM型番の仕様一覧 Broadcom - WikiDevi https //wikidevi.com/wiki/Broadcom BCM4702 News Release | Broadcom http //www.broadcom.com/press/release.php?id=332500 BCM4702 プロモーション用 概要PDF http //wikidevi.com/files/Broadcom/BCM94702AP_BCM94710AP.pdf このPDFの「BCM94702AP System Diagram」をみると、UARTが「外付け」の扱いです。 出荷する前提の製品で、保守時にしか使わない通信機能を実装してもコストが上がるだけでメリットなし、 それならばと製品には搭載されない、という状況でした。 本体を分解してシリアル通信の基板パターンが見つからない理由は、これでした。 隠されているのでは無く、もともとのSoCから信号が存在しなかったと。 UARTを使うには、16550を取り付ければ可能 BCM4702でUARTを使用するには、シリアル通信チップである16550を、 SoCのバスにぶら下げる改造が必要です。 このチップは、大昔のAT互換機のマザーボードや、ISAバスのシリアルポート増設カードに、 当時は当たり前のように使われており、珍しい物ではありません。 が、いまは需要が激減したため、入手は中古で、しかも1990年代の相当古い製品をあたる必要があります。 Intel 386近辺のマザーボード以降は、Super IO chipという名称で、シリアル・パラレル・FDDインターフェースが 統合されたワンチップICに変化しました。おそらく今回の用途での部品取りでは使えないと思われます。 今回のような少ない需要を見込んだ、レガシーな16550を搭載した製品が、海外通販サイト等で存在することは確認しました。 これらを購入すれば、16550の入手は可能です。 そして、その16550を取り付ける改造を、実際にやってのけた凄い人が居らっしゃいます。 ASUS WL-500Gにて、16550を乗せた改造事例 BCM4702を搭載しているASUS製のブロードバンド無線ルータ WL-500Gにて、16550を実際に乗せてみて、ブートローダ「PMON」のメッセージや 通常時のシリアルデータの入出力に成功しています。 Make an expansion board with a serial port(s) for WL-500b/g http //wl500g.info/showthread.php?587-Make-an-expansion-board-with-a-serial-port%28s%29-for-WL-500b-g UART Asus WL-500G Rev 2.40 - Viaccess for Free Forums http //dvbdataex.sat-fishers.com/forum/showthread.php?t=31423 この2つのページにて、写真付きで16550を取り付けた改造事例が掲載されています。 WL-500Gには、本体の基板に20pinのコネクタが搭載されています。 -------- D0 D1 | | D2 D3 | | D4 D5 | | D6 D7 | | A0 A1 | | A2 A3 | |+5V /CS | |/RD /WR | |INT GND | | NC NC | -------- このコネクタに、16550を取り付ければ、シリアル通信を実現できるという流れです。 ルータの開発時には、おそらくここへシリアル通信用の保守治具を差し込んで デバッグしていたのでしょう。 国内buffaloモデルにも保守ポートを発見、ピン配列はASUSと異なり独自の可能性 話を国内のbuffaloモデルに戻して・・・ 上記のasus WL-500Gの改造事例を知った後、あらためてWLA-G54 WLI-TX1-G54 等の基板を眺めた結果、 20pinのコネクタがしっかり搭載されていました。 バッファローの中の人たちは、ここへ保守治具を繋いでデバッグしたわけですね。 このコネクタについて情報を調べてみると、信号の配列(ピンアサイン)は、 asusの改造事例のモデルと異なるようです。 WLA-G54の配置を解析された方が、下記ページにいらっしゃいます。 http //www.right.com.cn/forum/thread-6084-1-1.html http //wiki.openwrt.org/OpenWrtDocs/Hardware/Buffalo/WLA-G54C (現在はリンク切れ。上記ページに記載のあったURL情報) GND CE QD7 QD6 QD5 QD4 QD3 QD2 QD1 QD0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ||GND NC NC WE OE NC A3 A2 A1 A0 この用語の「OE」はasusの資料で言う「/RD」かもしれません。以下はあくまで推測ですが、 RD・・・Read Data OE・・・Output Enable WR・・・WRite data WE・・・Write Enable CS・・・Chip Select CE・・・Chip Enable という、開発者あるいはメーカー定義の方言と思われる。 QDとDも同様で、双方向で流せるデータバスという意味での方言 A0-A3はアドレスバスで、これは共通 まとめると 16550を最低限動かすための基板の制作は、ASUS WL-500gの記事を参考にする 基板へ接続するデータバス/アドレスバス/コントロール信号は、buffalo独自の配列を使用する 以上の段取りで、もしかしたらbuffaloのルータでも、シリアルポートを 使うことが可能になるのでは無いか? という仮説でした。 仮にこの接続が成功したら、WLA-G54等にて、ブートローダである CFE や PMON は生きてるけどrootFSやnvramが破損して 起動できなくなった文鎮状態を、シリアル通信経由でメンテすることが出来るようになります。
https://w.atwiki.jp/ddwrt_openwrt/pages/69.html
概要 OpenWrt/LEDEのSSH接続後のCLIコンソール上からオリジナルfirmwareへの復旧方法があります。 OpenWrt/LEDEのmtdコマンドで書き戻すことができます。 前提として、OpenWrt/LEDE上で内蔵フラッシュメモリが正しく認識されている必要があります。 Buffalo WZR-HP-AG300H、BHR-4GRV2の場合 事前のバックアップ オリジナルfirmware上で /dev/mtdblock/6 のバックアップを取得しておきます。 #dd if=/dev/mtdblock/6 of=mtd6.dd 書き戻し 1)scp等を使って /tmp に mtd6.dd をコピー scp ./mtd6.dd root@192.168.1.1 /tmp/mtd6.dd 2)mtdコマンドで書き戻し mtd write /tmp/mtdblock6.dd "firmware" cat /proc/mtd で "firmware"と表示されている領域に書き込みます。 注意点 機種やOSリビジョンによっては認識名が変わる可能性があります。その際にはmtdコマンドでの認識状況も踏まえて適切な領域に書き込みます。 誤ってbootloader領域への書き込みをしないよう十分注意して実施してください。 ddコマンドやcatコマンドでの書き戻しもできますが、ウェアレベリングなども考慮して書き込みを実施するのでmtdコマンドの方がよりbetterです。 /tmp はramdiskなのでメインメモリ128MBのWZR-HP-AG300Hや、flashサイズが16MBと小さい4GRV2では/tmpにバックアップファイルをコピーしても大丈夫ですが、BHR-4GRVやWZR-HP-G300N系では容量不足で失敗します。USBメモリを有効にしてそちらに置いたバックアップから書き戻すか、内容を分割して転送&書き込みをするなどしてください。
https://w.atwiki.jp/soscomp/pages/39.html
「ただの無線ルーターには興味ありません(ry」 - 涼宮総司令 売ってる場所 hack標準ファームウェアでのhack DD-WRT OpenWRT 周辺機器 その他 売ってる場所 ツクモ名古屋1号店、7号店の両方に置いてあります 7号店閉鎖中orz ネットショップはたまに割引やってるよ ビックカメラ名古屋駅西店8/24に行ってみたら置いてあった わかりにくい場所にあるので、店員捕まえて探させるのが賢いやり方 アマゾン1980円だから送料無料だし、たまに安売りもやってくれる hack LaFoneraはLinux搭載のWiFiルーターなので、見方を変えれば1980円で買えてWiFiまでついてるLinuxボードです。 普通この手の製品(評価ボードと言われる類のもの)は3万円以上するので、大変お得です。 FON本部としても、改造はおkらしいので、どんどんやっちゃいましょう。 ただし、ハードウェアの改造は日本の電波法に抵触する恐れがあるので注意。 ソフトの書き換えだけならWindowsのノートパソコンにLinuxを入れるのと一緒なので、問題無いと考えられます。 標準ファームウェアでのhack SSH2ログインできるようにする方法とか(外部) La Fonera を無線LAN 端末として使ってみる(外部) La Fonera をディスクレス (flash less) ブートする LaFonera on OpenWRT(外部) FONのGPIOを叩いてLEDとか制御するよ!(外部) DD-WRT LaFoneraにDD-WRTをインストール DD-WRT化したLaFonera 3台をWDSで接続して、ネットワークを中継するみみなしが行った実験 La FoneraでDD-WRT - mixiコミュコミュマスは凄腕美少女hacker莉菜氏(自称腐女子) 男顔負けのすんごい技術力を持った方です OpenWRT OpenWRTを参照のこと 周辺機器 MC003 マイクロ デュアル シリアル モータコントローラ TTLレベルのシリアル入力を受け付けてモーターを制御できるスグレモノ。 電流値は1Aまでなので、模型用のモーターを駆動するにはぴったりじゃないか。 これ1枚で3kは決して安くはないが、2980円のArduinoぶら下げて、さらにモーターコントロールICを繋ぐことを考えると全然安い。 その他 Fon(Fonera)でrubyを動かす(外部) Fonera仕様一覧っぽい 名前 コメント このページへのアクセス数 total - today - yesterday - このページのタグ一覧 Linux 組み込み Fon
https://w.atwiki.jp/ddwrt_openwrt/pages/53.html
LTE/3G USBドングルでのWAN接続/(1)動作環境 openwrtで、LTEモデム L-02C を使う 今回使用したハードウェア ルータ [[WZR-HP-G301NH]] (異なる基板が複数あるようだが、私の個体は、[[WZR-HP-G300NH]]と同一基板) ルータOS openwrt15.05 モデム ドコモ L-02C LTE回線のSIM PanasonicMVNO wonderlink-i (IIJ系、プライベートIPアドレス付与) DOCOMO純正契約回線にて、mopera.netをつかった通信 WZR-HP-G301NHへopenwrt導入手順 純正状態で、otdpopyして、telnetdを起動して、外からtelnetでつないで、ddで純正状態をバックアップした ubootenv set accept_open_rt_fmt 1 ubootenv set tftp_wait 10 ubootenv set region US を念のため入れた。(文鎮になったときに復旧しやすくするため。USは不要だったかもしれない) そのあと、otdpopyで入室したときにだけ出てくる管理画面の裏ページで、FirmUpdateをクリックして、 以下のfactoryイメージを流し込んで、数分待機する。 openwrt-15.05-ar71xx-generic-wzr-hp-g300nh-squashfs-factory.bin 192.168.1.xでDHCPクライアントでIPアドレスをもらえるようになり、一発で導入成功 なお、純正の「ファームウェアアップデート」のページを使った場合「ファームウェアデータが正しくありません」とでて導入できなかった 3Gモデムを使うための、超簡単な導入手順 telnetなりsshなりでルータへログインして、以下を実行 opkg install luci-proto-3g usbutils kmod-usb-serial kmod-usb-serial-option kmod-usb-serial-wwan usb-modeswitch usb-modeswitch-data WebUIからapnを設定する 以上で終わり。電源投入直後から接続はできるが、電波状況の不調などが起きて、いったん回線が途切れた場合は、再接続ができない。 現在の問題点 接続を手動で切断することはできるが、そのあとに再接続することができない。 以下は、私が奮闘した詳細記録 単純にL-02Cを使いたいだけなら上記「超簡単な導入手順」だけ読めば足りる。 準備作業 opkgで必要なソフトを入れる LuCIのWeb管理画面から、apnやIDPW等を簡単に入力できるようにするため、以下を入れる opkg install luci-proto-3g Installing luci-proto-3g (git-15.248.30277-3836b45-1) to root... Downloading http //downloads.openwrt.org/chaos_calmer/15.05/ar71xx/generic/packages/luci/luci-proto-3g_git-15.248.30277-3836b45-1_all.ipk. Installing comgt (0.32-25) to root... Downloading http //downloads.openwrt.org/chaos_calmer/15.05/ar71xx/generic/packages/base/comgt_0.32-25_ar71xx.ipk. Installing chat (2.4.7-6) to root... Downloading http //downloads.openwrt.org/chaos_calmer/15.05/ar71xx/generic/packages/base/chat_2.4.7-6_ar71xx.ipk. Configuring chat. Configuring comgt. Configuring luci-proto-3g. これを導入したあと、LuCIの管理画面で、ネットワーク、インターフェースの新規作成を開くと、 新しいインターフェースのプロトコルの選択肢で、UMTS/GPRS/EV-DOが存在するようになり、 3Gモデムとしての設定を選択できるようになる。 しかし、今の状態では、USBシリアル変換のkmodが入っていないため、 モデムの接続先である /dev/ttyUSBx が1つも存在しないため、設定を完走できない。 以下を入れる。今回は順を追って記述しているが、面倒なら、最初に全部入れてしまってもよい。 opkg install usbutils kmod-usb-serial これだけでは、/dev/ttyUSBXがでない。さらに追加で以下を入れる。 opkg install kmod-usb-serial-option kmod-usb-serial-wwan usb-modeswitch usb-modeswitch-data opkgの設定が完了した段階で、ルータを再起動しない状態でも、すでに/dev/ttyUSB0,1,2,3が認識されてた。 これがL-02Cの出入り口となる。おそらくファームウェアのアップデート用など用途別に4つ認識されるが、 モデムデバイスは /dev/ttyUSB2 となる。 ls -l /dev | grep ttyUSB といれて、デバイスが出れば、正常に認識されている。 当方の環境では、以下のように出る root@WZR-HP-G301NH-OpenWrt15 /# lsusb Bus 001 Device 003 ID 1004 618f Bus 001 Device 001 ID 1d6b 0002 root@WZR-HP-G301NH-OpenWrt15 /# ls -l /dev | grep ttyUSB crw-r--r-- 1 root root 188, 0 Mar 10 17 46 ttyUSB0 crw-r--r-- 1 root root 188, 1 Mar 10 17 46 ttyUSB1 crw-r--r-- 1 root root 188, 2 Mar 10 18 32 ttyUSB2 crw-r--r-- 1 root root 188, 3 Mar 10 17 46 ttyUSB3 ここまで来ると、LuCIの管理画面で入力すべき全情報が揃うので、 モデムデバイス /dev/ttyUSB2を指定して、apn等のデータを入れる。 必要なapn,ID,PWをいれて、ダイヤル先として *99***1# を指定した結果、 MVNO(Panasonic wonderLink-I IIJ系のMVNO)で通信できた。 今回はLuCIのわかりやすいWebUIをつかって設定をしたが、 /etc/config/netoworkに追加される情報は以下の通り。これを手動で入力しても同じ効果となる。 config interface '3g' option proto '3g' option device '/dev/ttyUSB2' option service 'umts_only' option apn 'vmobile.jp' option username 'wl@wlte.net' option password 'p123456w' option dialnumber '*99***1#' option metric '0' option keepalive '3 30' option demand '0' 「option keepalive」は、たぶん応答不能時の再接続機能と理解した。 回線が生きてるかどうかを30秒間隔で生存確認して、3回失敗したら再接続モードに入る、はず。 なお、上記のluci-proto-3gを入れる前に、opkgをつかって「comgt」を入れた場合、 root@WZR-HP-G301NH-OpenWrt15 /# opkg install --force-depends luci-proto-3g Installing luci-proto-3g (git-15.248.30277-3836b45-1) to root... Downloading http //downloads.openwrt.org/chaos_calmer/15.05/ar71xx/generic/packages/luci/luci-proto-3g_git-15.248.30277-3836b45-1_all.ipk. Configuring luci-proto-3g. Collected errors * satisfy_dependencies_for Cannot satisfy the following dependencies for luci-proto-3g * comgt * というエラーが出て、依存関係のエラーで、luci-proto-3gを追加できなくなる。 「--force-depends」をつけても、エラーになってしまい続行できなかった。 この状態になってしまうと、opkg remove comgt をやっても、comgtは入ってないよ、といわれて removeができなかった。 仕方が無いので今回は、直前にバックアップしていた/overlay全体のtar.gzをつかって、 opkgでcomgtをいれてないときまで巻き戻した。バックアップをしていない場合は初期化するのが早いと思う。 巻き戻した後、「luci-proto-3g」を導入し、その後にUSBシリアル変換関連のパッケージを導入して、 正常動作を確認できた。 ここからは、接続している状態で、切断と再接続の挙動記録 電源を投入して、L-02Cのダイヤルアップが自動で走って完了し、正常な状態のとき、 ifdown 3g を実行する。 とたんに、以下のログが出る root@WZR-HP-G301NH-OpenWrt15 /# logread -f Thu Mar 10 17 39 39 2016 daemon.info pppd[1598] Terminating on signal 15 Thu Mar 10 17 39 39 2016 daemon.info pppd[1598] Connect time 1.7 minutes. Thu Mar 10 17 39 39 2016 daemon.info pppd[1598] Sent 1681 bytes, received 910 bytes. Thu Mar 10 17 39 39 2016 daemon.notice netifd Network device '3g-3g' link is down Thu Mar 10 17 39 39 2016 daemon.notice pppd[1598] Connection terminated. Thu Mar 10 17 39 39 2016 daemon.info pppd[1598] Exit. Thu Mar 10 17 39 39 2016 daemon.notice netifd Interface '3g' is now down Thu Mar 10 17 39 39 2016 daemon.info dnsmasq[1690] reading /tmp/resolv.conf.auto Thu Mar 10 17 39 39 2016 daemon.info dnsmasq[1690] using local addresses only for domain lan Thu Mar 10 17 39 39 2016 daemon.info dnsmasq[1690] using nameserver 192.168.XXX.1#53 ifup 3g を実行すると、以下のようにエラーが延々と続く。 Thu Mar 10 17 41 12 2016 daemon.notice netifd Interface '3g' is setting up now Thu Mar 10 17 41 14 2016 daemon.notice pppd[2201] pppd 2.4.7 started by root, uid 0 Thu Mar 10 17 41 15 2016 local2.info chat[2203] abort on (BUSY) Thu Mar 10 17 41 15 2016 local2.info chat[2203] abort on (NO CARRIER) Thu Mar 10 17 41 15 2016 local2.info chat[2203] abort on (ERROR) Thu Mar 10 17 41 15 2016 local2.info chat[2203] report (CONNECT) Thu Mar 10 17 41 15 2016 local2.info chat[2203] timeout set to 10 seconds Thu Mar 10 17 41 15 2016 local2.info chat[2203] send (AT F^M) Thu Mar 10 17 41 15 2016 local2.info chat[2203] expect (OK) Thu Mar 10 17 41 15 2016 local2.info chat[2203] AT F^M^M Thu Mar 10 17 41 15 2016 local2.info chat[2203] OK Thu Mar 10 17 41 15 2016 local2.info chat[2203] -- got it Thu Mar 10 17 41 15 2016 local2.info chat[2203] send (ATE1^M) Thu Mar 10 17 41 15 2016 local2.info chat[2203] expect (OK) Thu Mar 10 17 41 15 2016 local2.info chat[2203] ^M Thu Mar 10 17 41 15 2016 local2.info chat[2203] ATE1^M^M Thu Mar 10 17 41 15 2016 local2.info chat[2203] OK Thu Mar 10 17 41 15 2016 local2.info chat[2203] -- got it Thu Mar 10 17 41 15 2016 local2.info chat[2203] send (AT+CGDCONT=1,"IP","vmobile.jp"^M) Thu Mar 10 17 41 15 2016 local2.info chat[2203] timeout set to 30 seconds Thu Mar 10 17 41 15 2016 local2.info chat[2203] expect (OK) Thu Mar 10 17 41 15 2016 local2.info chat[2203] ^M Thu Mar 10 17 41 15 2016 local2.info chat[2203] AT+CGDCONT=1,"IP","vmobile.jp"^M^M Thu Mar 10 17 41 15 2016 local2.info chat[2203] OK Thu Mar 10 17 41 15 2016 local2.info chat[2203] -- got it Thu Mar 10 17 41 15 2016 local2.info chat[2203] send (ATD*99***1#^M) Thu Mar 10 17 41 16 2016 local2.info chat[2203] expect (CONNECT) Thu Mar 10 17 41 16 2016 local2.info chat[2203] ^M Thu Mar 10 17 41 16 2016 local2.info chat[2203] ATD*99***1#^M^M Thu Mar 10 17 41 16 2016 local2.info chat[2203] ERROR Thu Mar 10 17 41 16 2016 local2.info chat[2203] -- failed Thu Mar 10 17 41 16 2016 local2.info chat[2203] Failed (ERROR) Thu Mar 10 17 41 16 2016 daemon.err pppd[2201] Connect script failed Thu Mar 10 17 41 17 2016 daemon.info pppd[2201] Exit. Thu Mar 10 17 41 17 2016 daemon.notice netifd Interface '3g' is now down Thu Mar 10 17 41 17 2016 daemon.notice netifd Interface '3g' is setting up now Thu Mar 10 17 41 19 2016 daemon.notice pppd[2223] pppd 2.4.7 started by root, uid 0 Thu Mar 10 17 41 20 2016 local2.info chat[2225] abort on (BUSY) Thu Mar 10 17 41 20 2016 local2.info chat[2225] abort on (NO CARRIER) Thu Mar 10 17 41 20 2016 local2.info chat[2225] abort on (ERROR) Thu Mar 10 17 41 20 2016 local2.info chat[2225] report (CONNECT) Thu Mar 10 17 41 20 2016 local2.info chat[2225] timeout set to 10 seconds Thu Mar 10 17 41 20 2016 local2.info chat[2225] send (AT F^M) Thu Mar 10 17 41 20 2016 local2.info chat[2225] expect (OK) Thu Mar 10 17 41 20 2016 local2.info chat[2225] AT F^M^M Thu Mar 10 17 41 20 2016 local2.info chat[2225] OK Thu Mar 10 17 41 20 2016 local2.info chat[2225] -- got it Thu Mar 10 17 41 20 2016 local2.info chat[2225] send (ATE1^M) Thu Mar 10 17 41 20 2016 local2.info chat[2225] expect (OK) Thu Mar 10 17 41 20 2016 local2.info chat[2225] ^M Thu Mar 10 17 41 20 2016 local2.info chat[2225] ATE1^M^M Thu Mar 10 17 41 20 2016 local2.info chat[2225] OK Thu Mar 10 17 41 20 2016 local2.info chat[2225] -- got it Thu Mar 10 17 41 20 2016 local2.info chat[2225] send (AT+CGDCONT=1,"IP","vmobile.jp"^M) Thu Mar 10 17 41 20 2016 local2.info chat[2225] timeout set to 30 seconds Thu Mar 10 17 41 20 2016 local2.info chat[2225] expect (OK) Thu Mar 10 17 41 20 2016 local2.info chat[2225] ^M Thu Mar 10 17 41 20 2016 local2.info chat[2225] AT+CGDCONT=1,"IP","vmobile.jp"^M^M Thu Mar 10 17 41 20 2016 local2.info chat[2225] OK Thu Mar 10 17 41 20 2016 local2.info chat[2225] -- got it Thu Mar 10 17 41 20 2016 local2.info chat[2225] send (ATD*99***1#^M) Thu Mar 10 17 41 20 2016 local2.info chat[2225] expect (CONNECT) Thu Mar 10 17 41 20 2016 local2.info chat[2225] ^M Thu Mar 10 17 41 20 2016 local2.info chat[2225] ATD*99***1#^M^M Thu Mar 10 17 41 20 2016 local2.info chat[2225] ERROR Thu Mar 10 17 41 20 2016 local2.info chat[2225] -- failed Thu Mar 10 17 41 20 2016 local2.info chat[2225] Failed (ERROR) Thu Mar 10 17 41 20 2016 daemon.err pppd[2223] Connect script failed Thu Mar 10 17 41 21 2016 daemon.info pppd[2223] Exit. Thu Mar 10 17 41 21 2016 daemon.notice netifd Interface '3g' is now down Thu Mar 10 17 41 21 2016 daemon.notice netifd Interface '3g' is setting up now Thu Mar 10 17 41 23 2016 daemon.notice pppd[2245] pppd 2.4.7 started by root, uid 0 Thu Mar 10 17 41 24 2016 local2.info chat[2247] abort on (BUSY) Thu Mar 10 17 41 24 2016 local2.info chat[2247] abort on (NO CARRIER) Thu Mar 10 17 41 24 2016 local2.info chat[2247] abort on (ERROR) Thu Mar 10 17 41 24 2016 local2.info chat[2247] report (CONNECT) Thu Mar 10 17 41 24 2016 local2.info chat[2247] timeout set to 10 seconds Thu Mar 10 17 41 24 2016 local2.info chat[2247] send (AT F^M) Thu Mar 10 17 41 24 2016 local2.info chat[2247] expect (OK) Thu Mar 10 17 41 24 2016 local2.info chat[2247] AT F^M^M Thu Mar 10 17 41 24 2016 local2.info chat[2247] OK Thu Mar 10 17 41 24 2016 local2.info chat[2247] -- got it Thu Mar 10 17 41 24 2016 local2.info chat[2247] send (ATE1^M) Thu Mar 10 17 41 24 2016 local2.info chat[2247] expect (OK) Thu Mar 10 17 41 24 2016 local2.info chat[2247] ^M Thu Mar 10 17 41 24 2016 local2.info chat[2247] ATE1^M^M Thu Mar 10 17 41 24 2016 local2.info chat[2247] OK Thu Mar 10 17 41 24 2016 local2.info chat[2247] -- got it Thu Mar 10 17 41 24 2016 local2.info chat[2247] send (AT+CGDCONT=1,"IP","vmobile.jp"^M) Thu Mar 10 17 41 24 2016 local2.info chat[2247] timeout set to 30 seconds Thu Mar 10 17 41 24 2016 local2.info chat[2247] expect (OK) Thu Mar 10 17 41 24 2016 local2.info chat[2247] ^M Thu Mar 10 17 41 24 2016 local2.info chat[2247] AT+CGDCONT=1,"IP","vmobile.jp"^M^M Thu Mar 10 17 41 24 2016 local2.info chat[2247] OK Thu Mar 10 17 41 24 2016 local2.info chat[2247] -- got it Thu Mar 10 17 41 24 2016 local2.info chat[2247] send (ATD*99***1#^M) Thu Mar 10 17 41 25 2016 local2.info chat[2247] expect (CONNECT) Thu Mar 10 17 41 25 2016 local2.info chat[2247] ^M Thu Mar 10 17 41 25 2016 local2.info chat[2247] ATD*99***1#^M^M Thu Mar 10 17 41 25 2016 local2.info chat[2247] ERROR Thu Mar 10 17 41 25 2016 local2.info chat[2247] -- failed Thu Mar 10 17 41 25 2016 local2.info chat[2247] Failed (ERROR) Thu Mar 10 17 41 25 2016 daemon.err pppd[2245] Connect script failed Thu Mar 10 17 41 26 2016 daemon.info pppd[2245] Exit. Thu Mar 10 17 41 26 2016 daemon.notice netifd Interface '3g' is now down Thu Mar 10 17 41 26 2016 daemon.notice netifd Interface '3g' is setting up now Thu Mar 10 17 41 28 2016 daemon.notice pppd[2267] pppd 2.4.7 started by root, uid 0 Thu Mar 10 17 41 29 2016 local2.info chat[2269] abort on (BUSY) Thu Mar 10 17 41 29 2016 local2.info chat[2269] abort on (NO CARRIER) Thu Mar 10 17 41 29 2016 local2.info chat[2269] abort on (ERROR) Thu Mar 10 17 41 29 2016 local2.info chat[2269] report (CONNECT) Thu Mar 10 17 41 29 2016 local2.info chat[2269] timeout set to 10 seconds Thu Mar 10 17 41 29 2016 local2.info chat[2269] send (AT F^M) Thu Mar 10 17 41 29 2016 local2.info chat[2269] expect (OK) Thu Mar 10 17 41 29 2016 local2.info chat[2269] AT F^M^M Thu Mar 10 17 41 29 2016 local2.info chat[2269] OK Thu Mar 10 17 41 29 2016 local2.info chat[2269] -- got it Thu Mar 10 17 41 29 2016 local2.info chat[2269] send (ATE1^M) Thu Mar 10 17 41 29 2016 local2.info chat[2269] expect (OK) Thu Mar 10 17 41 29 2016 local2.info chat[2269] ^M Thu Mar 10 17 41 29 2016 local2.info chat[2269] ATE1^M^M Thu Mar 10 17 41 29 2016 local2.info chat[2269] OK Thu Mar 10 17 41 29 2016 local2.info chat[2269] -- got it Thu Mar 10 17 41 29 2016 local2.info chat[2269] send (AT+CGDCONT=1,"IP","vmobile.jp"^M) Thu Mar 10 17 41 29 2016 local2.info chat[2269] timeout set to 30 seconds Thu Mar 10 17 41 29 2016 local2.info chat[2269] expect (OK) Thu Mar 10 17 41 29 2016 local2.info chat[2269] ^M Thu Mar 10 17 41 29 2016 local2.info chat[2269] AT+CGDCONT=1,"IP","vmobile.jp"^M^M Thu Mar 10 17 41 29 2016 local2.info chat[2269] OK Thu Mar 10 17 41 29 2016 local2.info chat[2269] -- got it Thu Mar 10 17 41 29 2016 local2.info chat[2269] send (ATD*99***1#^M) Thu Mar 10 17 41 29 2016 local2.info chat[2269] expect (CONNECT) Thu Mar 10 17 41 29 2016 local2.info chat[2269] ^M Thu Mar 10 17 41 29 2016 local2.info chat[2269] ATD*99***1#^M^M Thu Mar 10 17 41 29 2016 local2.info chat[2269] ERROR Thu Mar 10 17 41 29 2016 local2.info chat[2269] -- failed Thu Mar 10 17 41 29 2016 local2.info chat[2269] Failed (ERROR) Thu Mar 10 17 41 29 2016 daemon.err pppd[2267] Connect script failed Thu Mar 10 17 41 30 2016 daemon.info pppd[2267] Exit. Thu Mar 10 17 41 30 2016 daemon.notice netifd Interface '3g' is now down これ以下、同じエラー状態が、延々とループされる USBバスから、L-02Cを引っこ抜く Thu Mar 10 17 41 39 2016 daemon.notice netifd Interface '3g' is now down Thu Mar 10 17 41 39 2016 daemon.notice netifd Interface '3g' is setting up now Thu Mar 10 17 41 41 2016 daemon.notice pppd[2333] pppd 2.4.7 started by root, uid 0 Thu Mar 10 17 41 42 2016 kern.info kernel [ 258.180000] usb 1-1 USB disconnect, device number 2 Thu Mar 10 17 41 42 2016 kern.info kernel [ 258.180000] option1 ttyUSB0 GSM modem (1-port) converter now disconnected from ttyUSB0 Thu Mar 10 17 41 42 2016 kern.info kernel [ 258.190000] option 1-1 1.0 device disconnected Thu Mar 10 17 41 42 2016 kern.info kernel [ 258.190000] option1 ttyUSB1 GSM modem (1-port) converter now disconnected from ttyUSB1 Thu Mar 10 17 41 42 2016 kern.info kernel [ 258.200000] option 1-1 1.1 device disconnected Thu Mar 10 17 41 42 2016 kern.err kernel [ 258.220000] option1 ttyUSB2 usb_wwan_indat_callback resubmit read urb failed. (-19) Thu Mar 10 17 41 42 2016 kern.err kernel [ 258.220000] option1 ttyUSB2 usb_wwan_indat_callback resubmit read urb failed. (-19) Thu Mar 10 17 41 42 2016 kern.err kernel [ 258.230000] option1 ttyUSB2 usb_wwan_indat_callback resubmit read urb failed. (-19) Thu Mar 10 17 41 42 2016 kern.err kernel [ 258.240000] option1 ttyUSB2 usb_wwan_indat_callback resubmit read urb failed. (-19) Thu Mar 10 17 41 42 2016 kern.info kernel [ 258.280000] option1 ttyUSB2 GSM modem (1-port) converter now disconnected from ttyUSB2 Thu Mar 10 17 41 42 2016 kern.info kernel [ 258.280000] option 1-1 1.2 device disconnected Thu Mar 10 17 41 42 2016 kern.info kernel [ 258.290000] option1 ttyUSB3 GSM modem (1-port) converter now disconnected from ttyUSB3 Thu Mar 10 17 41 42 2016 kern.info kernel [ 258.300000] option 1-1 1.3 device disconnected Thu Mar 10 17 41 42 2016 local2.err chat[2358] Can't get terminal parameters Input/output error Thu Mar 10 17 41 42 2016 daemon.err pppd[2333] Connect script failed Thu Mar 10 17 41 43 2016 daemon.info pppd[2333] Exit. Thu Mar 10 17 41 43 2016 daemon.notice netifd Interface '3g' is now down Thu Mar 10 17 41 43 2016 daemon.notice netifd Interface '3g' is setting up now Thu Mar 10 17 41 44 2016 daemon.notice netifd Interface '3g' is now down ここでログの出力が途切れて落ち着く L-02Cを、再度差し込む Thu Mar 10 17 46 16 2016 kern.info kernel [ 532.600000] usb 1-1 GSM modem (1-port) converter now attached to ttyUSB3 Thu Mar 10 17 46 19 2016 daemon.notice netifd Interface '3g' is setting up now Thu Mar 10 17 46 21 2016 daemon.notice pppd[2723] pppd 2.4.7 started by root, uid 0 Thu Mar 10 17 46 22 2016 local2.info chat[2725] abort on (BUSY) Thu Mar 10 17 46 22 2016 local2.info chat[2725] abort on (NO CARRIER) Thu Mar 10 17 46 22 2016 local2.info chat[2725] abort on (ERROR) Thu Mar 10 17 46 22 2016 local2.info chat[2725] report (CONNECT) Thu Mar 10 17 46 22 2016 local2.info chat[2725] timeout set to 10 seconds Thu Mar 10 17 46 22 2016 local2.info chat[2725] send (AT F^M) Thu Mar 10 17 46 22 2016 local2.info chat[2725] expect (OK) Thu Mar 10 17 46 22 2016 local2.info chat[2725] AT F^M^M Thu Mar 10 17 46 22 2016 local2.info chat[2725] OK Thu Mar 10 17 46 22 2016 local2.info chat[2725] -- got it Thu Mar 10 17 46 22 2016 local2.info chat[2725] send (ATE1^M) Thu Mar 10 17 46 22 2016 local2.info chat[2725] expect (OK) Thu Mar 10 17 46 22 2016 local2.info chat[2725] ^M Thu Mar 10 17 46 22 2016 local2.info chat[2725] ATE1^M^M Thu Mar 10 17 46 22 2016 local2.info chat[2725] OK Thu Mar 10 17 46 22 2016 local2.info chat[2725] -- got it Thu Mar 10 17 46 22 2016 local2.info chat[2725] send (AT+CGDCONT=1,"IP","vmobile.jp"^M) Thu Mar 10 17 46 22 2016 local2.info chat[2725] timeout set to 30 seconds Thu Mar 10 17 46 22 2016 local2.info chat[2725] expect (OK) Thu Mar 10 17 46 22 2016 local2.info chat[2725] ^M Thu Mar 10 17 46 22 2016 local2.info chat[2725] AT+CGDCONT=1,"IP","vmobile.jp"^M^M Thu Mar 10 17 46 22 2016 local2.info chat[2725] OK Thu Mar 10 17 46 22 2016 local2.info chat[2725] -- got it Thu Mar 10 17 46 22 2016 local2.info chat[2725] send (ATD*99***1#^M) Thu Mar 10 17 46 22 2016 local2.info chat[2725] expect (CONNECT) Thu Mar 10 17 46 22 2016 local2.info chat[2725] ^M Thu Mar 10 17 46 22 2016 local2.info chat[2725] ATD*99***1#^M^M Thu Mar 10 17 46 22 2016 local2.info chat[2725] CONNECT Thu Mar 10 17 46 22 2016 local2.info chat[2725] -- got it Thu Mar 10 17 46 22 2016 local2.info chat[2725] send ( ^M) Thu Mar 10 17 46 22 2016 daemon.info pppd[2723] Serial connection established. Thu Mar 10 17 46 22 2016 daemon.info pppd[2723] Using interface 3g-3g Thu Mar 10 17 46 22 2016 daemon.notice pppd[2723] Connect 3g-3g -- /dev/ttyUSB2 Thu Mar 10 17 46 22 2016 kern.info kernel [ 538.970000] 3g-3g renamed from ppp0 Thu Mar 10 17 46 23 2016 daemon.info pppd[2723] CHAP authentication succeeded Thu Mar 10 17 46 23 2016 daemon.notice pppd[2723] CHAP authentication succeeded Thu Mar 10 17 46 25 2016 daemon.warn pppd[2723] Could not determine remote IP address defaulting to 10.64.64.64 Thu Mar 10 17 46 25 2016 daemon.notice pppd[2723] local IP address 100.92.150.5 Thu Mar 10 17 46 25 2016 daemon.notice pppd[2723] remote IP address 10.64.64.64 Thu Mar 10 17 46 25 2016 daemon.notice pppd[2723] primary DNS address 202.232.2.2 Thu Mar 10 17 46 25 2016 daemon.notice pppd[2723] secondary DNS address 202.232.2.3 Thu Mar 10 17 46 25 2016 daemon.notice netifd Network device '3g-3g' link is up Thu Mar 10 17 46 25 2016 daemon.notice netifd Interface '3g' is now up Thu Mar 10 17 46 25 2016 daemon.info dnsmasq[1690] reading /tmp/resolv.conf.auto Thu Mar 10 17 46 25 2016 daemon.info dnsmasq[1690] using local addresses only for domain lan Thu Mar 10 17 46 25 2016 daemon.info dnsmasq[1690] using nameserver 202.232.2.2#53 Thu Mar 10 17 46 25 2016 daemon.info dnsmasq[1690] using nameserver 202.232.2.3#53 Thu Mar 10 17 46 25 2016 daemon.info dnsmasq[1690] using nameserver 192.168.XXX.1#53 Thu Mar 10 17 46 25 2016 user.notice firewall Reloading firewall due to ifup of 3g (3g-3g) ここでログの出力が途切れて落ち着く 別の実験。LuCIの管理画面で、インターフェース「3G」項目で「停止」「開始」を押したときの挙動 接続が完了している状態で「停止」をおす Thu Mar 10 18 12 00 2016 daemon.info pppd[2723] Terminating on signal 15 Thu Mar 10 18 12 00 2016 daemon.info pppd[2723] Connect time 25.6 minutes. Thu Mar 10 18 12 00 2016 daemon.info pppd[2723] Sent 1776 bytes, received 1462 bytes. Thu Mar 10 18 12 00 2016 daemon.notice pppd[2723] Connection terminated. Thu Mar 10 18 12 00 2016 daemon.notice netifd Network device '3g-3g' link is down Thu Mar 10 18 12 00 2016 daemon.info pppd[2723] Exit. Thu Mar 10 18 12 00 2016 daemon.notice netifd Interface '3g' is now down Thu Mar 10 18 12 00 2016 daemon.info dnsmasq[1690] reading /tmp/resolv.conf.auto Thu Mar 10 18 12 00 2016 daemon.info dnsmasq[1690] using local addresses only for domain lan Thu Mar 10 18 12 00 2016 daemon.info dnsmasq[1690] using nameserver 192.168.XXX.1#53 インターフェースの3Gアイコンは、色のついた状態から灰色になり、 RX 0.00 B (0 パケット) TX 0.00 B (0 パケット)となる。 ここで、「開始」をおす Thu Mar 10 18 12 50 2016 daemon.notice netifd Interface '3g' is setting up now Thu Mar 10 18 12 52 2016 daemon.notice pppd[3037] pppd 2.4.7 started by root, uid 0 Thu Mar 10 18 12 53 2016 local2.info chat[3039] abort on (BUSY) Thu Mar 10 18 12 53 2016 local2.info chat[3039] abort on (NO CARRIER) Thu Mar 10 18 12 53 2016 local2.info chat[3039] abort on (ERROR) Thu Mar 10 18 12 53 2016 local2.info chat[3039] report (CONNECT) Thu Mar 10 18 12 53 2016 local2.info chat[3039] timeout set to 10 seconds Thu Mar 10 18 12 53 2016 local2.info chat[3039] send (AT F^M) Thu Mar 10 18 12 53 2016 local2.info chat[3039] expect (OK) Thu Mar 10 18 12 53 2016 local2.info chat[3039] AT F^M^M Thu Mar 10 18 12 53 2016 local2.info chat[3039] OK Thu Mar 10 18 12 53 2016 local2.info chat[3039] -- got it Thu Mar 10 18 12 53 2016 local2.info chat[3039] send (ATE1^M) Thu Mar 10 18 12 53 2016 local2.info chat[3039] expect (OK) Thu Mar 10 18 12 53 2016 local2.info chat[3039] ^M Thu Mar 10 18 12 53 2016 local2.info chat[3039] ATE1^M^M Thu Mar 10 18 12 53 2016 local2.info chat[3039] OK Thu Mar 10 18 12 53 2016 local2.info chat[3039] -- got it Thu Mar 10 18 12 53 2016 local2.info chat[3039] send (AT+CGDCONT=1,"IP","vmobile.jp"^M) Thu Mar 10 18 12 53 2016 local2.info chat[3039] timeout set to 30 seconds Thu Mar 10 18 12 53 2016 local2.info chat[3039] expect (OK) Thu Mar 10 18 12 53 2016 local2.info chat[3039] ^M Thu Mar 10 18 12 53 2016 local2.info chat[3039] AT+CGDCONT=1,"IP","vmobile.jp"^M^M Thu Mar 10 18 12 53 2016 local2.info chat[3039] OK Thu Mar 10 18 12 53 2016 local2.info chat[3039] -- got it Thu Mar 10 18 12 53 2016 local2.info chat[3039] send (ATD*99***1#^M) Thu Mar 10 18 12 53 2016 local2.info chat[3039] expect (CONNECT) Thu Mar 10 18 12 53 2016 local2.info chat[3039] ^M Thu Mar 10 18 12 53 2016 local2.info chat[3039] ATD*99***1#^M^M Thu Mar 10 18 12 53 2016 local2.info chat[3039] ERROR Thu Mar 10 18 12 53 2016 local2.info chat[3039] -- failed Thu Mar 10 18 12 53 2016 local2.info chat[3039] Failed (ERROR) Thu Mar 10 18 12 53 2016 daemon.err pppd[3037] Connect script failed Thu Mar 10 18 12 54 2016 daemon.info pppd[3037] Exit. Thu Mar 10 18 12 55 2016 daemon.notice netifd Interface '3g' is now down Thu Mar 10 18 12 55 2016 daemon.notice netifd Interface '3g' is setting up now 開始を押しても、アイコンは灰色のままで、復旧してくれない。 この症状は、telnet上から手動でifdown 3g /ifup 3g したときと、全く同じだ。 問題点まとめ USBポート付きルータ + openwrt + L-02Cをつかって、基本的なデータ通信はできる。 ただしいったん途切れるとリブートするまで再接続できない。 LuCIの管理画面で停止と開始をおこなう、あるいはtelnetやシェルスクリプト上で 手動でifdown/ifupを行うと、リブートするまで、再接続できなくなる。 本体をリブートするか、L-02Cを抜き取ったと認識される状況になれば、再接続ができる。 gpioの制御コマンドを使ってUSBの電源を切断/接続のできるWZR-HP-AG300H等であれば、 スクリプトを組んで、リブートさせずに、手動で再認識させることはできる。 切断と再接続のスクリプト例 (anonymous[sage] 投稿日:2014/10/25(土) 11 52 45.07 氏 制作) ifdown 3g echo 0 /sys/devices/virtual/gpio/gpio2/value sleep 2 echo 1 /sys/devices/virtual/gpio/gpio2/value ifup 3g できれば、リブートやUSBの切断を行わずに再接続させたいが、やりかたがわからない。 20160712追記。問題点解決への道。再接続方法(ほぼ問題なく動いている) USB接続されたモデムのシリアルポートに対して、自動制御というか 半自動オートパイロット的なやりとりを実現しているのは chatという拡張子のスクリプトが実現していることがわかりました。 以下の場所に、3Gモデムを接続するまでのスクリプトの実体が入っていました。 /etc/chatscripts/3g.chat 内容は以下の通り。 ABORT BUSY ABORT 'NO CARRIER' ABORT ERROR REPORT CONNECT TIMEOUT 10 "" "AT F" OK "ATE1" OK 'AT+CGDCONT=1,"IP","$USE_APN"' SAY "Calling UMTS/GPRS" TIMEOUT 30 OK "ATD$DIALNUMBER" CONNECT ' ' 解釈すると、BUSY か NO CARRIER か ERRORが帰ってきたら、 失敗とみなして、その時点でスクリプトを中断してエラーとして終了。 各コマンドは、OKと帰ってくるはずなので、それが到来するまで待つ。 CONNECTが帰ってきたら正常として終了、と言うことでしょう。 「timeout set to 30 seconds」は、ダイヤルして応答を得られるまで、 30秒後をタイムアウトとして設定するよ、という意味だと思う。 この解釈でログを見直すと、30秒でタイムアウトしてるんじゃなくて、 30秒たたないうちに即座にエラー結果が帰ってきたので、異常の扱いとして スクリプトが終了する。それを延々と繰り返す動作になってることがわかった。 エラーを繰り返している時 Thu Mar 10 17 41 29 2016 local2.info chat[2269] send (ATD*99***1#^M) Thu Mar 10 17 41 29 2016 local2.info chat[2269] expect (CONNECT) Thu Mar 10 17 41 29 2016 local2.info chat[2269] ATD*99***1#^M^M Thu Mar 10 17 41 29 2016 local2.info chat[2269] ERROR Thu Mar 10 17 41 29 2016 local2.info chat[2269] -- failed 正常に接続できたとき Thu Mar 10 17 46 22 2016 local2.info chat[2725] send (ATD*99***1#^M) Thu Mar 10 17 46 22 2016 local2.info chat[2725] expect (CONNECT) Thu Mar 10 17 46 22 2016 local2.info chat[2725] ATD*99***1#^M^M Thu Mar 10 17 46 22 2016 local2.info chat[2725] CONNECT Thu Mar 10 17 46 22 2016 local2.info chat[2725] -- got it 上記で、 ATD*99***1#^M^M を送って、expect (CONNECT) で、CONNECTという文字が来るのを期待したが、 実際の返答は ERROR が帰ってきたので、エラーとして処理が進み、 Connect script failed を吐いて終了、という流れ。問題は、なぜERRORが帰ってくるのか。 chatスクリプトの、下から2行目に、ATDコマンドが書かれています。 2ch掲示板でヒントをいただき、以下のようにオフフック・オンフックを 切り替えるHという文字を付け加えてみました。 OK "ATD$DIALNUMBER" ↓ OK "ATHD$DIALNUMBER" この「H」の1文字を追加して保存します。 次に、インターフェースの設定の見直しです。LuCIのインターフェースの3Gを開き、 詳細設定を押して、 LCP echo 失敗数しきい値 LCP echo 送信間隔 この2つは標準状態では空白のはずですが、値を入れている場合は、空白にしてください。 これが入っていると、タイムアウトのカウント時間ごとに、正常に接続が維持できていても、 切断になってしまう気がするので。 未使用時タイムアウトは空欄では無く 0 (=切断しない)を入れました。 以上の2つの変更をした結果、ifdown、ifup、LuCIの接続ボタンの操作で、 正常に再接続ができるようになりました。 これらの操作において、ATコマンドにHを入れる改造を施す前では、 L-02Cでは一度も成功しなかったので、明確に改善しました。 ifdownで回線の停止もできますが、L-02Cの「青いランプ」がしばらく消えません。 放置すると水色の表示(LTEではなく3G接続の表示)になりますが、 内部でどうなっているかは、わかりません。 LED表示は気味が悪いけど、ifdownしたあとはパケットは流れないので実害はなさそう。 以上の結果を踏まえて、好きなタイミングで、再接続処理が出来るようになりました。 あとはスクリプト等で創意工夫の世界です。たとえばインターネット先の相手へpingを 定期間隔で飛ばして、10回連続で応答を得られなかった場合は、ifdown/ifupします。 すると、無人環境で調子が悪くなったときに、回線を自動で再接続できます。 まとめ。L-02Cの回線切断・再接続制御はできたが、L-02Cは小難しいデバイスである このページにまとめた情報は全て、記入者である私が遠隔地に設置して実用で使った「知見」です。 2016年3月、L-02C + openwrt で最初の検証をしてから、4ヶ月ほど実際に運用しています。 L-02Cをつかったwan回線の提供は、私の実地検証下において、なんとか実用になっています。 しかし、長時間にわたる安定稼働は期待できません。L-02Cは、全体的に不可解な動作が多いです。 L-02Cは通電中は常に、側面の白いLEDランプが微速度で点滅しています。 ごくまれに、この点滅が途絶えて、内部でウォッチドッグタイマーが 働いてリセットしてる動作も確認できました。これが起きると回線は必ず不通になります。 これらの挙動は、製造時期の異なる複数台のL-02Cを観察して、 すべてで同じ現象に遭遇しました。 電波状況は問題ない場所なのに、回線が頻繁に途切れたり、 L-02Cの青ランプがついてても実際はwanに出られない状況が頻発するなど、 素直に信用出来ないデバイスです。 回線が途絶えると言うことは、再接続のたびにIPアドレスも変化します。 グローバルIPアドレスが付与されるSIMカードを使って遠隔地の拠点にする場合は、 そのたびにddnsを更新する必要があります。 このddnsの更新も、回線が死んでる途中で更新スクリプトが動いて処理が始まってしまうと、 「更新できなかったよ」という状況が記憶されてしまい、次にいつ再実行されるかなどを、 確認する必要があります。luci-app-ddnsでは動かないことが多いです。 これらの教訓を全て、異常時の修復処理としてシェルスクリプトに実装して、 いつ回線が死んでもリカバリできるような創意工夫が必要です。 これを乗り越えて、なんとか実用になるレベルです。 LTE回線を使ってwan通信できる環境を新規に構築する場合は、 L-02C以外の、別のデバイスを選んだほうが良いかもしれません。 別の視点で考えると、L-02Cを上手に使いこなすことが出来れば、 どんなに不安定なwanデバイスでも実用的に乗りこなせる、といえます。 資料 lsusb -v したときの、L-02Cの情報 root@WZR-HP-G301NH-OpenWrt15 /# lsusb -v Bus 001 Device 003 ID 1004 618f Device Descriptor bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 bDeviceSubClass 2 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x1004 idProduct 0x618f bcdDevice 0.00 iManufacturer 1 NTT DOCOMO, INC. iProduct 2 docomo L02C iSerial 0 bNumConfigurations 1 Configuration Descriptor bLength 9 bDescriptorType 2 wTotalLength 115 bNumInterfaces 4 bConfigurationValue 1 iConfiguration 4 docomo L02C bmAttributes 0x80 (Bus Powered) MaxPower 500mA Interface Descriptor bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 bInterfaceSubClass 255 bInterfaceProtocol 255 iInterface 0 Endpoint Descriptor bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 32 Endpoint Descriptor bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 32 Interface Descriptor bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 bInterfaceSubClass 255 bInterfaceProtocol 255 iInterface 0 Endpoint Descriptor bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 32 Endpoint Descriptor bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 32 Interface Descriptor bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 bInterfaceSubClass 255 bInterfaceProtocol 255 iInterface 0 Endpoint Descriptor bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 5 Endpoint Descriptor bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 32 Endpoint Descriptor bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 32 Interface Descriptor bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 bInterfaceSubClass 255 bInterfaceProtocol 255 iInterface 0 Endpoint Descriptor bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 5 Endpoint Descriptor bLength 7 bDescriptorType 5 bEndpointAddress 0x86 EP 6 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 32 Endpoint Descriptor bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 32 Device Qualifier (for other device speed) bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 239 bDeviceSubClass 2 bDeviceProtocol 1 bMaxPacketSize0 64 bNumConfigurations 1 Device Status 0x0000 (Bus Powered)
https://w.atwiki.jp/busters/pages/2.html
メニュー ■WLI-PCM-L11 ■BLR-TX4 ├ シリアル接続 ├ JTAG └ GCC ■WLAR-L11 └ シリアル接続 ■WLA-G54 ├ DD-WRT化 ├ openvpn失敗 └ JTAG探し ■BLR3-TX4 ├ シリアル接続 ├ WHR-G54化 ├ DD-WRT失敗 ├ 復旧 └ カーネル乗せ換え ■PCVA-141LAP 取得中です。 TOTAL - TODAY - YESTERDAY -
https://w.atwiki.jp/soscomp/pages/125.html
プロジェクトの概要 何をする機械? 目標性能 仕様 ToDo 資料 リンク プロジェクトの概要 安価(約5k)に無線LANでEthernetを中継する装置を作るプロジェクト. 何をする機械? 無線LANを中継して、インターネット回線の存在しない建物や公園でもをFON Spotを設置できるようにするための機器。 目標性能 無線LANを最大100m中継する程度の能力 4ホップ中継時実測10Mbps出せる程度の能力 仕様 ハードウェアFON2100E ソフトウェアDD-WRT + 自作ソフトウェア 無線中継方式WDS サーバを用いた集中管理 ToDo 内容 参加者 期日 試作機の作成と伝送実験 ずっき, 園長, 背後, みみなし ~3/31 集中管理サーバの試作 ずっき, 背後, みみなし ~3/31 ほーりつかんけい 誰がやんの? ~不明 資料 無線LANの基本とセキュリティ技術 3.無線認証無線LAN搭載機器の開発に参入しようとしているベンダ向けの解説 うちも非営利とはいえ他人に使ってもらうものを作る予定なのでコンプライアンスを無視するわけにはいかないです この資料によると、既に認証を得ている無線モジュールとアンテナの組み合わせならば新たに認証を取得する必要は無いようです 材料費5000円で作るAO-40用パラボラアンテナAO-40ってのはアマチュア無線衛星。それと通信するためのパラボラアンテナを作るって資料 一次放射器の位置にLaFontenna置けば無線LAN用としても使えるけど法的にはどうなんだろ -treffen- WHR-GにDD-WRTをインストールする。眞島さんがどうしてもダメって言った場合の対応策 これ使うことになったらFON Spot用のfoneraは全部いただきます WHR3-AG54にDD-WRTインストールメモ(外部)私が知ってるなかでDD-WRTが入る唯一の11a対応機。他の知ってる人いたら教えて リンク 株式会社DSPリサーチ『電気通信事業法・電波法』における登録認定・証明機関 名前 コメント このページへのアクセス数 total - today - yesterday - このページのタグ一覧 WiFi