2015年6月25日木曜日

i-revo (ISP) を解約した

遅すぎてストレスがたまるので解約した。
帯域はあるけど、レイテンシが悪すぎて体感速度は相当遅い。
体感はWiMAX並です。

i-revoの特徴
http://access.i-revo.jp/
  • 月額500円
  • いつでも契約解除可能
  • 固定IPがもらえる
  • IPv6は付与されない


http://www.speedtest.net/

木曜日の22:30頃に測定。ともに11nによる無線LAN接続。

i-revoアクセス


Download: 16.09Mb/s
Upload:10.84Mb/s
PING: 339ms

ASAHIネット

Download: 22.83Mb/s
Upload:21.59Mb/s
PING: 64ms

2015年6月20日土曜日

Ubuntu でQtの開発環境を作る

ひとまず、qmakeを導入してQtCreatorでそれを認識してもらってハローワールドができれば環境が作れたことにします。


一番簡単な方法

apt-get install qt-sdk
これでQtCreatorやその他もろもろが全部入ります。キットの設定も全部終わっているのでQtCreatorを立ち上げてプロジェクトを作ればハローワールドできます。
とても簡単なのですが、Ubuntuのリポジトリのバージョンが入るので、新しいバージョンが欲しいとかこだわりがあるときはダメです。

QtCreatorだけでも新しいのを使いたい場合

必要最低限のものだけをそれぞれ入れる。
qt{4,5}-dev-toolsにqmlviewerが含まれないので、入れておかないとキットを作るときにビューワーがないぞ。と怒られちゃいます。
ちなみにqmakeそのものは"qt{4,5}-qmake"パッケージに含まれるのですがそれだけでは不足です。

特定のバージョンの環境を作りたい

下記から特定のバージョンを見つけてダウンロードしてセットアップしましょう。
https://download.qt.io/

所感

開発するだけなら、無理にUbuntuの枠組みで環境を構築するメリットは特段ないと思います。
SDKを使って/homeなり/optなりに展開して使うのが良いと思っています。

Qtそのものまで追っかけた場合はGitでダウンロードしてビルドするという手もありますが、
ハードコースなので調べていません。(フラグにならないといいな)

Ubuntu14.04にて確認しました。

2015年6月9日火曜日

96board HiKey のブートローダ(fastboot)の更新とかDebianのインストールの仕方 (組込みの当たり前の所あれこれ)


下記のドキュメントを読むだけです。
https://github.com/96boards/documentation/wiki/HiKeyGettingStarted
後はここにあるHiKeyマニュアル当たりを片手に。
https://www.96boards.org/products/ce/hikey/

