ラベル ハードウェア検証 の投稿を表示しています。 すべての投稿を表示
ラベル ハードウェア検証 の投稿を表示しています。 すべての投稿を表示

2017-06-23

[.tested][IoT] Omron ヒューマンビジョンコンポ (HVC-P2) 評価用カスタムハンドラ

Omron HVC-P2は、人の状態を認識できる画像センサモジュールです。


HVC-P2|HVC(Human Vision Components )シリーズ|製品ラインナップ|オムロン人画像センシングサイト:+SENSING

SwapImage





OBDN技術ブログによる動作検証は、該当するデバイスやソフトウェアの動作について、保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
OpenBlocks IoT BX1/EX1/VX1 基本ソフトウェア Ver2.11 / kernel 3.10.17-poky-edison

githubに評価用ソースコードをcommitしましたので、ご利用ください。
本コードは、IoT基本ソフトウェア向けのカスタムハンドラとして動作します。
ユーザハンドラを定義して、WebUIにて送信先などの設定を行ってください。
すでに別のカスタムハンドラをご利用の場合は、ソースコードのunix domain socket名を変更する必要があります。

https://github.com/goto2048/hvcp2_for_openblocksiot


・注意点

OpenBlocks IoT BX1で使用する場合、内蔵のモデムが/dev/ttyACM0から始まるモデムデバイスとなります。
HVC P2も同様にttyACMxxというデバイスとして認識されるため、udev等で/dev/ttyACM7に固定しないと、本デバイスが先に認識されてしまう関係上、3G通信が出来なくなる可能性があります。
それぞれdmesgでデバイス名の確認をし、ソースコード上のSERIAL_PORTの定義を変更してください。


顔認識の最大数は35ですが、35人分のJSONデータは基本ソフトウェアの機能で送信出来るペイロードのサイズ(4KB)を超えますので、適宜、最大数を設定する/定義したkey名を短くするなどのパッチをソースコードに当ててください。

評価用として、gotoがquick hackしたものですので、未サポートとなります。


2015-03-13

[.tested] 受信したiBeaconの情報をIBM Bluemixで処理するためのゲートウェイ [BX1]


スマホをビーコンの受信機とした位置情報の取得は、現在各地で実証実験が行われているところですが、小型で安価なビーコンタグの普及の加速により、その逆の形として、ビーコンを取り付けたモノや人の位置情報をビーコンの受信機により検知し、クラウド処理する事案が増えています。

今回は、ibeaconの信号を受信し、uuid、受信したゲートウェイのデバイスID、電波強度であるrssiをIBMのBluemixで処理するためのゲートウェイソフトウェアの例を紹介します。



OBDN技術ブログによる動作検証は、該当するデバイスやソフトウェアの動作について、保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
OpenBlocks IoT BX1 Debian wheezy 7.8 / kernel 3.10.17-poky-edison

1. 事前準備


・ネットワークへの接続

BX1 を外部ネットワークに接続可能な状態にします。本体にSIMを入れることにより3G通信も可能ですが、開発環境の構築や、パッケージの入手などはWifi 環境に接続するか、USB分岐ケーブルにUSB-Etherアダプタなどを利用して有線LAN接続することをおすすめします。

以下、WebUIの無い、先行開発キットでの手順となります。

・bluetoothの設定

Bluetoothは、初期状態ではblockしてありますので、rfkillコマンドによりunblockしてください。
具体的には、以下の手順で手動で行うか、

# bluetooth_rfkill_event &
# rfkill unblock bluetooth

以下の3行をrc.localに追加します。

bluetooth_rfkill_event &
sleep 1
rfkill unblock bluetooth

・node.jsのインストール

node.jsのインストール方法は、前回の記事を参照してください。

---
WebUIのインストールされた製品を使用される場合は、node.jsパッケージはインストール済、かつbluetooth設定はWebUIより行いますので、以下の手順でnpmだけを追加インストールしてください。


# export TMPDIR=/var/tmp
# curl -L https://npmjs.org/install.sh | sh


2. ibeaconゲートウェイソフトウェアの構築


ソフトウェアを構築するディレクトリを作成します。

# mkdir ibeacon
# cd ibeacon

node.jsを使用してibeaconの送受信を行うbleaconモジュールを導入します。
bleaconの導入には、 libbluetooth-devパッケージも必要なため、導入していない場合は合わせてインストールしてください。

# aptitude update
# aptitude install libbluetooth-dev
# npm install bleacon

bluemixへデータを送信するためのMQTTクライアントライブラリおよび、getmacライブラリをインストールします。

# npm install mqtt
# npm install getmac

次に、ゲートウェイプログラムを作成します。

# vi ib2b.js

ib2b.js

var bleacon = require("bleacon");
var mqtt = require('mqtt');
var getmac = require('getmac');

// constants
var u_port = "1883";
var s_port = "8883";
var pub_topic = "iot-2/evt/sample/fmt/json";
var sub_topic = "iot-2/cmd/blink/fmt/json";
var qs_org = "quickstart";
var reg_domain = ".messaging.internetofthings.ibmcloud.com";
var qs_host = "quickstart.messaging.internetofthings.ibmcloud.com";
var qs_type = "iotsample-ti-bbst";
var configFile = "./device.cfg";
var ledPath ="/sys/class/leds/beaglebone:green:usr";
var caCerts = ["./IoTFoundation.pem", "IoTFoundation-CA.pem"];


// globals
var org = qs_org;
var type = qs_type;
var host = qs_host;
var deviceId;
var clientId;
var password;
var username;

getmac.getMac(function(err, macAddress) {
    if (err) throw err;
     console.log(macAddress);
     deviceId = macAddress.replace(/:/g, '').toLowerCase();
     clientId = "d:" + org + ":" + type + ":" + deviceId;
     console.log('MQTT clientId = ' + clientId);
     client = mqtt.createClient(u_port, host, {
     clientId : clientId,
     keepalive : 30
     });
     console.log('MAC address = ' + deviceId);
     console.log('Go to the following link to see your device data;');
     console.log('http://quickstart.internetofthings.ibmcloud.com/#/device/' + deviceId + '/sensor/');
     bleacon.startScanning();
});

bleacon.on('discover', function(bleacon) {
        var tagData = {};
        tagData.d = {};
        //       console.log(bleacon);

        tagData.d.deviceid = deviceId;
        tagData.d.uuid = bleacon.uuid;
        tagData.d.rssi = bleacon.rssi;
        tagData.d.proximity = bleacon.proximity;

        tagData.toJson = function() {
           return JSON.stringify(this);
        };

        console.log(pub_topic, tagData.toJson());
        console.log(tagData.toJson());
        client.publish(pub_topic, tagData.toJson() );

});

3. ゲートウェイソフトウェアの起動


ibeaconの送信機を用意して、上記で作成したJavascriptプログラムを起動します。

root@bx1:~/ibeacon# node ib2b
34:95:db:28:41:d2
MQTT clientId3 = d:quickstart:iotsample-ti-bbst:3495db2841d2
createClient is deprecated, use connect instead
MAC address = 3495db2841d2
Go to the following link to see your device data;
http://quickstart.internetofthings.ibmcloud.com/#/device/3495db2841d2/sensor/
iot-2/evt/sample/fmt/json {"d":{"deviceid":"3495db2841d2","uuid":"1ae18c1c6c7b4aedb1664462634da855","rssi":-56,"proximity":"immediate"}}

デバッグ用にBluemixへ送信するデータの内容をコンソール出力していますので、不要な場合は削除してください。

3. Bluemix側の設定


Bluemix側は、前回と同じテンプレートが利用できます。



JSON形式で出力されるデータは、
deviceid: ゲートウェイのアドレス
uuid: 検出したibeaconのuuid
rssi: 電波強度
proximity: 相対距離の情報
となります。

bleaconライブラリで得られるパラメータを追加したい場合は、以下のJavascriptプログラムの出力を参考にしてください。

discover.js

