【お知らせっぽいもの】大破.netについて

このブログではOpenWrt / LEDE-Projectファームのダウンロード先が大体自宅鯖の 大破.net になっていますが、現在IPv6でしかアクセスできません

2017/01/31 追記:なんとかIPv4でもアクセスできるようにはなりました。ただし、ISP (BIGLOBE) 側回線が非常に低速かつ不安定なため、接続が不安定です。

なんでそんなことになっているかというと、回線速度の遅さに耐えかねてBIGLOBE(を含めた数社)が提供するIPv6 (IPoE)接続提供サービス “v6プラス” を申し込んだところ、30分程度で切り替わってしまったうえ、IPv4によるサーバ公開ができない状態になってしまったためです。

詳細な流れは以下の通り。

  • 去年11月辺りから速度が極端に下がり(日中下り160Mbps程度あったのが20Mbps前後に)、夜間は10Mbps未満に
  • 耐えかねて父にISPの変更を相談するも、ISP(BIGLOBE)のメールアドレスを広く使用していたため難色を示される(SMTP / POP3等でのメール送受信不可になる)
  • ISPを変えずに改善できないか探る
  • “v6プラス” を見つける
  • “v6プラス” ではMAP-EによりIPv4アドレスが複数の加入者線で共用となるためサーバ公開不可となるものの、別途ルータ使用で従来のPPPoEも可という情報を得て申し込み
  • 当日30分程度で切り替わってしまう ←!?
  • 回線速度が一日通して下り150Mbps~180Mbps程度(無線)で安定する(ONU (PR-S300HI)との有線接続では300Mbps以上)
  • 従来のIPv4 PPPoE接続を試すも、トンネルは確立されるがインターネット側への通信が一切通らず ←???

各方面の方々のアドバイスで、ONUからサーバまでの間に無線を介しているためPPPoEが繋がらない、ということが判明しました。現在試行錯誤してIPv4 PPPoEを接続できるようにしています…

大体こんな感じ。
参考にしたサイトではPPPoEセッションを張ることでサーバの公開を継続しているものの、当方ではまったく通信できずお手上げ状態。∩( ・ω・)∩ ばんじゃーい
そんなわけで、当方のサーバは現状IPv4を諦めてIPv6でのアクセスのみとなっています。

IPv6移行期とはいえ、世の中の家庭のネットワークは大体がIPv4な現在。やっぱりIPv4のアクセスも受け付けたいところですが、未だに仕事も見つからず貯金することもできないのでどうすることもできません。

Jenkins with IIS (URL Rewrite)

かなりの今更感ですが、書いておかないとたぶん(というか絶対)忘れるので、備忘録として書いておくことに。

2017/04/19追記: 備忘録として書いたはずが、既に1個完全に忘れてました。Application Request Routing (ARR)も必要です。

IISとJenkinsを連動させる、というか特定のURL以下をJenkinsに飛ばすやり方です。

環境とか

  • WebサーバOS: Windows Server 2012
    クライアントからのアクセスを最初に受けるWebサーバ。Hyper-V内で動作し、長らく “大破.net” をホストしているこいつを使用しました。
  • Webサーバソフト: Microsoft IIS 8.0
    Windows Server 2012に含まれる、Microsoft製でおなじみInternet Information Serviceのバージョン8.0。既にWindows Server 2016が登場し、IISもバージョンが上がっていっているものの、8.0もまだまだ使えます。
  • Jenkins側OS: Xubuntu 16.04
    Debian系のUbuntuファミリーの一つ、Xubuntuを使用。完全なCUIはまだまだ自分のスキル的に厳しい。
    Jenkins自体はWindowsにも導入できますが、今回はOpenWrt / LEDE-Projectのビルドに使用したかったため、Linux系OSを選択。
  • Jenkins Ver: 2.30
    前述の通り、実際に導入してからだいぶ経っているので導入時のバージョンは忘れかけてますが、たぶんこの辺り。2017年1月7日現在最新の2.39でもできるはずです。
  • URL Rewrite Ver: 2.0
    今回重要となる、IISのURL Rewrite(URL書き換え)。Apacheにおける “mod_rewrite” と同等の機能を提供します。たぶん(筆者自身はApacheまともに触れたことが無い)。
    URLのリダイレクト、書き換え、その他色々。
  • Microsoft Application Request Routing 3.0
    上記のURL Rewriteと連携し、受信したリクエストを指定されたホストへ転送します。こっちも何気に重要です。