ハマった点は、USB OTG Connectorに充電専用のmicroUSBをつないでしまっていて、ちっともttyが見えなかったことです。
充電専用のUSBケーブル作ったのマジ許さん(ぷんすか



まず、GettingStartedガイドのBoardRecoveryを抑えましょう。
このボードではブートローダーもカスタムし放題です。パソコンは何でもできるように見えますが、ブートローダーのカスタムなんてできないですよね?
ブートローダーっていうのはパソコンで言うところのBIOS当たりをさしてますよ。

ブートローダーをいじってぶっ壊したら文鎮化してしまいますが、こいつは復活できます。それが開発ボードというものです。
イマドキのチップではmicro-loaderとかpre-loaderと呼ばれるブートローダーが存在します。自分はプリローダーとよんでいます。
プリローダーはチップの中にマスクROMのようなところにあり、書き換えはできません。
この周りの話を書こうと思ったら、とても良くまとまった記事を見つけてしまったので省略します。
KMC Staff Blog:U-bootのデバッグ
http://blog.kmckk.com/archives/4414137.html

ともあれ、ジャンパーによりブート先を切り替えることが可能です。また、リカバリーモードのような状態にセットすることも出来ます。
GettingStartedガイドに出てくる"Set Board Link options"はこのジャンパーのことを指しています。
HiKeyユーザーガイドでは”ページ7の1. SETTINGS JUMPER and UART JUMPER”です。
どうして言葉が統一されていないのかは不明ですが、空気を読んでいきましょう。

一般的にはUART経由でXMODEM系で書いたりすることが多いです。
ですが、ここでは"hisi-idt.py is the Python download tool for the HiKey."なるツールを使うようです。

eMMCフラッシュモード。"Boot Select Link 3-4 closed"にして書き込んだときの様子は下記の通り。
UARTはつけてないと不安な人なので、ttyUSB0はUART0につながっています。
"Switch to UART download..."で止まるので、この状態だとUSB OTG Connector(マイクロUSBの端子)がシリアルホストに変身しています。
ここからえいやえいやと送りつけたげるのです。ツール経由なので余裕ですね。

% ls /dev/ttyUSB*
/dev/ttyUSB0
% cu -l ttyUSB0 -s 115200
Connected.
start enum.
Can not get device description command.
Switch to UART download...

% ls /dev/ttyUSB*
/dev/ttyUSB0 /dev/ttyUSB1
% python hisi-idt.py -d /dev/ttyUSB1 --img1 fastboot1.img --img2 fastboot2.img
+----------------------+
Serial: /dev/ttyUSB1
Image1: fastboot1.img
Image2: fastboot2.img
+----------------------+

Sending fastboot1.img ...
Done

Sending fastboot2.img ...
Done


fastbootの導入が出来れば、後はfastbootプロトコル経由で各種イメージを焼きこむだけです。
いわゆるfastbootモードに入るにはジャンパを切り換えます。GPIO3-1 Link 5-6 Closedにします。
先程はUARTに見えましたが、fastbootプロトコルが通るトンネルになっています。fastbootコマンドでデバイスを発見できるようになってますね。
後は"fastboot flash パーティションの名前 書き込むファイル"でサクサク焼きこめちゃいます。
U-bootだとTFTPロードして書き込んだりすることが多いですよね。fastbootはこの当たり安全に操作できる感じです。
% cu -l ttyUSB0 -s 115200
(略
[1970:1:1 0:0:3][43949]enter usb_config
[1970:1:1 0:0:3][44025]USB: DMA mode.

% fastboot devices
0123456789ABCDEF fastboot
% fastboot flash ptable ptable-linux.img
% fastboot flash (以下略

後はジャンパーを取り外せば通常起動して完了です。
今現在はUSBのホットプラグがうまくいかなくて、起動前にキーボード、マウス、HDMIをつなぎました。
普通に画面は出力されるし、マウスは動くしです。(冒頭の画像)

Debian GNU/Linux 8 linaro-alip ttyAMA0

linaro-alip login: root (automatic login)

Last login: Thu Jul 3 18:46:23 UTC 2014 on ttyAMA0
Linux linaro-alip 3.18.0-linaro-hikey #1 SMP PREEMPT Tue May 19 18:40:10 UTC 2015 aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@linaro-alip:~#

ところでこのボード。ブートローダにUEFIを載せることも可能です。

U-bootしか触ったことがなかったので、色々ググりました。WindowsのBIOS的な意味でのUEFIの高速起動のfastbootと、ブートローダのfastbootがコンフリクトしててちょっとつらかったです。(NOT検索しましょう

2015年6月6日土曜日

カリテコ (カーシェアリング) を使ってみた

カリテコ

カーシェアリングといえば、タイムズです。
専用アプリもあるし、全国展開されていて圧倒的なステーション数を誇っています。
特段の理由がない限りタイムズがおすすめだと思います。

しかし、自分はカリテコという名鉄協商さんが運営している地元のカーシェアサービスを契約しました。

カリテコの特徴は次のとおりです。
  • 月額基本料無料のコースがある
  • 運営元の名鉄協商の駐車場には無料で止めることができる
  • ICカードにmanacaが使える

タイムズの月額基本料は1000円です。この1000円もクーポンとして使えるので実質基本料はあってないようなものなのです。
200円/15分なので1時間ちょっと乗ると1000円です。ちょちょっと買い物してたらあっという間の時間だと思います。
毎月車を1回は使うかどうか。これが分岐点になりそうです。


サービス登録

Webから登録作業をするだけです。
カリテコではmanacaカードを鍵にできるので翌日には使いはじめることができちゃいます。

貸出予約

ステーション検索をして予約するだけです。
複数のステーションの空き状況がバーで一括で見れるので楽です。

使う

時間になったら登録しているICカードをかざして出発します。
シェアカーの目印になっているカラーコーンをどけて、出庫。そこに一般車が駐車しないようにまたカラーコーンを戻します。

ところで、ガソリンは3分の1以下になったら給油することになっています。
しかし、自分が載った車はEのところまできちゃってました…。ドキドキしながらまずは近くのガソリンスタンドに行きました。
給油は提携しているスタンドにいって備え付けのクレジットカードを渡すだけです。給油すると特典として来月以降に使える15分クーポンがもらえます。

返却する

いわゆる乗り捨てみたいのはできないので、借りたステーションに元に戻ってくる必要があります。
ステーションAで乗って、ステーションBで返す。とかできると幅が広がりますが、配車がえらく困難になるので妥協点ですね…。

2015年6月4日木曜日

バッファローのルーターでDHCP払い出しの固定化と、その範囲を設定する

タイトルが分かりにくいので、やりたいことは次の通り

  • MACアドレスに対して決まったIPアドレスを払い出したい
  • 192.168.11.1/24で1~99をMACアドレスに対して決まったIPアドレス範囲としたい


詳細設定からLANというメニューを開くとDHCPの設定ができるので、次のようにセットしておきます。

範囲外を192.168.11.1-192.168.11.99



文字通りだと、DHCPサーバーはこの範囲を払いだしてくれないように見えます。

ただ、実際の挙動は自動リースされない範囲の設定になっています。

つまり、DHCPリースの設定画面で手動でリース情報をセットしてあげると正しく意図したとおりに配布してくれます。



バッファローのルータと書きましたが、機器はWXR-1900DHPです。






L2スイッチの1つのポートだけ壊れた話

どのような理屈か不明だが、スイッチ全体が死ぬのではなくてポート単位で死ぬことがあることが分かった。
もちろん、こんなスイッチは信用できないのでそのうち取り替える。


問題発覚:
仕事してたら急にビルドサーバに繋がらなくなってしまい困った。
予兆はあって前々からなんかつながらない。DHCPが取れないなどのクレームは入ってた。
しかし、やり直したり自分が確認すると問題がなかったのでやり過ごしていた。
自分が管轄していた範囲のネットワークが不調ということなので、ある程度範囲は予測できた。

原因箇所を見つけるまで:
とあるラックにあるマシン全部が不安定なつながり方をする。というところから、経路上のスイッチに不具合があると予測した。
誰かがDHCPサーバをつなぐ。ブロードキャストを垂れ流すなどの論理トラブルの可能性もあるが、全体の系では苦情が聞こえなかったので排除した。

ラック内(末端)のL2スイッチがバカになっていると踏んでいた。
そこでアップリンクのスイッチの”空いてる”ポートにPCをつないでみた所、正常に通信できた。
これは、半死。完全につながらなくないけどまともに動作しない。という難しい症状に落ちているのかな?と思った。
答えとしては、このアップリンクのスイッチの、ラックにつながっているポートだけが死んでいた。しかし、気付く余地なし。

はてはて。と思い、一応アップリンクのアップリンクも見てみた。
その時にLINK-LED(いつも無駄にピコピコしてるあれ)が、対象のポートだけ点滅していないことに気付いた。
だいたい、ブロードキャストとかが飛ぶのでスイッチのLINK-LEDとかは同期して光ることが多いが、明らかにそれがなかった。
ここで、アップリンクのアップリンクか、アップリンクか。この2つが容疑者になった。

もう一回戻ってアップリンクのスイッチを見ると、ラックにつながっているポートだけ点滅していなかった。
リンクはしているので点灯はしている。
とりあえず、こいつがおかしい気がしたが、先の検証でアップリンクは正常と判断したはず。
点滅していないポートから空いてるポートにつなぎかえたところ、見事に復活した。