var Bleacon = require("bleacon");
Bleacon.startScanning();
Bleacon.on("discover", function(bleacon) {
  console.dir(bleacon);
});

root@bx1:~/ibeacon# node discover.js
{ uuid: '1ae18c1c6c7b4aedb1664462634da855',
  major: 0,
  minor: 0,
  measuredPower: -82,
  rssi: -49,
  accuracy: 0.22312232579283153,
  proximity: 'immediate' }

4. 最後に


iBeaconのハードウェアレポートに関しては、若干古い情報にはなりますが、以下のページが参考になると思います。

The Hitchhikers Guide to iBeacon Hardware: A Comprehensive Report by Aislelabs



2014-06-09

[.tested] Planex GW-450D 無線LANアダプタ [AX3][A7][A6]

Planex GW-450Dは、802.11ac/n/a/g/bに対応したUSB無線LANアダプタです。
GW-450Dは、写真の小型のタイプと、稼働式アンテナのついたGW-450D KATANAがありますが、アンテナ以外は同一の設計の製品と思われます。
Openblocks AX3およびA7での動作検証を行いました。


OBDN技術ブログによる動作検証は、該当するデバイスの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
OpenBlocks AX3/4 Debian 7.5 kernel: 3.2.54
OpenBlocks A7 Debian 7.5 kernel:3.2.54

1. 対応ドライバと事前準備


GW-450Dは、MediaTek MT7610Uを採用しており、現在AX3およびA7/A6に搭載されたカーネル3.2.54ではサポートされていません。
Planex社の以下のページにおいて、開発者向け情報が公開されています。

開発者向け情報|無線LAN USBアダプタ|プラネックス:

ドライバのソースコードは、上記のページよりダウンロードできますが、今回はチップセットメーカであるMediaTek社のホームページよりダウンロードし、OpenBlocks向けにビルドしました。

・カーネル構築環境の導入

本ドライバは、ビルドする際に、カーネルの構築環境を参照するため、build-essentialsによる開発環境の構築のみでは、ドライバのビルドが出来ません。
以下の手順を参考に、カーネルのソースを導入し、make modules_installまでを行っておく必要があります。

カーネルのカスタマイズ手順について(非公式版) [AX3][A6]

・ソースコードの入手と展開

以下のページの、7610U USBよりファイルをダウンロードして下さい。

Downloads - MediaTek:

ダウンロードしたファイルは以下の手順で解凍してください。

# tar jxfv mt7610u_wifi_sta_v3002_dpo_20130916.tar.bz2
# cd mt7610u_wifi_sta_v3002_dpo_20130916

common/rtusb_dev_id.cを編集します。
同じバージョンのドライバパッケージを使用する場合は、以下のdiff出力をpatch適用して下さい。
アップデートにより内容が変更されている場合は、参考にして書き換えてください。

diff -u rtusb_dev_id.c.orig rtusb_dev_id.c
--- rtusb_dev_id.c.orig 2014-06-09 15:18:30.209980000 +0900
+++ rtusb_dev_id.c      2014-06-09 15:19:43.299980000 +0900
@@ -36,6 +36,7 @@
 /* module table */
 USB_DEVICE_ID rtusb_dev_id[] = {
 #ifdef MT76x0
+       {USB_DEVICE(0x2019,0xab31)}, /* MT7610U */
        {USB_DEVICE(0x148F,0x7610)}, /* MT7610U */
        {USB_DEVICE(0x0E8D,0x7610)}, /* MT7610U */
        {USB_DEVICE_AND_INTERFACE_INFO(0x0E8D, 0x7630, 0xff, 0x2, 0xff)}, /* MT7630U */

os/linux/config.mkを編集し、wpa_supplicantのサポートをyにします。

# diff -u config.mk.orig config.mk
--- config.mk.orig      2014-06-09 15:22:00.759980000 +0900
+++ config.mk   2014-06-09 15:22:17.039980000 +0900
@@ -23,12 +23,12 @@

 # Support Wpa_Supplicant
 # i.e. wpa_supplicant -Dralink
-HAS_WPA_SUPPLICANT=n
+HAS_WPA_SUPPLICANT=y


 # Support Native WpaSupplicant for Network Maganger
 # i.e. wpa_supplicant -Dwext
-HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n
+HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

 #Support Net interface block while Tx-Sw queue full
 HAS_BLOCK_NET_IF=n

変更後、make および installを行います。

# make install

README_STA_usbを参考に、コンフィギュレーションファイルをコピーします。

# mkdir /etc/Wireless/RT2870STA
# cp RT2870STA.dat  /etc/Wireless/RT2870STA/RT2870STA.dat

A7の場合は、デバイスをUSBポートに差し込めば認識するのですが、AX3の場合は、ubootが設定したvmallocのサイズの関係で、ドライバがvmallocに失敗したというメッセージを出し、起動しません。
起動時に一旦ubootに入り、

# openblocks> setenv miscargs vmalloc=200M

として、拡張する必要がありました。

デバイスは、/dev/ra0となります。

ra0       Link encap:Ethernet  HWaddr 00:22:cf:e2:4d:39
          inet addr:192.168.10.95  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::222:cfff:fee2:4d39/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:247723 errors:9 dropped:0 overruns:0 frame:0
          TX packets:1591 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:62913475 (59.9 MiB)  TX bytes:128084 (125.0 KiB)

起動時に立ち上がらない場合は、
/etc/modulesに
mt7650u_sta
を追加してください。

2. wpasupplicantパッケージの導入および設定


以下の記事を参照して下さい。

[.tested] Logitec LAN-W150N/U2WH(BK) 無線LANアダプタ [AX3]

以下の通り、クライアントモードでの動作を確認しました。

# iwconfig ra0
ra0       Ralink STA  ESSID:"******"  Nickname:"MT7610U_STA"
          Mode:Managed  Frequency=2.412 GHz  Access Point: 00:1D:73:C2:F4:00
          Bit Rate=108 Mb/s
          RTS thr:off   Fragment thr:off
          Encryption key:9394-8D4B-D889-F2A3-0EF7-E943-73A8-719C [3]   Security mode:open
          Link Quality=64/100  Signal level:-73 dBm  Noise level:-73 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

3. さいごに


今回は、クライアント接続のみのテストとしています。
AP化に関しては、hostapdが本アダプタをサポートしておらず、また、realtek社の様に専用のhostapdの配布もされていないため、今回は特に追いかけていません。
新たな情報が入り次第、追記させていただきます。

[.tested] Planex GW-450S 無線LANアダプタ [AX3][A7][A6]

Planex GW450Sは、802.11ac/n/aに対応した5GHz帯専用のUSB無線LANアダプタです。
Openblocks AX3およびA7での動作検証を行いました。


OBDN技術ブログによる動作検証は、該当するデバイスの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
OpenBlocks AX3/4 Debian 7.5 kernel: 3.2.54
OpenBlocks A7 Debian 7.5 kernel:3.2.54

1. 対応ドライバと事前準備


GW-450Sは、Reaktek 8811AUを採用しており、現在AX3およびA7/A6に搭載されたカーネル3.2.54ではサポートされていません。
Planex社の以下のページにおいて、開発者向け情報が公開されています。

開発者向け情報|無線LAN USBアダプタ|プラネックス:

ドライバのソースコードをこのページのリンクからダウンロードし、OpenBlocks向けにビルドする必要があります。
(2014/06/06現在、Reaktek社の製品情報ページからは8811Uの情報が検索出来ません)

Realtek社のチップセットに関しては、以下の記事で行った手順にて検証作業を行います。

[.tested] Planex GW-USValue-EZ/GW-USWExtreme/GW-USNano2 無線LANアダプタ [AX3][A6]

・カーネル構築環境の導入

本ドライバは、ビルドする際に、カーネルの構築環境を参照するため、build-essentialsによる開発環境の構築のみでは、ドライバのビルドが出来ません。
以下の手順を参考に、カーネルのソースを導入し、make modules_installまでを行っておく必要があります。

カーネルのカスタマイズ手順について(非公式版) [AX3][A6]

・ソースコードの入手と展開

展開には、unzipが必要となります。

# aptitude install unzip

上記、Planex社の開発者向け情報より、Linux版のソースコードを入手します
ダウンロードしたファイルは以下の手順で解凍してください。

# unzip gw-450s_driver_linux_v424.zip
# cd gw-450s_driver_linux_v424
# unzip RTL8811AU_linux_v4.2.4_9533.20131209.zip

このパッケージは、ターゲットが対応する機器ならば、作成されたディレクトリへ移動し、
install.shによりインストールが行えるのですが、Openblocksは対応機器にありませんので、
以下の手順によりドライバパッケージのコンパイルおよびインストールを行います。

# cd RTL8811AU_linux_v4.2.4_9533.20131209
# cd driver
# tar xvzf rtl8811AU_linux_v4.2.4_9533.20131209.tar.gz
# cd rtl8811AU_linux_v4.2.4_9533.20131209

Makefileを編集します。
同じバージョンのドライバパッケージを使用する場合は、以下のdiff出力をpatch適用して下さい。
アップデートにより内容が変更されている場合は、参考にして書き換えてください。

# diff -u Makefile.orig Makefile
--- Makefile.orig       2014-06-06 10:02:14.427254000 +0900
+++ Makefile    2014-06-06 10:05:18.947254000 +0900
@@ -52,7 +52,8 @@
 CONFIG_LOAD_PHY_PARA_FROM_FILE = y
 CONFIG_ODM_ADAPTIVITY = n

-CONFIG_PLATFORM_I386_PC = y
+CONFIG_PLATFORM_I386_PC = n
+CONFIG_PLATFORM_OBS_ARM = y
 CONFIG_PLATFORM_ANDROID_X86 = n
 CONFIG_PLATFORM_JB_X86 = n
 CONFIG_PLATFORM_ARM_S3C2K4 = n
@@ -709,6 +710,17 @@
 CROSS_COMPILE ?=
 KVER  := $(shell uname -r)
 KSRC := /lib/modules/$(KVER)/build
+MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/
+INSTALL_PREFIX :=
+endif
+
+ifeq ($(CONFIG_PLATFORM_OBS_ARM), y)
+EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
+SUBARCH := $(shell uname -m | sed -e s/i.86/i386/)
+ARCH ?= arm
+CROSS_COMPILE ?=
+KVER  := $(shell uname -r)
+KSRC := /lib/modules/$(KVER)/build
 MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/
 INSTALL_PREFIX :=
 endif

また、本デバイスのデバイスIDをドライバソースコードに追加する必要があります。
os_dep/linux/usb_intf.cを編集し、RTL8821Aの項目にデバイスIDを追加登録してください。

#ifdef CONFIG_RTL8821A
        /*=== Realtek demoboard ===*/
        {USB_DEVICE(USB_VENDER_ID_REALTEK, 0x0811),.driver_info = RTL8821},/* Default ID */
        {USB_DEVICE(USB_VENDER_ID_REALTEK, 0x0821),.driver_info = RTL8821},/* Default ID */
        {USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8822),.driver_info = RTL8821},/* Default ID */
        /*=== Customer ID ===*/
        {USB_DEVICE(0x7392, 0xA811),.driver_info = RTL8821}, /* Edimax - Edimax */
        {USB_DEVICE(0x04BB, 0x0953),.driver_info = RTL8821}, /* I-O DATA - Edimax */
        {USB_DEVICE(0x2001, 0x3314),.driver_info = RTL8821}, /* D-Link - Cameo */
        {USB_DEVICE(0x2001, 0x3318),.driver_info = RTL8821}, /* D-Link - Cameo */
        {USB_DEVICE(0x0E66, 0x0023),.driver_info = RTL8821}, /* HAWKING - Edimax */
        {USB_DEVICE(0x2019, 0xAB32),.driver_info = RTL8821}, /* Planex - Abocom */
