ハードウェア

PRIMERGY TX1310 M1とFreeNASでファイルサーバ構築

2016/9/10

少し前にNASキットのASUSTOR AS1004T を購入したのですが、しばらく使ってみると色々不満が出て・・・。

というのは、パフォーマンスが出ないとかそういうことでは無く、SMBセッションがタイムアウト(?)して再接続する際に異常に時間がかかるのです(いつもとは限らない)。色々と原因の切り分けをしてみると、クライアントではなくサーバ側の問題ぽいのですが、ログ出力を眺めてみてもいまいち原因が分からず。
smb.confとか眺めてみても特に怪しそうな箇所は見当たらず・・・何かしらカスタムされたSambaなんですかねぇ。

休日の楽しいアニメ鑑賞の時間に(私もNASも)ブチ切れることが多くなったので、結局自前でファイルサーバを構築することになったというお話です。

Read more…

ARROWS NX F-05F 再起動ループ

2016/4/22

1年半ほど前に白ロムで購入したARROWS NX F-05Fが再起動ループに陥り使い物にならなくなりました。

先週ぐらいから、カメラ撮影をしていると突然リブートしてしまう症状が発生。
それから日に日に負荷のかかる処理をすると、リブートが発生する頻度が高くなってきました。

終いには、一度リブートが始まるとAndroidロゴが表示された後に再びリブートしてしまい、いわゆる再起動ループに陥ってしまいました。USBより給電している状態であれば正常に起動できることが分かり、恐らく原因は電源系統にあると推測できます。
(PCのUSB端子など電圧が安定していないと再起動ループから復帰できないこともある。)
正常に起動した後、給電を止めると再びリブートしてしまうことから、バッテリーが劣化しており、負荷がかかると急激に電圧が低下し、リセットがかかるというところでしょう。

同様の症状は、ググってみると各所で報告が上がっていますね。
例によってバッテリーパックが取り外せない機種なので、有償で修理に出すことになります。
docomoのサポート情報によれば6,400円でバッテリー交換を行っているようです。

うーん、1年半でこのような状態になったことに多少の不満はありますが、修理に出すほどの愛着もない・・・。
新たな端末を購入することにします。 Read more…

ASUSTOR AS1004T 購入

2016/3/16

アニメ録画サーバと、エンコード済み動画の保存用NASの空き容量が逼迫してきたため、新たにNASを購入しました。

既存のNASはNETGEAR ReadyNAS 102(RN10200)です。
低価格帯の製品だけあってCPU(Marvell Armada 370)が非力で、転送速度もそこそこといったところ。
とはいえ、自分の用途には十分な性能なので良い買い物ではありました。

今回も同じシリーズでReadyNAS 104を買おうかな、とも考えたのですが、せっかくなら新しい製品にしようと思い色々物色することに・・・。

Read more…

DELL XPS 13 9343 無線LANカード換装

2015/12/13

半年ほど前にXPS 13(9343)を購入したのですが、評判の通りとても良いマシンで気に入っています。
やっぱりある程度金出さないとダメなんだなあと思いました。
Skylakeが搭載された新しいモデル(9350)も販売されているらしいですね。

さて、今回は内蔵の無線LANカード(DELL  DW1560)をIntel Dual Band Wireless-AC 7265へ換装するお話です。
なぜ換装したかといえば、このPCにはFedoraをインストールして使っているのですが、どうもWiFI接続が不安定なのです。DELL DW1560の中身はBroadcom BCM94352Zなのですが、b43ではサポートされておらず、broadcom-wlを導入する必要があります。

当初は問題なく動作していると思いきや、度々全く接続できなくなったり、特定のAPに接続できなかったり、Bluetoothが動作しないなどの症状が出ていました。
有線LANが使えないので、WiFiが不安定なのは致命傷です。

Arch Linux WikiのDell XPS 13 (2015)ページを見ても、メインラインカーネルでサポートされているIntel 7265に換装した方が幸せになれそうということが分かります。
早速どこで買おうかと色々検索したのですが、国内よりAmazon.comの方が安いことが分かり日本円にして3,330円で購入できました。Amazon.co.jpにも3,000円前後のものがありますが、それはWireless-Nで802.11 acに対応していないモデルなので要注意です(偽物もあるかも)。

Amazon.com: Intel 7265NGW Dual Band 2×2 Wireless AC + Bluetooth 4.0 M2 Interface Also Supports 802.11 AC-B/G/N

注文から10日ほどで到着しました。それでは換装作業です。
例によってサービスマニュアルに分解から換装まで丁寧に記載されているので、それほど困りませんね。