Jenkinsをインストール

まず、何も考えずJenkinsをインストールします。手順については詳しく書かれているサイトが沢山あるので、ここでは割愛。
今回はUbuntuファミリーのXubuntuにインストールするので、私は以下を参考にしました。
[Jenkins][Ubuntu] UbuntuにJenkinsをインストール – Qiita

インストールが完了すると、もうローカルの8080ポートでJenkinsが動作しているはず。

Jenkinsを構成

IISへのアクセスをJenkinsに飛ばす下準備です。
まず、Jenkins稼働マシン上で

/etc/default/jenkins

を編集して、ポートやプレフィクスを任意のものに変更しておきます。Windowsでは、Jenkinsのインストール先フォルダにある “jenkins.xml” がその設定ファイルに該当する模様。
今回、設定は以下の通りにしました。

ポート: 8080    #競合するものが無かったのでそのまま
prefix: /jenkins     #なんとなく

ちなみに、URLについてはJenkinsのシステム設定にそれっぽい設定がありますが、これはあくまでビルド通知などに載せるために使用されるだけのURLであって、Jenkinsのシステム自体に関わるものでは無いんだそう。
設定ファイルを編集して保存したら、Jenkinsのサービスを再起動します。

$ service jenkins restart

すると、設定した通りのURLでJenkinsが動作するはずです。今回の場合、

http://localhost:8080/jenkins

になります。

続いて、セキュリティ絡みの設定。Jenkinsでは、不正なアクセスを防ぐため、乱数っぽいものを付加している模様。IISからURL Rewriteを使用してJenkinsに飛ばす場合、これに引っ掛かってしまい、多くのページでCrumbなんちゃらとエラーを吐かれて何もできなくなります。
これを回避するため、Jenkinsの管理ページにある “グローバルセキュリティの設定” で、下のほうの “CSRF対策” 内の “プロキシーとの互換性を有効化” にチェックを入れ、適用、もしくは保存して有効にします。

↓下の画像で赤線の部分

jenkins-crumbs

これでJenkins側の下準備は大体完了。

IISの設定

次はIIS側を設定します。Application Request Routing と URL Rewrite は、予めWebPIを利用してインストールしておきます。
とりあえず、Webサイトを適当に1個作ります。
IIS Manager でサーバーのホーム画面を表示して “Application Request Routing Cache” に入り、さらに右側のペインから “Server Proxy Settings” を選択して入ります。
画面一番上に “Enable Proxy” のチェックボックスがあるので、チェックを入れて右側のペインで適用します。
次に、作成したWebサイトのホーム画面へ移り、 “URL Rewrite” または “URL 書き換え” があるので、そこに入ります。
iis8-taiha-net_url-rewrite

そして右側の “操作” ペインから、”規則の追加…” を開き “空の規則” を選択してOKを押下、規則の編集に入ります。
今回は、

http://taiha.net/jenkins

というURLの “/jenkins” 以下を、Jenkinsが動作しているサーバ(IPアドレス: 192.168.88.254, ポート: 8080 )に飛ばします。

規則の名前は “url-rewrite_to_jenkins” とか適当に付けました。
その他の設定は以下の通り。

  • URLの一致
    • 要求されたURL: パターンに一致する
    • 使用: 正規表現
    • パターン: ^jenkins(.*)$
    • 大文字と小文字を区別しない: 未チェック
  • アクション
    • アクションの種類: 書き換え
    • URLの書き換え: http://192.168.88.254:8080/jenkins{R:1}
    • クエリ文字列の追加: チェック
    • 書き換えられたURLを記録する: 未チェック
    • 後続の規則の処理を停止する: チェック