#endif

変更後、make および installを行います。

# make install

デバイスをUSBポートに差し込めば認識します。
デバイスは、/dev/wlan0となります。

起動時に立ち上がらない場合は、
/etc/modulesに
8821au
を追加してください。

本ドライバは、そのままmake するとデバッグメッセージをconsoleに表示しますので、console作業等で気になる場合は、include/autoconf.hにおいて、DEBUGもしくはDBGと書かれたdefine行をコメントアウトすることにより抑止出来ます。

2. wpasupplicantパッケージの導入および設定


以下の記事を参照して下さい。

[.tested] Logitec LAN-W150N/U2WH(BK) 無線LANアダプタ [AX3]

本製品は5GHz帯専用の製品ですので、AP側も対応したものを使用する必要があります。

以下の通り、クライアントモードでの動作を確認しました。

# ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 00:22:cf:eb:8d:2b
          inet addr:192.168.10.107  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::222:cfff:feeb:8d2b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:19492 errors:0 dropped:3063 overruns:0 frame:0
          TX packets:2187 errors:0 dropped:4 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:172328795 (164.3 MiB)  TX bytes:4108434 (3.9 MiB)

# iwconfig wlan0
wlan0     IEEE 802.11an  ESSID:"******"  Nickname:"<WIFI@REALTEK>"
          Mode:Managed  Frequency:5.18 GHz  Access Point: 00:1D:73:C2:F2:A0
          Bit Rate:150 Mb/s   Sensitivity:0/0
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:****-****-****-****-****-****-****-****   Security mode:open
          Power Management:off
          Link Quality=48/100  Signal level=56/100  Noise level=0/100
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

3. さいごに


今回は、クライアント接続のみのテストとしています。
AP化や、WPSボタンの使用方法に関しては、前回の記事を参考に試してみてください。

2014-03-24

[.tested] OpenBlocks A7 3Gモデル 動作検証SIMカード一覧 (2014/3/24update) [debian Wheezy][A7]

マイクロサーバ技術課にて行った、OpenBlocks A7 3GモデルのSIMカードの動作検証結果です。


○:OK、×:NG、-:未検証

動作OK

プロバイダ名 プラン 通信速度 回線 SMS
DoCoMo Xiデータプランにねん 128kbps docomo ○
dti Serverman SIM LTE 150kbps -
NTTコム Arcstar Universal One モバイル M2M 100kbps
IIJmio プリペイドパック 下り150Mbps上り50Mbps
ミニマムスタート 200kbps
bmobile U300 300kbps
NTTPC Master’s ONE モバイル M2M (PDP=IP) 128kbps
Master’s ONE モバイル M2M (PDP=PPP)

動作NG

 

備考


PDPタイプは以下の通り

PDPタイプ


認証 IPアドレス配布 備考
PPP pppサーバ pppサーバ 情報をpppサーバで一元管理できる
IP RAN dhcpサーバ 情報が分散している
※ RAN Radio Access Network

--
2014/3/24 検証結果を更新しました。

2014-02-25

[.tested] RATOC REX-USB56 USBモデム [debian Wheezy][AX3][A7]

REX-USB56は、USB接続のアナログモデムです。 
OpenBlocks Aシリーズでの接続検証を行いました。


OBDN技術ブログによる動作検証は、該当するデバイスの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
Debian 7.0 Wheezy
OpenBlocks AX3/4 kernel: 3.2.40
OpenBlocks A7 kernel: 3.2.40

<使用機器>
OpenBlocks AX3
OpenBlocks A7
REX-USB56

1. 対応ドライバと事前準備


本デバイスは、Conexant USB MODEM CX93010 chipを採用しており、cdc_acm driverでサポートされています。
本デバイスを使用するための特別な設定は必要ありません。

dmesgの出力

usb 1-1.1: new full-speed USB device number 7 using orion-ehci
usb 1-1.1: New USB device found, idVendor=0572, idProduct=1321
usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1.1: Product: USB Modem
usb 1-1.1: Manufacturer: Conexant
usb 1-1.1: SerialNumber: 24680246
cdc_acm 1-1.1:1.0: ttyACM0: USB ACM device