Dell 製品サポート: XPS 13 9343 サービスマニュアル PDF (8748 KB)

p.12~の通り、裏面のベースカバーさえ外せてしまえば、あとは簡単です。
とは言いつつも、ネジを全て外した後、カバーのツメが非常に外しづらく、無理に力を入れれば折れます。(数カ所折れてしまいました・・・)
アルミ削り出しの筐体であの薄さですから、遊びも少なく少し歪ませることもできません。
図中にもありますが、ヒンジの側から何か差し込んで少しずつ外していく必要があります。
私はステンレス直定規でこじ開けつつ竹串を挟んで作業しましたが、プラスティック製のスクレーパーがあったほうが良いと思います。

XPS13_1

写真中央にあるのがSSDで、右上に「WLAN」と書かれているのが無線LANカードです。
ちゃちゃっと交換して、カバーを戻して、起動。

無事認識して、正常に動作していました!
以前あったような症状も一切なくなり、快適そのものです。
数千円のお金と多少の時間をかけてでも、やる価値はありますね。

Open Web Board のBLE Notification のバグ修正

2015/3/21

KDDIが発表したFirefox OSを搭載した開発ボード「Open Web Board
イメージファイルやソースコードも公開されました。

au Firefox OS 関連技術情報: http://opensource.kddi.com/owb/#download

以前、とあるイベントでOpen Web BoardとBLEデバイスを使ったアプリ開発をしていたのですが、その際にOpen Web BoardのGeckoに独自実装されているBLE GATTのNotificationの値が取れないというバグを発見しました。
現時点(2015.1.23公開)のソースコードでも未修正のようなので、まとめておきます。


ソースコードの取得についてはKDDIのサイトに書いてある通りです。

イメージファイル作成方法: http://opensource.kddi.com/owb/owbsource.html

ビルド環境についてはMDNを参照のこと。私が以前書いた記事も参考になるかもです。
(=>ZTE OPEN C FirefoxOS(B2G)をビルドしてアップデートする2

また、ビルドすると以下のようなエラーで止まってしまうので、Makefileの修正が必要です。

device/rockchip/rksdk/BoardConfig.mk:57: *** 空の変数名. 中止.

コロンとイコールの間にスペースが入ってしまっているだけです。

--- device/rockchip/rksdk/BoardConfig.mk.orig   2015-01-07 14:47:22.000000000 +0900
+++ device/rockchip/rksdk/BoardConfig.mk        2015-03-21 01:20:09.295321600 +0900
@@ -54,7 +54,7 @@
 include device/rockchip/rksdk/wifi_bt_common.mk

 #Bluetooth
-BOARD_HAVE_BLUETOOTH : = true
+BOARD_HAVE_BLUETOOTH := true
 BOARD_HAVE_BLUETOOTH_BCM := true

 #xuxy add

本題のBLEの修正は以下のようになります。(Gist)

--- ./gecko/dom/bluetooth/bluedroid/BluetoothGatt.cpp.orig      2015-03-19 02:05:19.361468298 +0900
+++ ./gecko/dom/bluetooth/bluedroid/BluetoothGatt.cpp   2015-03-19 02:50:24.378295237 +0900
@@ -2922,7 +2922,9 @@
     data_conn_id.AppendInt(mNotifyConnCommPara.connId);

     nsString data_value;
-//    data_value.APpendInt(mNotifyParaData);
+    char strValue[MAX_HEX_VAL_STR_LEN];
+    array2str(mNotifyParaData.value, mNotifyParaData.len, strValue, sizeof(strValue));
+    data_value = NS_ConvertUTF8toUTF16(strValue);

     nsString data_bdAddr;
     BdAddressTypeToString(&mNotifyParaData.bda, data_bdAddr);

以下のAPI仕様によると、Notification のデータは void onnotify(BluetoothGattEvent gattEvent) のパラメータgattEvent.value で DOMString として取得できます。
ソースコードを見ても分かるように、データのバイト配列を16進数文字列に変換しています。
アプリ側でデータを使うにしても、割と泥臭い処理を書く必要がありますね…

Open Web Board / BLEマニュアル API仕様: http://opensource.kddi.com/owb/owbble.html#api

ちなみに、早い段階でOpen Web Boardを入手された方への注意点があります。
BLE APIの名前が navigator.mozBle から navigator.owbBle へ変更されているので、以前のバージョンのサンプルプログラム等を参照されている場合は変更が必要です。
まだ独自実装の段階なので、ベンダープレフィックスがmozからowbへ変更されたのでしょう。

そういえば、以下との兼ね合いはどういう感じなんでしょうかね?

mozilla wiki: B2G/Bluetooth/WebBluetooth-v2