iis8-taiha-net_url-rewrite_rule

とりあえずはこんな感じ。これで、

http://taiha.net/jenkins

以下がJenkins鯖に飛ばされ、アクセスできるようになりました。

ちなみに、大破.net(taiha.net含む)ではLet’s Encryptの証明書をIISが稼働しているWindows Server上で取得してHTTPSを有効にしていますが、この場合インターネット側とIIS間はHTTPS、IISとJenkins間はHTTPで接続されます。
この状態で上記の様なURL RewriteによってJenkinsに飛ばされるURLにアクセスした場合、大破.netのHTTPS接続が維持されます。

↓例。JenkinsもIIS側の証明書によってHTTPS扱いに。

jenkins-https

また、IISは外部へのポート開放は必要なものの、Jenkins側は完全にIISを経由してのアクセスとなるため、こちらは外部へのポート開放の必要は無さそう(未検証)。

ちなみに、この記事の方法でJenkinsに飛ばした場合、Jenkinsでワークスペース内のファイル横に表示される “参照” リンクは、IISのアプリケーションエラーが表示されてしまい機能しません。教えてえろい詳しい人。

というわけで、何かと忘れる自分のための備忘録でした。

WZR-900DHP 3台目

BUFFALO WZR-900DHPの3台目を確保、というかメルカリで注文しました。

そもそも何で

理由としては、現在ルータがそこそこ増えてきているものの、弄る用途のモノだけしか無くてWebサーバなどとしてある程度固定で運用できない為です。
あとは、100Base-TXが多く1000Base-T対応機種が少ないこと、MZK-W300NHがコンデンサ妊娠のためお役御免になったことなども理由だったりします。

ちなみにMZK-W300NHの妊娠したコンデンサは1000μF, 6.3V, 105℃のモノで、前にG31マザーのCPU電源回路のコンデンサを交換したときの余りが残っていましたが、USB Type-A搭載機種では無いこと、100Base-TX機種なことなどから結局処分することにしました。
それと、今ある2台のWZR-900DHPは、片方が純正ファームで所謂イーサネットコンバータとして使用、もう片方がLEDE-Projectを導入してWordPress動かしたりEjectしたり弄り倒してます。

何故WZR-900DHPなのか

ハードにそこそこの性能があって、中古価格が安く出回るからです。
参考にWZR-900DHPのスペックを再掲。

WZR-900DHP 仕様

  • SoC: Broadcom BCM47081A0 (ARM, 800MHz, 1C1T)
  • Flash: Zentel A5U1GA31ATS-BC (128MB)
  • RAM : Samsung K4B2G1646E-BCK0 (256MB)
  • WAN / LAN Speed : 10/100/1000 Mbps
  • WLAN : IEEE802.11 a/b/g/n
  • USB : USB 3.0 Type-A x1

SoCのクロックが高めである程度ゴリゴリ動かせること、RAM容量が多くPHPなどに多めに振れること、Flash容量が多いのでExtRootなどしなくても、Webサーバ系やSambaなどのオプション的なパッケージが大体収まってしまうので、個人的に安定な機種です。

↓WordPressを動かしてた時のメモリ使用状況

ただし、無線はBCM4331を2つ(2.4GHz帯、5GHz帯それぞれで利用)搭載しているのでOpenWrt (LEDE-Project) ではまともに使用できません。まあ、日本国内は電波法の関係でどのみち使えないので問題ないですね。
そして、前述のとおり中古価格が安価で、付属品などの状態にもよるものの最安2,000円台~3,000円台程度で出回ります。