lsusbの出力
# lsusb
Bus 001 Device 007: ID 0572:1321 Conexant Systems (Rockwell), Inc.

minicomにより、ATコマンドの受付を確認しました。

2. PPP接続の方法 (接続未確認)


接続は、他のモバイル通信アダプタと同様、pppconfigで設定を行います。

pppconfigをインストールします。

# aptitude install pppconfig

pppconfigの設定は以下の通りです。

Provider Name  xxx
Configure Nameservers (DNS)  Dynamic
Authentication Method for test  PAP
User Name  アカウント名(*1)
Password  パスワード(*1)
Speed  115200
Pulse or Tone  Tone
Phone Number
 xxx-xxx-xxxxx
Choose Modem Config Method  No
Select Modem Port  Manual
Manually Select Modem Port  /dev/ttyACM0

(*1) プロバイダより提供されたアカウント名、パスワードを使用してください。
(*2) プロバイダより提供された番号を使用してください。

eth0や他のインタフェースが有効になっている場合は、/etc/ppp/peers/xxxに、以下の行を加えることにより、defaultrouteが変更されます。

replacedefaultroute


一般的には、上記の設定で接続出来るはずです。

はずです、と書いたのは、現在当社もしくは私個人には、アナログのダイヤルアップ接続先の契約がないことと、当社の電話回線の設定で、0088番で始まる契約フリーな接続サービスへの発呼も出来ないことが原因です。

そのため、本デバイスの通信機能に関しては、次項の通り、fax送信により行いました。

3. efaxによるfax送信による検証


REX-USB56は、G3 FAXにも対応していますので、efaxにより設定を行いました。

efaxをインストールします。

# aptitude install efax

efaxの設定は、送信のテストのみのため、最低限の設定のみ行っています。


 :
DEV=ttyACM0
 :
FROM="+81 3 3xxx xxxx"
:
NAME="PLAT'HOME OBDN_Magazine"
:
TELCVT='sed -e s/+81 */0/'            # JP
:
DIALPREFIX="P"
:


postscript形式のファイルを用意し、送信してみます。

#fax send -v <発信先電話番号> test.ps

psファイルは、ghostscriptなどを使用してpdfファイル等から変換してもいいでしょう。

上記の手順にてfax送信を行い、受信を確認しました。

4. さいごに


 今回は、モデムの各種設定や、発呼、fax送信までの確認を行いました。
 検証としては、不完全な状況ですが、お貸出の期限もあるため、今回はここまでとします。



2013-12-12

[.tested] TI CC2541 SensorTag Development Kit[debian Wheezy][AX3][A7]




先日、以下の記事で紹介した、TI CC2541 SensorTag Kitと、OpenBlocks Aシリーズとの接続評価を行いました。

TI CC2541 SensorTag Development Kit


OBDN技術ブログによる動作検証は、該当するデバイスの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
Debian 7.1 Wheezy
OpenBlocks AX3/4 kernel: 3.2.40
OpenBlocks A6/A7 kernel: 3.2.40

1. 事前準備


本装置は、Bluetooth LEにより通信を行うため、OpenBlocks本体に、USB Bluetoothアダプタを接続して使用します。
Bluetoothアダプタに関しては、以下の記事において、一部製品の接続検証を行っております。

 周辺機器接続テスト

上記の記事に、Bluetooth接続に関する説明を記述しておりますが、今回は、Bluetooth LEによる接続であるため、手順に関しては本記事にて説明します。

Bluez 5.12の導入

Debian Wheezyにて提供されるbluezパッケージでは、gatttoolによるデータのwriteが出来ず、Web検索したところ、以下のページを参考に、5.12をインストールしました。
また、下記ページでは今回使用したデバイスそのもののテストも行っています。

Michael Saunby: Raspberry Pi and TI CC2541 SensorTag:

導入に際しては、事前に開発環境のインストールを行ってください。
( すでに行っている場合は必要ありません)

# aptitude install build-essential

Bluez 5.12のビルドに必要なライブラリをインストールします。

# aptitude install libglib2.0-dev libdbus-1-dev libusb-dev libudev-dev libical-dev systemd libreadline-dev

Bluez 5.12を入手し、解凍します。

# wget https://www.kernel.org/pub/linux/bluetooth/bluez-5.12.tar.xz
# tar -Jxvf bluez-5.12.tar.xz

INSTALLドキュメントに従い、インストールします。

# cd bluez-5.12/
# ./configure
# make
# make install

2. 接続方法


CC2541のデータハンドリングは、以下のTI Wikiに記述されています。

SensorTag User Guide - Texas Instruments Wiki:


今回は、wheezyのbluetoothサポートパッケージを導入していませんので、手動でデバイスの立ち上げからテストまでを行っています。

# hciconfig hci0 up

デバイスサイドにあるスイッチを押して、BLEデバイスのスキャンを行います。


# hcitool lescan
LE Scan ...
34:B1:F7:D5:59:2A (unknown)
34:B1:F7:D5:59:2A SensorTag
 :
 :

gatttoolにより、インタラクティブにセンサーデータを取得してみます。

# gatttool -i hci0 -b 34:B1:F7:D5:59:2A -I
[34:B1:F7:D5:59:2A][LE]> connect
Attempting to connect to 34:B1:F7:D5:59:2A
Connection successful
[34:B1:F7:D5:59:2A][LE]> primary
attr handle: 0x0001, end grp handle: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb
attr handle: 0x000c, end grp handle: 0x000f uuid: 00001801-0000-1000-8000-00805f9b34fb
attr handle: 0x0010, end grp handle: 0x0022 uuid: 0000180a-0000-1000-8000-00805f9b34fb
attr handle: 0x0023, end grp handle: 0x002a uuid: f000aa00-0451-4000-b000-000000000000
attr handle: 0x002b, end grp handle: 0x0035 uuid: f000aa10-0451-4000-b000-000000000000
attr handle: 0x0036, end grp handle: 0x003d uuid: f000aa20-0451-4000-b000-000000000000
attr handle: 0x003e, end grp handle: 0x0048 uuid: f000aa30-0451-4000-b000-000000000000
attr handle: 0x0049, end grp handle: 0x0054 uuid: f000aa40-0451-4000-b000-000000000000
attr handle: 0x0055, end grp handle: 0x005c uuid: f000aa50-0451-4000-b000-000000000000
attr handle: 0x005d, end grp handle: 0x0061 uuid: 0000ffe0-0000-1000-8000-00805f9b34fb
attr handle: 0x0062, end grp handle: 0x0068 uuid: f000aa60-0451-4000-b000-000000000000
attr handle: 0x0069, end grp handle: 0xffff uuid: f000ffc0-0451-4000-b000-000000000000
[34:B1:F7:D5:59:2A][LE]> char-read-hnd 38
Characteristic value/descriptor: 00 00 00 00
[34:B1:F7:D5:59:2A][LE]> char-write-req 3c 01
Characteristic value was written successfully
[34:B1:F7:D5:59:2A][LE]> char-read-hnd 38
Characteristic value/descriptor: 4c 6d 46 60
[34:B1:F7:D5:59:2A][LE]>


上記の手順により、センサーデータから数値を取得することが出来ます。


ただし、このデバイスは常時監視する用途には向きません。
USBに直結するタイプのインターフェースも配布されていますので、別途入手して評価する予定です。

2013-12-11

[.tested] OpenBlocks AX3/A7 OpenSSLベンチマーク [debian Wheezy][AX3][A7]

OpenSSLは、DebianのパッケージよりUbuntuの方が40%前後良い結果になるのですが、原因はコンパイルオプションの違いによるものと思われます。
今回、マイクロサーバ技術課にてDebianのOpenSSLを再構築、速度検証を行った結果を、当blogにて報告します。

<検証環境>
OpenBlocks AX3/4 Debian 7.1 kernel: 3.2.40
OpenBlocks AX7 Debian 7.1 kernel: 3.2.40

OBDN技術ブログによる動作検証は、該当するソフトウェアの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

1.OpenSSLの作成


開発環境の準備

SSD併用モードの検証機を用意します。
以下のコマンドを入力して、ビルド環境を作成します。

# apt-get install build-essential devscripts
# apt-get build-dep openssl
# apt-get source opnessl


OpenSSLのビルド

configはデフォルトで。

# cd openssl-1.0.1e
# ./config
# make


2.ベンチマーク


以下のopensslのオプションコマンドによるベンチマークを行いました。

# openssl speed md5 sha rc4 aes-128-cbc aes-256-cbc -elapsed

elapsedオプション このオプションを付けた場合は、経過時間に実時間を使用します。
付けない場合は、経過時間にユーザ時間を使用します。
( timeコマンドでいうところのrealを使うかuserを使うかの違いです。)


# time
real 0m0.000s
user 0m0.000s
sys 0m0.000s

AX3

MD5

16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 3959.72k 14570.50k 45317.27k 96043.04k 142521.75k
rebuild 3176.47k 11748.89k 38143.49k 86815.81k 139127.92k

SHA


SHA1
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 4118.90k 13892.91k 37209.22k 64278.28k 81364.79k
rebuild 3258.12k 11657.12k 35595.82k 73223.14k 105856.43k

SHA256
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 1185.47k 2831.95k 21233.46k 27692.57k 30383.88k
rebuild 9166.13k 22245.57k 40425.80k 50926.48k 55104.13k

SHA512
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 1001.78k 4010.72k 5859.25k 8083.48k 9087.40k
rebuild 2900.56k 11631.05k 16581.49k 22607.95k 25313.55k

RC4

16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 76616.54k 92183.77k 99732.75k 101792.74k 101980.87k
rebuild 86311.48k 97458.94k 101188.81k 102165.26k 101828.47k

AES


AES 128 CBC
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 19698.47k 24733.85k 26619.24k 27161.86k 27324.81k
rebuild 37864.58k 48231.72k 52411.28k 53509.61k 53727.00k

AES 256 CBC
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 15526.19k 18610.97k 19649.15k 19927.86k 20001.00k
rebuild 31212.60k 37900.44k 40606.87k 41398.18k 41575.08k
A7

MD5

16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 1498.52k 5339.41k 15721.63k 30893.06k 42628.34k
rebuild 1175.85k 4268.61k 13349.97k 28286.55k 42101.42k

SHA


SHA1
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 1297.46k 4093.24k 10183.34k 16189.44k 19507.88k
rebuild 1140.14k 3761.33k 9810.09k 16310.86k 20307.97k

SHA256
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 1185.47k 2831.95k 5132.54k 6406.29k 6927.70k
rebuild 2689.97k 6131.58k 10653.60k 13119.15k 14002.60k

SHA512
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 153.51k 617.22k 871.08k 1195.69k 1349.91k
rebuild 729.19k 2926.45k 4139.18k 5635.75k 6278.72k

RC4

16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 22444.42k 25887.09k 27038.89k 27221.73k 27396.78k
rebuild 22965.96k 26169.81k 27001.28k 27336.02k 27303.04k

AES


AES 128 CBC
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 4880.32k 5504.11k 5666.79k 5733.38k 5720.79k
original 7606.46k 8501.16k 8808.19k 8854.03k 8899.24k

AES 256 CBC
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 3751.82k 4089.11k 4202.92k 4214.39k 4232.53k
rebuild 5890.15k 6452.46k 6589.41k 6650.88k 6660.10k
3.検証結果から


AX3
  • AESは2倍程度高速となります。
  • MD5は遅くなります。
  • RC4, SHA1は大きく変わりません。SHA256, SHA512は数倍高速となります。
A7
  • AESは3割程度高速となります。
  • MD5は遅くなります。
  • RC4, SHA1は大きく変わりません。SHA256, SHA512は数倍高速となります。

暗号化アルゴリズム単位で指定できるので、MD5を指定しない前提であれば、リビルドをすることにより速度向上を見込めます。

2013-12-06

[.tested] SII MB-B100-00 CDMA 1X 通信アダプタ [debian Wheezy][AX3][A7/A6]



SII MB-B100-00は、CDMA 1x 通信モジュール(セイコーインスツル製 WM-M200A)を内蔵したKDDI CDMA1x 汎用通信アダプタです。
KDDI CDMA 1x 通信サービスを利用して、パケット通信、SMS 受信、GPS 測位を行うことができます。
今回は、本装置によるパケット通信サービスをOpenBlocks AX/A7/A6で 利用するための検証を行います。

OBDN技術ブログによる動作検証は、該当するデバイスの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
Debian 7.1 Wheezy
OpenBlocks AX3/4 kernel: 3.2.40
OpenBlocks A6/A7 kernel: 3.2.40

<使用機器>
OpenBlocks AX3
OpenBlocks A6/A7
SII MB-B100-00 CDMA 1X 通信アダプタ

1. 事前準備


本装置は、RS-232Cインタフェースにより接続します。
OpenBlocksの場合は、RS-232Cポートに接続しますが、他社の外付けモデムと同様に、別売の
シリアル変換アダプタ(ストレート) PH-RD/RH/600を使用します。
(添付のクロスアダプタを使用する場合は、Dsub9pinのオスメスのシリアルクロスケーブルにより接続して下さい)


RS-232Cポートのデバイス名は、
/dev/ttyS1
になります。


2. 接続方法


接続は、他のモバイル通信アダプタと同様、pppconfigで設定を行います。

pppconfigをインストールします。

# aptitude install pppconfig

pppconfigの設定は以下の通りです。

Provider Name  au
Configure Nameservers (DNS)  Dynamic
Authentication Method for test  PAP
User Name  アカウント名(*1)
Password  パスワード(*1)
Speed  19200
Pulse or Tone  Tone
Phone Number  電話番号(*2)
Choose Modem Config Method  No
Select Modem Port  Manual
Manually Select Modem Port  /dev/ttyS1

(*1) 通信事業者より提供されたアカウント名、パスワードを使用してください。
(*2) 通信事業者より提供された番号を使用してください。

/etc/chatscripts/auを編集します。
ATZコマンドはこのモジュールの場合使用出来ません。
また、その後の処理も一部変更しています。
(****は発信する電話番号のため、置き換えてください)

# This chatfile was generated by pppconfig 2.3.18.
# Please do not delete any of the comments.  Pppconfig needs them.
#
# ispauth PAP
# abortstring
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TON
E' ABORT 'NO ANSWER' ABORT DELAYED
# modeminit
#'' ATZ
# ispnumber
#OK-AT-OK "ATDT****"
'' "ATDT****"
# ispconnect
CONNECT \d\c
# prelogin

# ispname
# isppassword
# postlogin

# end of pppconfig stuff

eth0や他のインタフェースが有効になっている場合は、/etc/ppp/peers/auに、以下の行を加えることにより、defaultrouteが変更されます。

replacedefaultroute


上記設定により、外部のサーバにアクセス出来ることを確認しました。

# pon au
# ifconfig ppp0
ppp0      Link encap:Point-to-Point Protocol
          inet addr:106.170.173.51  P-t-P:210.169.0.102  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:3 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:72 (72.0 B)  TX bytes:87 (87.0 B)

ただ、poffコマンドにより通信終了後、最初のATコマンドの出力が”NO CARRIER"となり、ponによる再ダイヤルの最初の1回目がエラーになります。
これを避けるためには、再度ダイヤルするか、リセット用の専用プログラムを作成し、ATコマンドを1度実行するなどの対策が必要かと思います。

なお、コンシューマ向けの機器と違い、M2M向けは通信データ量に対しての従量課金が細かく定義されるため、評価を行う際は、条件に注意して行ってください。

2013-09-26

[.tested] PLANEX UE-1000T-U3 Gigabit対応USB有線LANアダプタ [debian Wheezy/Squeeze][AX3][A6][A7]

PLANEX UE-1000T-U3は、ギガビットイーサネット(1000BASE-T)に対応したUSB 3.0/2.0接続の有線LANアダプタです。
Openblocks AX3およびA6/A7での動作検証を行いました。