そんな感じで、「同じものいくつもあってもなー」とか思ったものの、結局WZR-900DHPに落ち着きました。
ちなみに、WZR-600DHP2とは無線チップとUSB 2.0か3.0かの違いだけだったりします(600DHP2、2.0なのに端子青くしてるのね…)。今回WZR-900DHPのほうが安かった。なお、WZR-600DHPとWZR-600DHP2は中身別物なので注意。WZR-900DHPとWZR-900DHP2の違いは分かりません。

着弾したらやること

  • 筐体開けてシリアルにピン立てて引き出す
    重要。シリアル直接叩ける安心感。USB – シリアル変換アダプタは、いつも通り秋月で600円の変換基板を使います。
    直立させたときに下に来る面に穴が多数空いているので、そこから適当に外に引き出す予定。
  • 純正ファームバックアップ
    WZR-900DHPは、純正ファームへ戻す方法がバックアップしておくしかない模様なので、抜き出す予定。
    今までは特に戻す必要は無かったものの、無線欲しいときありそうなので。
  • LEDE-Project化
    純正ファームをバックアップしたら、さっくりLEDEを突っ込んでしまいます。CFEのWebページにsysupgradeファームを投げつければOK。
  • Ejectサイト構築
    「除夜のEject」サイトを構築予定。現状WT3020でどこまでやれるか試す予定ではあるものの、SoCとRAMからして厳しそうなのでその場合の代替として。
    Planex VR500でEjectするのもいいんだけど、アレはどちらかというと”逸般の誤家庭”向けルータ…

大体こんな感じのことをやる予定です。
年が明けたら、WordPressか何かで真面目に個人的なサイトを組むか、もしくはnginxなどで要求アドレスによるリクエスト転送などもやってみたいなーと。
ではでは。

家庭用ルータでもEjectしたい!

というわけで、今更ながら11月頭のOSC 2016 Tokyo/Fall行ってきた報告と、そこから着想を得て色々やってみた報告です。
”手順だけ見たい”という方は、しばらくそこに至るまでの顛末なのですっ飛ばしてください。

OSC 2016 Tokyo/Fall

正式名を “OpenSouce Conference”、オープンソースソフトウェア(OSS)についての情報共有、活用事例の紹介などを目的として、全国各地で開催されるイベントです(公式サイト)。東京でも11月5日と6日に開催され、私も一般参加してきました(今更)。

OSCは今回で3回目くらいでしたが、1・2回目はほとんど何もわからないまま参加した感じだったので、中々知らない人に話しかけるのが苦手なのも影響してほとんど何も得られないまま帰宅する結果に。
しかし今回は、1日目に「WordPressをルータで動かす」ことについてWordPressユーザーグループの方に色々お聞きしたり、「OSC一日目の朝に突如お亡くなりになったOpenWrt (LEDE-Project) ビルド鯖(Xubuntu)の対処法」をUbuntu Japanese Teamの方に詳しくお聞きしたりしました。また、午後からの展示ツアーにも参加し、個人や企業ブースを偏りなく回り、色々知見を得ることができました。企画に感謝です…。

meets “Eject”

OSC 1日目にユーザーグループの展示関連を回っている中で一際異様な雰囲気を放っていたのが、”Ejectコマンドユーザー会(公式サイト)”。何やら床に動くものが…
(他の参加者の方のツイート)

自走するCDドライブの破壊力。ユーザー会の方曰く”eject カー”というこれは、1方向のみに回転する車輪を使い、開閉するドライブによってしゃくとり虫に似た要領で進むとのこと。それだけならまだしも、バッテリーを搭載して完全にコードレスにした上、Webサイトから操作もできる(!)という、もはやハードとソフト両面で攻めまくる逸品。
操作用のサイトは公開されていて、来場者もスマホなどから操作して楽しめるようになっていました。

その他にも、Ejectによる金魚の餌やりシステムや鐘(っぽいもの)をつく装置なども紹介されていて、単純な動きでも発想次第で色んなことができるんだなぁ…と。そう思ったところで再度視線が下に向くと…
何かある!!
↓Ejectコマンドユーザー会あっきぃ氏のツイートの画像右下