OBDN技術ブログによる動作検証は、該当するハードウェアの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>

Debian 6.0 squeeze
OpenBlocks AX3/4 kernel: 3.0.6
OpenBlocks AX6 kernel: 2.6.31
Debian 7.1 Wheezy
OpenBlocks AX3/4 kernel: 3.2.40
OpenBlocks A6 kernel: 3.2.40
OpenBlocks A7 kernel: 3.2.40

1. 対応ドライバと事前準備


本デバイスは、ASIX社のAX88179を使用しており、lsusbの結果も、
0b95:1790 ASIX Electronics Corp.
となり、前回検証を行ったLogitec製品と基本的に同一のラインの製品であると思われます。

ドライバの導入に関しては、以下の検証記事を参考にして下さい。

[.tested] Logitec LAN-GTJU3 Gigabit対応USB有線LANアダプタ [debian Wheezy/Squeeze][AX3][A6][A7]

 2. デバイスの使用方法


内蔵のeth0等と同様に、/etc/network/interfacesで起動時の設定を行います。
A6の場合はeth1を新規に記述します。

auto eth1         # 固定アドレスの場合
iface eth1 inet static
     address 192.168.253.254
     network 192.168.253.0
     netmask 255.255.255.0
     broadcast 192.168.253.255
auto eth1         # DHCPを使用する場合
iface eth1 inet dhcp

3. 1000BASE-TXおよび100BASE-TX Hubとのリンクの確認


1000BASE-TXのSwitch Hubおよび100BASE-TXのSwitch Hubに接続し、それぞれ1000BASE-TX、100BASE-TXにてリンクアップし、通信の確認をしました。

2013-09-05

【.tested】 REX-USBDVI2+LCD-8000U2 マルチディスプレイ設定について [Debian Wheezy][AX3]



前回、CENTURY plus one LCD-8000U2の検証を行いましたが、本製品と、Displaylink社のチップセットを使用した、RATOC REX-USBDVI2 USBディスプレイアダプタとのマルチディスプレイ表示設定を行ってみました。
なお、今回AX3およびA6にてテストは行っておりますが、A6では2つめのディスプレイデバイスを認識しますが、正常に動作しません。そのため、今回の検証結果からは外しています。


OBDN技術ブログによる動作検証は、該当するハードウェアの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
Debian 7.1 Wheezy
OpenBlocks AX3/4 kernel: 3.2.40
OpenBlocks A6 kernel: 3.2.40

<使用機器>
OpenBlocks AX3 DPパッケージ (もしくは、SSD搭載モデル)
OpenBlocks A6 DPパッケージ (もしくは、SSD搭載モデル)
RATOC REX-USBDVI2 USBディスプレイアダプタ
CENTURY plus one LCD-8000U2 USB接続サブモニター
OKI Minikeyboard Pro ポインティングデバイス付きミニキーボード

1. ドライバの準備


基本的な設定に関しては、

【.tested】RATOC REX-USBDVI2 ディスプレイアダプタ [Debian Wheezy][AX3][A6] 

を参考にして下さい。
同じ環境で、REX-USBDVI2とLCD-8000Uが認識され、それぞれ/dev/fb0、/dev/fb1が割り当てられます。

dmesgの表示は以下の通りです。(AX3の場合)

udlfb: DisplayLink REX-USBDVI2 - serial #240450
udlfb: vid_17e9&pid_0129&rev_0001 driver's dlfb_data struct at f09d5000
udlfb: console enable=1
udlfb: fb_defio enable=1
udlfb: shadow enable=1
udlfb: vendor descriptor length:29 data:29 5f 01 0027 00 04 04 01 00 03
udlfb: DL chip limited to 2360000 pixel modes
udlfb: allocated 4 65024 byte urbs
mousedev: PS/2 mouse device common for all mice
udlfb: 1280x1024 valid mode
udlfb: 720x400 valid mode
udlfb: 640x480 valid mode
udlfb: 640x480 valid mode
udlfb: 640x480 valid mode
udlfb: 640x480 valid mode
udlfb: 800x600 valid mode
udlfb: 800x600 valid mode
udlfb: 800x600 valid mode
udlfb: 800x600 valid mode
udlfb: 832x624 valid mode
udlfb: 1024x768 valid mode
udlfb: 1024x768 valid mode
udlfb: 1024x768 valid mode
udlfb: 1280x1024 valid mode
udlfb: 1152x864 valid mode
udlfb: 1280x1024 valid mode
udlfb: 1280x960 valid mode
udlfb: 1152x864 valid mode
udlfb: Reallocating framebuffer. Addresses will change!
udlfb: 1280x1024 valid mode
udlfb: set_par mode 1280x1024
udlfb: DisplayLink USB device /dev/fb0 attached. 1280x1024 resolution. Using 5120K framebuffer memory
udlfb: DisplayLink LCD-8000U2 - serial #825785
udlfb: vid_17e9&pid_01bb&rev_0106 driver's dlfb_data struct at e3a1c000
udlfb: console enable=1
udlfb: fb_defio enable=1
udlfb: shadow enable=1
udlfb: vendor descriptor length:17 data:17 5f 01 0015 05 00 01 03 00 04
udlfb: DL chip limited to 1500000 pixel modes
udlfb: allocated 4 65024 byte urbs
udlfb: 800x600 valid mode
udlfb: Reallocating framebuffer. Addresses will change!
udlfb: 800x600 valid mode
udlfb: set_par mode 800x600
udlfb: DisplayLink USB device /dev/fb1 attached. 800x600 resolution. Using 1880K framebuffer memory
usbcore: registered new interface driver udlfb

fbsetは、それぞれ以下の値を返します。

# fbset -i -fb /dev/fb0

mode "1280x1024-60"
    # D: 108.003 MHz, H: 63.983 kHz, V: 60.021 Hz
    geometry 1280 1024 1280 1024 16
    timings 9259 248 48 38 1 112 3
    hsync high
    vsync high
    rgba 5/11,6/5,5/0,0/0
endmode

Frame buffer device information:
    Name        : udlfb
    Address     : 0xfa402000
    Size        : 2621440
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 0
    YPanStep    : 0
    YWrapStep   : 0
    LineLength  : 2560
    Accelerator : No

# fbset -i -fb /dev/fb1

mode "800x600-75"
    # D: 50.000 MHz, H: 47.348 kHz, V: 74.565 Hz
    geometry 800 600 800 600 16
    timings 20000 46 190 13 12 20 10
    rgba 5/11,6/5,5/0,0/0
endmode

Frame buffer device information:
    Name        : udlfb
    Address     : 0xf1a81000
    Size        : 962560
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 0
    YPanStep    : 0
    YWrapStep   : 0
    LineLength  : 1600
    Accelerator : No
root@obsax3:~#

2. X環境のインストールと設定


基本的な設定に関しては、

【.tested】RATOC REX-USBDVI2 ディスプレイアダプタ [Debian Wheezy][AX3][A6] 
【.tested】CENTURY plus one LCD-8000U2 USB接続サブモニター [Debian Wheezy][AX3][A6]

を参考にして下さい。

・X11パッケージの導入

X11の環境のインストールは以下の通りです。

# aptitude install xorg

3.マルチディスプレイ環境の設定


gnomeなどで、xrandr系のツールを使う方法が良く書かれていますが、本環境では、2つめのデバイスが認識されないようです。
そのため、xorg.confを以下の様に記述します。

・xorg.confの設定

Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Default Screen"
Screen 1 "Screen-8000" RightOf "Default Screen"
EndSection

# REX-USBDVI2

Section "Device"
Identifier "Configured Video Device"
Driver       "fbdev"
Option "fbdev" "/dev/fb0"
EndSection

Section "Monitor"
Identifier "Configured Monitor"
EndSection

Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
EndSection

Section "ServerFlags"
Option "DontZap" "False"
EndSection

# LCD-8000U2

Section "Device"
Identifier "LCD8000U2"
Driver "fbdev"
Option "fbdev" "/dev/fb1"
EndSection

Section "Monitor"
Identifier "Monitor-8000"
EndSection

Section "Screen"
Identifier "Screen-8000"
Device "LCD8000U2"
Monitor "Monitor-8000"
EndSection

上記の設定で、メインスクリーンが、:0.0 、サブスクリーンが:0.1となります。

ただし、この設定でgnome3を導入すると、メインスクリーンのステータス表示やメニュー表示に不具合が出るため、一つの解決方法として、

Option  "Xinerama" "true"
を設定しました。
この設定により、メインスクリーンに対してサブスクリーンが右側に追加された状態で1つのスクリーンとして扱われます。

Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Default Screen"
Screen 1 "Screen-8000" RightOf "Default Screen"
Option  "Xinerama" "true"
EndSection

4. Xの起動のテスト


# xinit

として、xを起動し、画面表示、入力デバイスの入力を確認してください。

5.さいごに


今回は、Debian Wheezy環境にてRATOC社のREX-UDBDVI2と、Century社製USBサブモニタのマルチディスプレイ環境の設定検証を行いました。

2013-09-03

[.tested] Logitec LAN-GTJU3 Gigabit対応USB有線LANアダプタ [debian Wheezy/Squeeze][AX3][A6][A7]

Logitec LAN-GTJU3は、ギガビットイーサネット(1000BASE-T)に対応したUSB 3.0/2.0接続の有線LANアダプタです。
Openblocks AX3およびA6/A7での動作検証を行いました。


OBDN技術ブログによる動作検証は、該当するハードウェアの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>

Debian 6.0 squeeze
OpenBlocks AX3/4 kernel: 3.0.6
OpenBlocks AX6 kernel: 2.6.31
Debian 7.1 Wheezy
OpenBlocks AX3/4 kernel: 3.2.40
OpenBlocks A6 kernel: 3.2.40
OpenBlocks A7 kernel: 3.2.40

1. 対応ドライバと事前準備


本デバイスは、ASIX社のAX88179を使用しています。
AX88179は、現在Aシリーズ向けにリリースされているどのパッケージにおいても、カーネル組み込みのasixドライバではサポートされていないため、ASIX社のWebページよりドライバソースをダウンロードしてドライバを構築、インストールする必要があります。

構築するための環境に際しては、カーネルの構築環境が必要となります。以下の記事を参考に、必要なモジュールを入手し、一度再構築を行ってください。
ドライバの構築だけの目的の場合は、ファームウェアの作成は必要ありません。

カーネルのカスタマイズ手順について(非公式版) [AX3][A6]

また、/lib/modules/<カーネルのバージョン番号>/buildが無い場合は、以下のリンクを作成してください。

# ln -s /usr/src/linux-<カーネルのバージョン番号>  /lib/modules/<カーネルのバージョン番号>/build

・ドライバのソースコードを入手

以下のページより、最新のドライバを入手してください。

ASIX AX88179 - ASIX AX88179 - USB3.0 to 10/100/1000M Gigabit Ethernet Controller:

現時点での、最新バージョン、1.5は、以下のURL操作により直接入手出来ます。

# wget http://www.asix.com.tw/FrootAttach/driver/AX88179_178A_LINUX_DRIVER_v1.5.0_SOURCE.tar.bz2
 ・ソースコードの展開

# bzip2 -d AX88179_178A_LINUX_DRIVER_v1.5.0_SOURCE.tar.bz2
# tar xvf AX88179_178A_LINUX_DRIVER_v1.5.0_SOURCE.tar

bzip2が無い場合は、aptitudeコマンドによりインストールして下さい。

・ドライバ構築およびインストール

本製品のベンダーIDおよびデバイスIDは既に定義されており、修正などは必要ありません。

# cd AX88179_178A_LINUX_DRIVER_v1.5.0_SOURCE
# make install

・ドライバの導入

デバイスをUSBポートに差し込むことによりドライバが自動的に組み込まれます。
A6/Debian 6.0のdmesgでは以下の様に出力されます。

ASIX USB Ethernet Adapter:v1.5.0 16:52:51 Sep  3 2013
                http://www.asix.com.tw
usb%d: mtu 1500

eth1: register 'ax88179_178a' at usb-ehci_marvell.70059-1, ASIX AX88179 USB 3.0 Gigibit Ethernet, 34:95:db:04:1a:90
usbcore: registered new interface driver ax88179_178a

ただし、AX3、A6、A7ともに、Debian 7.1/Kernel 3.2.40では、カーネルブート時にドライバをうまく読み込めません。(起動後に差し込むと認識します)
今回は、安易な対策にはなりますが、/etc/modulesに、以下の記述を追加し、強制的に読み込みを行うことにより回避しました。

ax88179_178a

インターフェースは、他に追加デバイスをつけていないならば、A6はeth1、AX3/2およびA7はeth2、AX3/4はeth4になります。

 2. デバイスの使用方法


内蔵のeth0等と同様に、/etc/network/interfacesで起動時の設定を行います。
A6の場合はeth1を新規に記述します。

auto eth1         # 固定アドレスの場合
iface eth1 inet static
     address 192.168.253.254
     network 192.168.253.0
     netmask 255.255.255.0
     broadcast 192.168.253.255
auto eth1         # DHCPを使用する場合
iface eth1 inet dhcp

3. 1000BASE-TXおよび100BASE-TX Hubとのリンクの確認


1000BASE-TXのSwitch Hubおよび100BASE-TXのSwitch Hubに接続し、それぞれ1000BASE-TX、100BASE-TXにてリンクアップし、通信の確認をしました。

2013-08-27

【.tested】CENTURY plus one LCD-8000U2 USB接続サブモニター [Debian Wheezy][AX3][A6]



CENTURY plus one LCD-8000U2は、USB接続のLCDディスプレイユニットです。
今回は、先日リリースされたDebian 7.1環境ににおいて本アダプタを使用したX環境の構築についての検証を行います。


OBDN技術ブログによる動作検証は、該当するハードウェアの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
Debian 7.1 Wheezy
OpenBlocks AX3/4 kernel: 3.2.40
OpenBlocks A6 kernel: 3.2.40

<使用機器>
OpenBlocks AX3 DPパッケージ (もしくは、SSD搭載モデル)
OpenBlocks A6 DPパッケージ (もしくは、SSD搭載モデル)
CENTURY plus one LCD-8000U2 USB接続サブモニター
OKI Minikeyboard Pro ポインティングデバイス付きミニキーボード

1. ドライバの準備


本製品はDisplaylink社のコントローラを使用しており、Debian Wheezyパッケージにより提供される3.2.40カーネルに標準で組み込まれたFrame Buffer用ドライバudlfbを使用します。
また、Debian Wheezyにより提供されるX環境は本ディスプレイアダプタに対応しているため、前回の評価で行ったような、ドライバの構築作業は必要ありません。

dmesgでは以下の様に表示されます。(AX3の場合)

udlfb: DisplayLink LCD-8000U2 - serial #825785
udlfb: vid_17e9&pid_01bb&rev_0106 driver's dlfb_data struct at c3a09000
udlfb: console enable=1
udlfb: fb_defio enable=1
udlfb: shadow enable=1
udlfb: vendor descriptor length:17 data:17 5f 01 0015 05 00 01 03 00 04
udlfb: DL chip limited to 1500000 pixel modes
udlfb: allocated 4 65024 byte urbs
mousedev: PS/2 mouse device common for all mice
udlfb: 800x600 valid mode
udlfb: Reallocating framebuffer. Addresses will change!
udlfb: 800x600 valid mode
udlfb: set_par mode 800x600
udlfb: DisplayLink USB device /dev/fb0 attached. 800x600 resolution. Using 1880K
 framebuffer memory
usbcore: registered new interface driver udlfb

fbsetは以下の値を返します。

# fbset -i