”Ejectキット5セット配布”これは…

!!
気付いた時には、スマホに指を走らせ”BusyBox eject”と検索、そして手にはEjectキットの入った紙袋が…意識を失うと怖い。
こうして”Eject on 家庭用ルータ”に至りました。
記事長くなったけど、まあいいやこのまま書いてしまおう。

Eject on 家庭用ルータ

さて、このブログでも度々登場するルータ(など)向けLinuxディストリビューション”OpenWrt (LEDE-Project)”、Linux関連のコマンドやツール類がひとまとめになった”BusyBox”というモノを搭載しています。
OpenWrt側のコマンドとしてはEjectを見かけた記憶は無かったものの、もしやBusyBoxにあるのでは…ということで調べたらありました。

lede-busybox_eject

デフォルトではOpenWrtのBusyBoxはejectコマンドを含んでいないので、有効にしたうえで各ルータ用ファームウェアをビルドする必要があります。

用意するもの

  • USB Type-Aポートを搭載し、OpenWrt動作実績のあるルータ

    ドライブに対してEjectコマンドを投げます。当方では、以下のルータを使用しました。

    • BUFFALO WZR-900DHP
    • NEXX WT3020H(またはWT3020F。Flash 8MB版を推奨)
    • Planex VR500
  • CD(またはDVD)ドライブ

    ルータからのコマンドを受け取って開閉します。IDEやSATAのモノを使用。

  • USB – IDE(またはUSB – SATA)変換アダプタ

    ドライブをルータのUSBポートと接続するための変換アダプタで、センチュリーの「裸族の頭(CRAIU2)」など。当方で動作を確認したのはCRAIU2のみですが、それ以外もたぶん使えるはず…
    ドライブのインターフェース(IDE/SATA)に合わせます。

  • OpenWrt (LEDE-Project)ビルド用のLinux環境(またはWSL)

    前述の通り、デフォルトではOpenWrtのBusyBoxはEjectコマンドを含んでおらず、利用できないので自前でビルドします。
    私自身は普段XubuntuにJenkinsを導入して定期的にビルドさせています。また、Windows 10のWSL (Windows Subsystem for Linux) でも、Anniversary Update以降であればビルドが可能です。ただ、WSLの制約からかビルドが少々遅めです。

ルータでEjectするために必要なものは以上です。なお、上記にある私が使用したルータ用にEjectコマンドを含めてビルドしたLEDE-Projectファームは、Jenkinsで公開しています。大体動作確認はしていますが、実機への投入は自己責任で。

ファームウェアのビルド

実際にファームウェアをビルドします。なお、当方ではOpenWrtからフォークした”LEDE-Project”をもとに作業しています。OpenWrtでもやり方はたぶん同じはず。
ビルド環境の構築については、記事が長くなりすぎるのでここでは書きません。OpenWrtのWikiを参考に、各自で構築してください。

  • make menuconfig
    ビルドするファームウェアに含めるパッケージと、Linuxカーネルに関する設定を行います。
    ビルド環境の構築で “make defconfig” まで終わったら、 “make menuconfig” コマンドでこの設定画面を開きます。
  • Ejectを有効にする

    今回メインとなる、BusyBoxのEjectコマンドを有効化します。
    “make menuconfig” の画面で並んでる項目の中から “Base system > busybox” と進みます。デフォルトで拡張設定が無効になっているので “Customize busybox options” にチェックを入れて拡張設定を表示させ、さらに “Miscellaneous Utilities” 以下に “eject” があるので、チェックを入れ有効化します。
    “SCSI support” は必要かわからないけど有効にしておきました。

  • カーネルのサポートを追加する

    Ejectコマンドは有効化したので、今度はOpenWrtのLinuxカーネルにCDドライブとUSBのサポートを追加します。
    menuconfigのトップに戻り、
    “Kernel modules > Block Devices” の “kmod-scsi-cdrom” と
    “Kernel modules > USB Support” の “kmod-usb-storage”, “kmod-usb2”
    にチェックを入れます。以上でCDドライブをOpenWrtのLinuxカーネルでサポートする設定は完了です。

    あとは他に各自必要な設定を済ませてmenuconfigをExitします。デフォルトではWebUIのLuCIが有効になっていないので、入れておくといいかも。
    終了時に変更を保存するか聞かれるので、忘れずに。

  • ビルド開始

    設定が終わったので、ビルドを開始します。
    “make” コマンドのみでもビルドすることは可能ですが、CPUのコア数に合わせて並列ビルドを行うとそこそこ必要時間を短縮できます。
    例:make -j4

    ただ、初回のビルド時は ”ビルドに必要なツール類” も同時にビルドするため、時間が多くかかります。
    ちなみに、デフォルトではビルド中のコンソールに最低限の情報しか出力されないので、何をしてるか眺めたいときは “V=s” オプションを含めると全部の情報を流せます。
    例:make -j4 V=s

  • ビルド完了&ファーム取り出し
    ビルドが終わると、コンソールの流れが止まり、OpenWrtのディレクトリ内の bin ディレクトリのいくつか下に .bin や .trx 、その他拡張子の付いたファームウェアが生成されています。
    ルータの機種名の後に “squashfs-sysupgrade” というモノや “initramfs-uImage” と付いたファームウェアがある(ルータの機種によって変化)ので、自分のルータへのOpenWrtの導入方法に合わせて適切なものを取り出します。

    Windows 10のWSLを使用した場合、WSL側のファイルシステムに保存されているので、上記のディレクトリから “/mnt/c/Users/(Winユーザー名)/Downloads/” などにcpコマンドを使ってビルドしたファームウェアをコピーします。

    例:WZR-900DHP用LEDE-ProjectファームをWindows ユーザー “Tofu” のダウンロードフォルダにコピー

    cp ./bin/targets/bcm53xx/generic/lede-bcm53xx-buffalo-wzr-900dhp-squashfs.trx /mnt/c/Users/Tofu/Downloads/

ファームウェアの導入

ビルドしたファームウェアをルータに投入します。
投入方法は機種ごとに異なるので、ここでは省きます。OpenWrtのWikiForumDD-WRT OpenWrt 適材適所で両方使いたい人向け @ ウィキ、2chのOpenWrt板などを参考にしてください。

注意事項

OpenWrtなどメーカー純正ではないファームウェアをルータに導入した場合、メーカーによる保証は無くなる他、意図しない動作や故障(所謂文鎮化)を引き起こすことがあります。必ず自己責任の下、導入してください。
また、日本国内では電波法などにより電波の取り扱いが厳しく制限されます。これについても自己責任の下、(本記事の主旨はEjectですが)無線LANルータ等は法に抵触しない様使用してください。

Ejectする

ルータにOpenWrt (LEDE-Project)を導入したら、いよいよEjectします。

ドライブの電源を入れた状態でUSB – IDE(またはUSB – SATA)変換アダプタをルータのUSBポートに接続すると、正常に認識されればOpenWrtの “/dev/” 以下に “sr0” というデバイスが現れます。これがCD (DVD)ドライブです。
この “sr0” に対してEjectコマンドを叩きます。
例:

eject /dev/sr0

すると、ドライブからトレイが開きます。
また、引数に “-t” を付けるとトレイが閉まり、”-T” では ”現在の状態と逆の状態”(トレイが開いているならば閉まり、トレイが閉まっているならば開く)にします。

↓NEXX WT3020にEjectさせた様子。動画内で実際にEjectするまでが長いのは後悔してる