mode "800x600-75"
    # D: 50.000 MHz, H: 47.348 kHz, V: 74.565 Hz
    geometry 800 600 800 600 16
    timings 20000 46 190 13 12 20 10
    rgba 5/11,6/5,5/0,0/0
endmode

Frame buffer device information:
    Name        : udlfb
    Address     : 0xf1c93000
    Size        : 962560
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 0
    YPanStep    : 0
    YWrapStep   : 0
    LineLength  : 1600
    Accelerator : No

2. X環境のインストールと設定


・X11パッケージの導入

まずは、X11の環境をインストールします。

# aptitude install xorg

その他、ウィンドウマネージャ等、X11関連のパッケージリストは以下にありますので、環境整備に必要と思われるものをインストールしてください。

Debian リファレンス / 第7章 X Window システム

・Xorgの設定

特に設定の必要はありません。

3. Xの起動のテストと、ウィンドウマネージャの導入


起動の前に、A6の場合はswapを追加設定することをおすすめします。
標準状態では、swapは未使用の状態になっています。
設定方法に関しては、

OpenBlocks A6 FAQ: SWAPを設定するには、どのようにすれば良いですか

を参照してください。

# xinit

として、xを起動し、画面表示、入力デバイスの入力を確認してください。

LXDE環境の導入

今回は軽量な環境としてLXDEを導入しています。

# aptitude install --without-recommends lxde
# aptitude install --without-recommends ttf-vlgothic
# aptitude install ibus-anthy
# aptitude install --without-recommends midori

ディスプレイマネージャとしては、lightdmなどがあります。

# aptitude install lightdm


dpkg-reconfigure localesでja.UTF8を選択しておけば、環境は自動的に日本語表示環境となります。
ibus-anthyは、起動後にiBusの設定によりインプットメソッドとしてanthyを追加して下さい。

4.さいごに


今回は、Debian Wheezy環境にてCentury社製USBサブモニタの動作検証を行いました。
USBサブモニタも一頃のブームはすぎ、多くの製品は販売終了となっています。
本製品も復刻版として再登場したものです。

2013-07-24

【.tested】RATOC REX-USBDVI2 ディスプレイアダプタ [Debian Wheezy][AX3][A6]



RATOC REX-USBDVI2は、USBディスプレイアダプタです。
今回は、先日リリースされたDebian 7.1環境ににおいて本アダプタを使用したX環境の構築についての検証を行います。

( 7/24 追記 )
Debian 7.1正式版が公開されましたので、再度検証しました。
本デバイスを使用される方は、 上記リンクより、リリース版のファームウェアをご利用下さい。


OBDN技術ブログによる動作検証は、該当するハードウェアの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
Debian 7.1 Wheezy
OpenBlocks AX3/4 kernel: 3.2.40
OpenBlocks A6 kernel: 3.2.40

<使用機器>
OpenBlocks AX3 DPパッケージ (もしくは、SSD搭載モデル)
OpenBlocks A6 DPパッケージ (もしくは、SSD搭載モデル)
REX-USBDVI2 USBディスプレイアダプタ
OKI Minikeyboard Pro ポインティングデバイス付きミニキーボード

1. ドライバの準備


Debian Wheezyパッケージにより提供される3.2.40カーネルに標準で組み込まれたFrame Buffer用ドライバudlfbを使用します。
また、Debian Wheezyにより提供されるX環境は本ディスプレイアダプタに対応しているため、前回の評価で行ったような、ドライバの構築作業は必要ありません。

dmesgでは以下の様に表示されます。

udlfb: DisplayLink REX-USBDVI2 - serial #240450
udlfb: vid_17e9&pid_0129&rev_0001 driver's dlfb_data struct at eed33800
udlfb: console enable=1
udlfb: fb_defio enable=1
udlfb: shadow enable=1
udlfb: vendor descriptor length:29 data:29 5f 01 0027 00 04 04 01 00 03
udlfb: DL chip limited to 2360000 pixel modes
udlfb: allocated 4 65024 byte urbs
mousedev: PS/2 mouse device common for all mice
udlfb: 1280x1024 valid mode
udlfb: 720x400 valid mode
udlfb: 640x480 valid mode
udlfb: 640x480 valid mode
udlfb: 640x480 valid mode
udlfb: 640x480 valid mode
udlfb: 800x600 valid mode
udlfb: 800x600 valid mode
udlfb: 800x600 valid mode
udlfb: 800x600 valid mode
udlfb: 832x624 valid mode
udlfb: 1024x768 valid mode
udlfb: 1024x768 valid mode
udlfb: 1024x768 valid mode
udlfb: 1280x1024 valid mode
udlfb: 1152x864 valid mode
udlfb: 1280x1024 valid mode
udlfb: 1280x960 valid mode
udlfb: 1152x864 valid mode
udlfb: Reallocating framebuffer. Addresses will change!
udlfb: 1280x1024 valid mode
udlfb: set_par mode 1280x1024
udlfb: DisplayLink USB device /dev/fb0 attached. 1280x1024 resolution. Using 5120K framebuffer memory
usbcore: registered new interface driver udlfb

17inch液晶モニタに接続した状態で、fbsetは以下の値を返します。

# fbset -i

mode "1280x1024-60"
    # D: 108.003 MHz, H: 63.983 kHz, V: 60.021 Hz
    geometry 1280 1024 1280 1024 16
    timings 9259 248 48 38 1 112 3
    hsync high
    vsync high
    rgba 5/11,6/5,5/0,0/0
endmode

Frame buffer device information:
    Name        : udlfb
    Address     : 0xfa402000
    Size        : 2621440
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 0
    YPanStep    : 0
    YWrapStep   : 0
    LineLength  : 2560
    Accelerator : No


2. X環境のインストールと設定


・X11パッケージの導入

まずは、X11の環境をインストールします。

# aptitude install xorg

その他、ウィンドウマネージャ等、X11関連のパッケージリストは以下にありますので、環境整備に必要と思われるものをインストールしてください。

Debian リファレンス / 第7章 X Window システム

・Xorgの設定

特に設定の必要はありません。

3. Xの起動のテストと、ウィンドウマネージャの導入


起動の前に、A6の場合はswapを追加設定することをおすすめします。
標準状態では、swapは未使用の状態になっています。
設定方法に関しては、

OpenBlocks A6 FAQ: SWAPを設定するには、どのようにすれば良いですか

を参照してください。

# xinit

として、xを起動し、画面表示、入力デバイスの入力を確認してください。

Gnome環境の導入

今回のテストでは、以下の様にgnomeのパッケージをインストールしgdmによりログインが可能な状態としました。

# aptitude install gnome-desktop-environment


Debian Wheezyにはarmhf/armel版のLibreOfficeパッケージもあり、gnomeを入れると合わせて導入されるようです。


dpkg-reconfigure localesでja.UTF8を選択しておけば、環境は自動的に日本語表示環境となります。
日本語入力には、ibus-anthyを使用しています。( インストール後、システムツール-設定-iBusの設定で、インプットメソッドにAnthyを追加する必要がありました)

LXDEを使用した軽量な環境の導入

比較的軽い環境を導入したい場合は、LXDEなどがおすすめです。
必要最低限のものと、軽量なブラウザだけをインストールする場合は、以下の構成を試してみてください。

# aptitude install --without-recommends lxde
# aptitude install --without-recommends ttf-vlgothic
# aptitude install ibus-anthy
# aptitude install --without-recommends midori

ディスプレイマネージャとしては、lightdmなどがあります。

# aptitude install lightdm


dpkg-reconfigure localesでja.UTF8を選択しておけば、環境は自動的に日本語表示環境となります。
ibus-anthyは、起動後にiBusの設定によりインプットメソッドとしてanthyを追加して下さい。

4.さいごに


新しいDebian Wheezy環境にてREX-USBDVI2およびOKI Minikeyboard ProによるX環境の評価をしてみましたが、前回の様な作業が一切必要なく、非常に簡単に環境構築が行えました。
また、新ファームウェアおよびwheezy環境移行後は、本デバイスを用いたXの環境は安定して利用出来ています。