以上で家庭用ルータでEjectは完了です。OpenWrt (LEDE-Project)はuhttpdやApache、lighttpdなどのWebサーバを搭載することもできるので、WebサイトからのEjectも実現できます。
なので色々こねくり回してみると面白そうです。Ejectコマンドユーザー会のGitHubレポジトリで公開されている除夜のEject公式サイト)は動作しました。

また、OSCでEjectコマンドユーザー会の展示でEjectコマンドを発行していたのはRaspberryPiでしたが、ルータならNEXX WT3020など数千円程度で入手できるものでもEjectができます。
拡張性はさすがにRaspberryPiには劣るものの、ルータで色々遊んでみるのも良いのでは。

久しぶりに長い記事を書いたので眠いです。おやすみなさい。

無職になりました(半年以上遅れ)

さて、今更ですが無職になりました(なっていました)。
今年3月末をもって、2年と留年1年の計3年を過ごした情報系の専門学校を退学しました。

現在まで

原因は色々とありますが、2年次から徐々に不登校に陥り、一度留年後も改善が見込めなかったため最終的に自分の判断で退学しました。

今後

できることならば、すぐにでも働きたいと考えています。両親に頼り、ただ消費するだけという立場は自分としても非常に嫌で、自分のできることを生かして何かできないか、というふうにいつも考えてはいます。
しかし、何ができるのか、どんな仕事ができるのかということが今一つ自分にもわからず、アルバイトにしても、就職にしても躊躇してしまっているところがあります。また、就職するにしても、今持っている知識だけでやっていけるのか、先に大学など進学してさらに知識をつけてから臨むべきなのか、というところが全く分かりません。

現在は、とりあえずは次の4月に間に合うかはわからないものの、大学への進学を考えている状況です。主にネットワークやサーバ関連を学べたら、と思います。
しかし、前述のとおり就職についても興味はあり、どちらがいいのかわからなくなってきています。

両親の自閉症などへの無理解に対する反発から、就職することに決めました。

仕事探し

どういった分野が自分に合っているのかすらよくわかっていませんが、職を探しています。以下は色々と自分に関しての詳細です。
新卒でもないためどう職探しをすればいいのか全く分からないのと、どこかに登録したりする方法も知らないので、ここに書いておきます。
近々ハローワークにも行ってきます。

持っている資格・技能等

資格

  • 基本情報技術者(実務経験無し)
  • 一種普通自動車免許

技能

  • HTML / CSS基礎程度
  • C#触れ込み程度
  • OpenWrt* ビルド環境構築・ビルド
  • OpenWrt* 軽微なソースコード修正等
  • OpenWrt(LuCI)* 翻訳
  • Git clone, fetch, merge, branchなど初歩的なコマンド
  • Webサーバ構築(Microsoft IIS)
  • PC組立(所謂自作PC)

* OpenWrtからフォークされたLEDE-Projectを含む。

今やっていること

  • OpenWrtファームウェアのビルドと修正

    OpenWrt(現在はLEDE-Projectがメイン)の開発状況を追いかけて自分のフォークに取り込みつつ、所有しているルータで何か問題が起きた際は、可能な限りどこに問題があるのかを特定し、できる範囲で修正しています。
    自分では以下の2機種のコードを修正しました。

    • BUFFALO WHR-G300N — ブート中のKernelPanic
    • BUFFALO WZR-900DHP — LED設定不可

    最近翻訳もやり始めました。ネットワークやLinux関連未だに知識が多いわけでも無いので、自分が理解できる範囲で翻訳して openwrt/luci にPR投げてます。

    修正したコードは以下で公開しています。

    GitHub : musashino-build/lede-source

  • ソフトウェア製作

    C#の学習も兼ねて、Windowsに搭載されているWinSAT.exeを実行し、出力された計測値を読み込んで表示する簡素なソフトウェアを自作しています。まだシステム情報の扱いなどわからないことだらけで、既知の問題を修正できていないなどの問題はあるものの、少しずつ調べながら修正したり、改善したりしています。

    WinSAT Reader