2016年1月30日土曜日

Corega WLCB-54GT を入手

コレガの無線 LAN アダプタ WLCB-54GT をインターネット・オークションにて入手しました。

今回入手したコレガ WLCB-54GT です。

概要

2.4GHz 帯に対応した IEEE 802.11 b/g のカードバス無線  LAN アダプタです。アンテナ部分の厚みが本体部分の厚みと一緒となっており、カードバス・スロットの上下に差し込むその他のカードバス機器と干渉し難いようになっていました。内部のチップには Intersil Prism GT が使用されている模様です。

コレガ WLCB-54GT の裏面です。

動作

早速 Debian Jessie が稼働しているパソコンへ装着してみました。ファームウェアが不足しているようで動作しませんでした。

lspci コマンドでカード情報を読み取ってみました。
06:00.0 Network controller: Intersil Corporation ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (rev 01)

そこで Debian Wiki を参考にして WLCB-54GT の本体内で使用するファームウェアをインストールしました。このファームウェアのインストールによって動作しました。
prism54 - Debian Wiki
https://wiki.debian.org/prism54
p54pci の項目
https://wiki.debian.org/prism54#p54pci
p54pci の項目

$ wget https://daemonizer.de/prism54/prism54-fw/fw-softmac/2.13.25.0.arm --no-check-certificate
$ su
# mv 2.13.25.0.arm /lib/firmware/isl3886pci

動作中のコレガ WLCB-54GT です。


FreeBSD 9.3 の p36 (OpenSSL) アップデート

昨日 ports の OpenSSL のアップデートが行われたので、近くシステム側でも OpenSSL のアップデートが行われるものと予想していました。やはり本日 OpenSSL のシステム・アップデートが到着しました。
以前から存在していた OpenSSL v3 での通信にも係わらず OpenSSL v2 へダウングレードを意図的に発生させて情報を読み取られてしまう脆弱性の問題がまだ残っていたようです。今回はこのダウングレード攻撃の脆弱性対策のものだそうです。
FreeBSD-SA-16:11.openssl
https://www.freebsd.org/security/advisories/FreeBSD-SA-16:11.openssl.asc

/usr/src/UPDATING の内容

20160130        p36     FreeBSD-SA-16:11.openssl
        Fix OpenSSL SSLv2 ciphersuite downgrade vulnerability. [SA-16:11]


ソースツリーの更新

subversion でソースツリーを更新しました。
# svn update /usr/src
Updating '/usr/src':
G    /usr/src/UPDATING
U    /usr/src/crypto/openssl/ssl/s2_srvr.c
U    /usr/src/sys/conf/newvers.sh
Updated to revision 295070.

ユーザランドの再ビルド

今回のアップデートでは、ユーザランドの再ビルドが必要です。
# cd /usr/src
# make buildworld

ユーザランドのインストール

# make installworld

マシンの再起動

# reboot

2016年1月29日金曜日

ELECOM WRC-300FEBK を入手

エレコムの無線 LAN ルータの WRC-300FEBK をインターネット・オークションにて入手しました。

今回入手した エレコム WRC-300FEBK です。

概要

手のひらサイズのコンパクト型の無線 LAN ルータです。小さいな筐体ですが、ちゃんと WAN ポートと 4 つの LAN ポートが備わっています。無線 LAN 部分は 2.4GHz 帯のみの IEEE 802.11 b/g/n 対応となっています。

中継器として設定

動作確認として中継器として設定をしてみました。しかし中継器として設定ができませんでした。中継器と設定すると WAN ポートが 192.168.2.251 となって、コンソールとして接続できるはずなのですが、どうしても接続できませんでした。ping などで調査しても WAN ポートの反応がありませんでした。
そこでファームウェア・バージョンが 1.02 となっていたものを最新の 1.04 へアップグレードしてみました。すると中継器として設定することができました。なお設定時には底面にあるスイッチを Auto ではなく Router へ切り替えることで中継器の設定ができました。なぜか Auto のモードでは中継器としての設定ができないようです。

分解

内部のチップがどのようになっているのか気にりましたので、早速分解してみました。底面のゴム足で隠されている二本のネジを外した後、天板を取り除くとボードが見えるようになりました。またボードは筐体内側の左右二箇所の爪で固定されているだけでした。

WRC-300FEBK のネジは T-8 のヘクスローブでした。
二本のネジを撤去した後、天板を外しました。
左右に小さな爪で固定されていました。

ボードを取り出して観察してみました。使用されている制御プロセッサは RTL8196E が使用されていました。無線部分には RTL8192ER が使用されていました。フラッシュメモリには MX25L6406E (64Mbit/8MB) が使用されていました。


ボード上にはシリアルコンソールと思われるヘッダーがありました。後日、シリアルケーブルを接続して動作確認をしてみたいと思っています。



OpenWrt の公式ウェブサイトでは RTL8196E のファームウェアは配布されていないようです。RTL819X プロジェクト としてのソースコードの配布物が存在しているようです。これをビルドすると独自のファームウェアを作ることができるようです。今後、チャレンジをしてみたいと思っています。
RTL819X download | SourceForge.net
https://osdn.jp/projects/sfnet_rtl819x/

FreeBSD OpenSSL のアップデート

FreeBSD の ports へ OpenSSL のアップデート(1.0.2_6 から 1.0.2_8 へ)が到着しました。秘匿通信で大切なソフトウェアですので、すぐにアップデートすることをお奨めします。今回のアップデートは ports 側のものですが、ユーザランドへ組み込まれている OpenSSL もアップデートされる可能性があります。
openssl-1.0.2_6  <  needs updating (port has 1.0.2_8)

Debian Jessie と Wheezy で MySQL のアップデート

Debian Jessie と Wheezy において、データベース・ソフトウェア MySQL のアップデートが到着しました。

MySQL のアップデート通知


2016年1月28日木曜日

Debian Jessie と Wheezy において Iceweasel が 38.6esr へアップデート

Debian Jessie と Wheezy において Iceweasel が 38.5esr から 38.6esr へアップデートしました。

Iceweasel 38.6esr のアップデート通知
Iceweasel 38.6esr のクレジット表示


Debian Jessie で OpenJDK のアップデート

Debian Jessie へ JAVA ランタイムのオープンソース版である OpenJDK のアップデートが到着しました。



2016年1月27日水曜日

Debian Iceweasel (Firefox) が 44.0 へアップグレード

mozilla.debian.net で配布されている最新の Iceweasel (Firefox) が  43.0.4 から 44.0 へアップグレードしました。

Iceweasel 44.0 へのアップグレード通知
Iceweasel 44.0 のクレジット表示

Iceweasel 44.0 では、ウェブサイトからのプッシュ通知の受信が可能となったそうです。
[設定]-[コンテンツ]-[通知] で通知を受けるサイトを設定できます。

[設定]-[コンテンツ]-[通知] で設定します



FreeBSD 9.3 の p35 アップデート(bind, ntp, linux)

FreeBSD 9.3 へ p35 アップデート(3個)が到着しました。

BIND では、特定の文字列で設定を行うと "off-by-one" エラーが発生するそうです。これにより様々な悪影響や悪意の攻撃を受けるそうです。
NTP では、4.2.8p5  バージョンにおいて複数(11個)の脆弱性が発見されています。これらの対策が行われているそうです。
LINUX では、Linux 互換レイヤでプログラミングエラーが発生するそうです。この対策が行われているそうです。
FreeBSD-SA-16:08.bind
https://www.freebsd.org/security/advisories/FreeBSD-SA-16:08.bind.asc

FreeBSD-SA-16:09.ntp
https://www.freebsd.org/security/advisories/FreeBSD-SA-16:09.ntp.asc

FreeBSD-SA-16:10.linux
https://www.freebsd.org/security/advisories/FreeBSD-SA-16:10.linux.asc

/usr/src/UPDATING の内容

20160127        p35     FreeBSD-SA-16:08.bind
                        FreeBSD-SA-16:09.ntp
                        FreeBSD-SA-16:10.linux

        Fix BIND remote denial of service vulnerability. [SA-16:08]

        Fix multiple vulnerabilities of ntp. [SA-16:09]

        Fix Linux compatibility layer issetugid(2) system call
        vulnerability. [SA-16:10]

ソースツリーの更新

subversion でソースツリーを更新しました。更新は 207 行に及びました。
# svn update /usr/src
Updating '/usr/src':
U    /usr/src/contrib/ntp/ntpd/invoke-ntp.conf.texi
U    /usr/src/contrib/ntp/ntpd/invoke-ntpd.texi
U    /usr/src/contrib/ntp/ntpd/keyword-gen.c
U    /usr/src/contrib/ntp/ntpd/ntp.conf.5mdoc
U    /usr/src/contrib/ntp/ntpd/ntp.conf.html
U    /usr/src/contrib/ntp/ntpd/ntp.keys.5man
U    /usr/src/contrib/ntp/ntpd/ntp.keys.html
U    /usr/src/contrib/ntp/ntpd/ntp_config.c
U    /usr/src/contrib/ntp/ntpd/ntp_io.c
U    /usr/src/contrib/ntp/ntpd/ntp_parser.h
U    /usr/src/contrib/ntp/ntpd/ntp.conf.man.in
U    /usr/src/contrib/ntp/ntpd/ntp.keys.5mdoc
U    /usr/src/contrib/ntp/ntpd/ntp.keys.man.in
U    /usr/src/contrib/ntp/ntpd/ntp_control.c
U    /usr/src/contrib/ntp/ntpd/ntp_keyword.h
U    /usr/src/contrib/ntp/ntpd/ntp_proto.c
G    /usr/src/UPDATING
  (中略)
U    /usr/src/sys/conf/newvers.sh
U    /usr/src/usr.sbin/ntp/doc/ntp.conf.5
U    /usr/src/usr.sbin/ntp/doc/ntpq.8
Updated to revision 294908.

カーネルとユーザランドの再ビルド

今回のアップデートでは、カーネルとユーザランドの再ビルドが必要です。
# cd /usr/src
# make buildworld
# make buildkernel KERNCONF=MYKERNEL

カーネルとユーザランドのインストール

# make installkernel
# make installworld

マシンの再起動

# reboot

玄人志向 玄箱(KURO-BOXX:外部電源タイプ)へシリアルコンソール

掃除をした後、仮組みの状態で放置していた玄箱(KURO-BOXX:外部電源タイプ)へシリアルコンソールの外部端子を設置しました。

今回シリアルコンソールの外部端子を設置した玄箱(外部電源タイプ)です。

これまでの状況はこの記事のとおりです。
玄人志向 玄箱(KURO-BOXX:外部電源タイプ)の整備
http://near-unix.blogspot.jp/2016/01/kuro-boxx_7.html

この玄箱へシリアルコンソールの外部端子を設置したわけですが、設置方法は電源内蔵タイプの玄箱で行った方法と一緒でした。
玄人志向 玄箱(KURO-BOX)二台目の整備
http://near-unix.blogspot.jp/2015/11/kuro-box_26.html

以下は作業の様子を撮影したものです。

以前シリアルコンソールの外部端子を設けた場所と同じ場所へ設置することとしました。
鉛筆で穴を開ける場所を決めました。
ドリルで穴を一箇所開けた後、糸のこぎりで四角く切り抜きました。
切り抜いた穴をヤスリで仕上げました。
廃棄した CD ドライブから IDE コネクタ部分を4ピン分だけ切り出しました。
ピン抜け防止のため小さな蛇の目基盤をハンダ付けした後、
コネクタの接着面に ABS 板から切り出した補強板を貼り付けたところです。
穴を開けた場所へコネクタを接着したところです。
接着剤がしっかり固着したところで、リード線をハンダ付けしました。
リード線の先をピンヘッダのソケットに加工してボードのシリアルコンソールへ差し込みました。
蓋を閉める前にシリアルコンソールの動作確認をしておきました。

シリアルコンソールの外部端子を設置したことで、ようやく玄箱の蓋を閉めることができました。

シリアルコンソールの外部端子を設置した玄箱(外部電源タイプ)です。

今までこの玄箱のボード上から直接シリアルコンソールを接続して、 Debian Jessie 3.16 の動作確認を繰り返し行っていました。これからも動作確認のために頑張ってもらう予定です。


2016年1月25日月曜日

玄箱用 Debian Jessie 8.3 ルートファイルシステムを更新

Debian Jessie がバージョン 8.2 から 8.3 へアップグレードしたことから、新規に玄箱へ Debian Jessie をインストールすることに備えて、ルート・ファイル・システム(kuro-samba-rootfs.tgz)を更新しておきました。

今までどおりの玄箱用の Debian Jessie のファームウェアの保管庫へアップロードしました。新規に玄箱へ Debian Jessie  をインストールするときには、最新のルート・ファイル・システム(kuro-samba-rootfs.tgz)を使用してください。
玄箱 Debian Jeesie のダウンロードサイト - グーグルドライブ
https://drive.google.com/folderview?id=0B5QdaY5lu2e3VlNQejlFYVBDS2c&usp=sharing

なお、すでに Debian Jessie をインストール済みの場合には、単純に apt-get のコマンドでアップグレードを行ってください。
# apt-get update
# apt-get upgrade

2016年1月24日日曜日

Debian Jessie が 8.3 へアップグレード

Debian Jessie がシステム・アップグレードしました。これにより Debian Jessie のバージョンが 8.2 から 8.3 へと変わりました。

Debian Jessie のシステム・アップグレード

玄人志向 玄箱 Debian Jessie 3.16 の USB ドライブの高速化

先日玄箱用の Debian Jessie 3.16 のカーネルのアップデートを行いましたが、今回は USB ドライブの高速化です。

現状

以前より USB ドライブへの書き込み速度が遅いことが気になっていました。USB ハードディスクでも比較的遅かったのですが、USB フラッシュメモリだと絶望的に遅くなっていました。そこで、カーネルのビルドオプションの見直しなどを行っていましたが、よい結果が得られませんでした。

なお lsusb -t コマンドで、USB ドライブの接続状況を確認すると 480Mbps と USB 2.0 High Speed となっていました。
# lsusb -t
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/3p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/5p, 480M
    |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M

さらにいろいろと調べていると原因をようやく発見しました。

原因と対策

原因はマウントオプションでした。USB ドライブのマウントには usbmount を使用しており、自動的に /media/usb0 へマウントするようにしていました。このマウント時のオプションに同期方式(sync)に指定していました。この設定を入出力に同期方式(sync)から非同期方式(async)へ変更することによって高速化することができました。

設定変更

usbmount の設定ファイル(/etc/usbmount/usbmount.conf)を編集します。"sync"  の部分を "async" へ変更します。
# vi /etc/usbmount/usbmount.conf

--- 38 行目 ---
MOUNTOPTIONS="sync,noexec,nodev,noatime,nodiratime"
        ↓↓↓
MOUNTOPTIONS="async,noexec,nodev,noatime,nodiratime"

動作改善状況

278MB のファイルを USB ドライブへコピーする時間を計測しました。USB ドライブとして使用した USB フラッシュメモリも USB ハードディスクも書き込み時間が極端に短くなりました。
USB フラッシュ・メモリの場合
・sync  動作時:27分40秒 (間違いなく27分です!)
・async 動作時: 48秒

USB ハードディスクの場合
・sync  動作時:6分7秒
・async 動作時: 34秒
 

2016年1月23日土曜日

Buffalo WLI-UC-GNHP を入手

バッファローの無線 LAN アダプタの WLI-UC-GNHP をインターネット・オークションにて入手しました。本当は単独で入手したのではなく、無線 LAN ルータの WHR-HP-GN とのセット商品として入手したものです。今回はこの子機の WLI-UC-GNHP のみの紹介です。

今回入手したバッファロー WLI-UC-GNHP です。

概要

USB プラグに直結した円筒状の本体とアンテナから構成されており、途中の三分の一の場所から折れ曲がる構造になっています。この本体とは別に USB プラグの方向を直角に変換するアダプタも一緒に付属していました。無線 LAN の動作としては、2.4GHz 帯のみの動作で IEEE 802.11 b/g/n モードに対応した製品となっています。

アンテナ部を直角に折り曲げた WLI-UC-GNHP です。

動作確認

動作確認のために Debian Jessie が稼働しているパソコンへ装着してみました。すると自動的に認識して認証さえ行えば無線 LAN 通信が可能な状態となっていました。使用されているドライバを確認すると rt2800usb が使用されていました。今まで rt2800usb のドライバを使用する無線 LAN アダプタを使用する場合には、デバイス ID をドライバへ追加して、再ビルドする必要がありましたが、本機では不要でした。念の為、rt2800usb のソースコードを確認してみると、本品のデバイス ID (0411:0158)は、元々登録されていました。そのため、Debian 公式で配布されているカーネルに付属のドライバで動作するようになっていました。

動作確認中の WLI-UC-GNHP です。

なお入手した個体では、USB プラグの接触がいまいちよくないようで、USB プラグの部分を指で触って揺らすと無線 LAN の接続が切れたり、接続し直したりしていました。せっかく入手したものですが、早速コレクションとして保管される運命となりました。

2016年1月22日金曜日

玄人志向 玄箱用 Debian Jessie 3.16 のカーネルアップデート

玄箱用の Debian Jessie カーネルをアップデート・ビルドしました。今回のビルドでカーネルは 3.16.7-ckt11-1+deb8u3 となりました。

ダウンロード

下記の玄箱用ファームウェア置き場の "Debian_Jessie_3.16" のフォルダからダウンロードして使用してください。なお "OLD" のホルダには以前の古いファームウェアを保管しています。新しいファームウェアに何か障害があった場合に備えて残しています。
玄箱 Debian Jeesie のダウンロードサイト - グーグルドライブ
https://drive.google.com/folderview?id=0B5QdaY5lu2e3VlNQejlFYVBDS2c&usp=sharing
  • kuro-kern.tgz(およそ 3MB)
  • kuro-lib.tgz(およそ 3MB)

アップデート方法

アップデートの概要としては、Debian Jessie 3.16 で動作している玄箱へ、ダウンロードした二種類のファイルを FTP で転送した後、展開してインストールします。なおシリアルコンソールでアップデートを行うのが安全ですが、telnet 接続によって作業を行うこともできます。

まず最初に作業パソコンから FTP でファームウェアを転送します。
 -- 作業パソコン --
# ftp [玄箱の IP アドレス]
    user:root, password:kuro
ftp> cd /jessie
ftp> put kuro-kern.tgz
ftp> put kuro-lib.tgz
ftp> quit

転送されたシステムファイルを解凍して、インストールします。
  -- 玄箱 --
# cd /mnt/jessie
# tar zxvf kuro-kern.tgz -C /
# tar zxvf kuro-lib.tgz -C /

以上で Debian Jessie システムのインストールは終了です。再起動させて動作確認をしてください。

なお次のディレクトリを観察して、古いライブラリ・モジュール(/lib/modules/3.16.7-ckt11 など)が存在する場合には、削除してください。新しく /lib/modules/3.16.7-ckt11_Livingston を使用します。
  -- 玄箱 --
# ls /lib/modules/
3.16.7-ckt11  3.16.7-ckt11_Livingston
("3.16.7-ckt11" のディレクトリが存在する場合、削除します。)

# rm -R /lib/modules/3.16.7-ckt11/

インストール済みのソフトウェアのアップデート

再起動したところで、再度ログインを行って一般のソフトウェアのアップデートも一緒に行ってください。
  -- 玄箱 --
# depmod -a
# apt-get update
# apt-get upgrade

万が一、動作しなくなった場合

アップデートを行って動作しなくなったときには、ハードディスクに残していたメーカ製ファームウェアを立ち上げて、Debian Jessie 3.16 の新規インストールの方法の内、「ファームウェアのインストール」 の中の「作業パソコンから FTP でシステムファイルを転送します。」の部分から再度行ってください。なお作業にはシリアルコンソールで接続しておく必要があります。そして変更したパスワードなどは、新規インストールした状態へ戻ります。単純な上書きによる再インストールのため、NAS として保存されたデータの部分はそのまま残っていると思われます。--- ごめんなさい。データが確実に残っていると確信を持って言えません。データが消去されたり破損した場合には、ご容赦ください。

玄人志向 玄箱用 Debian Jessie 通常版(カーネル3.16 版)
http://near-unix.blogspot.jp/2016/01/debian-jessie-316.html#install-ftp

Debian Fuse のアップデート

各種のファイルシステムをユーザ権限で使用できるようにする FUSE のアップデートが Debian Jessie と Wheezy に到着しました。どのようなアップデートが行われたのか不明です。

FUSE のアップデート通知


2016年1月20日水曜日

Debian Wheezy と Jessie でBind9 のアップデート

Debian Jessie と Wheezy において、名前の解決を行う Bind9 (named) のアップデートが到着しました。ネットワークで URL から IP アドレスに変換するという大切な機能を持ったソフトウェアですので、早急な更新をお奨めします。

Bind9 のアップデート通知


Debian Jessie でカーネルのアップデート

Debian Jessie においてカーネルのアップデート(3.17.7-ckt20-1+deb8u2 から 3.17.7-ckt20-1+deb8u3 へ)が到着しました。
このカーネル・アップデートによってシステム・バージョンに変化はありませんでした。

Debian Jessie 8.2

弊ブログにて公開している無線LANアダプタのドライバ・モジュールを使用している読者さんは、モジュールの再インストールが必要です。一緒に公開しているドライバ・モジュールのアップデート・スクリプトの modules-update.sh を使って更新してください。
Debian 用ドライバ保管庫
http://near-unix.blogspot.jp/p/debian.html
「カーネル・アップデート時の注意」をご覧ください。

Debian Jessieのカーネル・アップデート通知

2016年1月19日火曜日

玄人志向 玄箱用 Debian Jessie 通常版(カーネル3.16 版)

昨年末ごろから玄箱用に新しく Debian Jessie の通常カーネル版(Linux 3.16)を作っていました。以前は Linux 3.19 版を作成していましたが、玄箱での用途では最新のカーネルの必要性もないため、今後のメンテナンス性のことも考えて通常版を作りました。

さらに前回の 3.19 版では、ルートファイルシステムの作成を行っていませんでしたが、今回は新しく作りました。初めてのルートファイルシステムの作成でしたので、大変苦労しました。こんなに苦労するとは思ってもいませんでした。

以下にインストール方法などを紹介しています。必要な読者さんはダウンロードしてインストールしてください。なおインストール作業やその結果については自己責任でお願いいたします。

Debian Jessie 標準版のインストール方法

前提条件

インストールの手段にシリアルコンソールを使用することを前提にインストール方法を記述しています。内部のボード上にシリアルコンソール用のピンヘッダを取り付け、シリアルケーブルで操作パソコンへ接続する必要があります。
シリアルコンソールの転送速度:57600bps
ログインユーザ名:root、パスワード:kuro(初代)、kuroadmin(HG)

そして玄箱(初代 または HG )は、メーカ出荷状態になっているものとします。メーカ製のファームウェアがインストールされて、稼働していることが前提です。すでに玄箱の u-boot の変更などを行っている場合には、適宜インストール方法を読み替えてください。

ハードディスクの構成は、次のようになります。メーカ製のファームウェアは残した状態にしておき、このメーカ製のファームウェア上でインストール作業を行って、第3パーティションへ Debian Jessie をインストールします。u-boot の設定により、通常は第3パーティションの Debian Jessie が起動するようにします。
/dev/sda1 -- Ext3 (KURO-BOX IETSUNA) : 2GB
/dev/sda2 -- Swap : 256MB
/dev/sda3 -- Ext3 (Debian Jessie) : 残り全部

ダウンロード

以下のウェブサイトから今回ビルド(Debian_Jessie_3.16)したカーネル(kuro-kern.tgz)、ライブラリ・モジュール(kuro-lib.tgz)、ルートファイルシステム(kuro-samba-rootfs.tgz)をダウンロードしてください。なおこれらのファイルは随時更新します。インストールの直前にダウンロードしたものをご使用ください。また以前ビルドした Debian_Jessie_3.19 から間違えてダウンロードしないように注意してください。
玄箱 Debian Jeesie のダウンロードサイト - グーグルドライブ
https://drive.google.com/folderview?id=0B5QdaY5lu2e3VlNQejlFYVBDS2c&usp=sharing
  • kuro-kern.tgz(およそ 3MB)
  • kuro-lib.tgz(およそ 3MB)
  • kuro-samba-rootfs.tgz(およそ 256MB)


さらに u-boot も入れ替えますので、次のウェブサイトから u-boot のバイナリファイル(u-boot-1.2.0-hd.flash.bin)をダウンロードしてください。
LinkStation/玄箱/kernel - コンパイル済みバイナリ
http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?LinkStation%2F%E7%8E%84%E7%AE%B1%2Fkernel#g22f1206
  • u-boot-1.2.0-hd.flash.bin (初代)
  • u-boot-1.2.0-hg.flash.bin (HG)

u-boot  の入れ替え

新しいカーネルを直接起動できる u-boot へ入れ替えを行います。ここでは玄箱(初代)の場合で記述しています。玄箱 HG の場合には u-boot-1.2.0-hg.flash.bin を使用してください。
通常どおりに玄箱を起動させてください。メーカ製のファームウェアが立ち上がります。
操作パソコンから上記のコンパイル済み u-boot のバイナリファイル(u-boot-1.2.0-hd.flash.bin)をダウンロードした後、玄箱へ FTP で転送します。
 -- 作業パソコン --
$ ftp [玄箱の IP アドレス]
    user:root, password: kuro(初代)、kuroadmin(HG)
ftp> put u-boot-1.2.0-hd.flash.bin
ftp> quit
u-boot の書き換えをします。
 -- 玄箱 --
# cd ~/
# cat u-boot-1.2.0-hd.flash.bin > /dev/fl2
# reboot -- 再起動

-- 再起動直後のログ --
U-Boot 1.2.0 (Mar 26 2009 - 17:30:35) LinkStation / KuroBox

CPU:   MPC8245 Revision 1.4 at 196.608 MHz: 16 kB I-Cache 16 kB D-Cache
DRAM:  64 MB
FLASH:  4 MB
        00  0b  1317  0985  0200  ff
        00  0c  1095  0680  0101  ff
        00  0e  1033  0035  0c03  ff
        00  0e  1033  0035  0c03  ff
        00  0e  1033  00e0  0c03  ff
Net:   COMET#0
next_cons_choice: Unexpected code: 0x33
stdin :   serial
stdout:   serial
stderr:   serial
IDE:   Bus 0: OK
  Device 0: Model: ST3200827A Firm: 3.AAE Ser#: 5ND3GSWK
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 190782.2 MB = 186.3 GB (390721968 x 512)
Boot in 01 seconds ('s' to stop)...

上記の"Boot in 01 seconds ('s' to stop)..." のときに "S" キーを押すと u-boot のコンソールへ移行することができます。

setenv コマンドで次のように変数を設定します。複数行にまたがって表示されている行があります。「=>」が行の先頭部分ですので注意してください。
一箇所だけ選択して入力する部分があります。玄箱(初代)の場合には赤字の部分、玄箱 HG の場合には青字の部分を入力してください。
また以前紹介した Debian Jessie (3.19 版)のときとは、設定内容が異なりますので注意してください。
=> setenv bootargs root=/dev/sda3 rtc-rs5c372.probe=0,0x32

=> setenv hdfile boot/vmlinux.UBoot

=> setenv hdkernel boot/vmlinux.UBoot

=> setenv hddtb boot/kuroboxHD.dtb
=> setenv hddtb boot/kuroboxHG.dtb

=> setenv rootdev /dev/sda3

=> setenv hdpart 0:3

=> setenv condev ttyS1

=> setenv conspeed 57600

=> setenv hdload echo Loading ${hdpart}:${hdkernel}\;ext2load ide ${hdpart} ${ldaddr} ${hdkernel}\;ext2load ide ${hdpart} 7f0000 ${hddtb}

=> setenv boothd setenv bootargs root=${rootdev} console=${condev},${conspeed} rtc-rs5c372.probe=0,0x32\;bootm ${ldaddr} - 7f0000

設定値の保存
=> saveenv

メーカ製ファームウェアの起動
=> run flboot

ファームウェアのインストール

起動したメーカ製ファームウェアへログイン(ユーザ:root、パスワード:kuro(初代)、kuroadmin(HG) )して、インストール作業を開始します。

まず最初に SAMBA を停止させて、/mnt にマウントされている /dev/hda3 を開放します。
 -- 玄箱 --
# /etc/init.d/smb stop
# umount /mnt

 Debian Jessie をインストールする領域の /dev/hda3 をフォーマット(Ext3 形式)します。
 -- 玄箱 --
# mke2fs -j /dev/hda3
# mount /dev/hda3 /mnt

システムファイルを保存するディレクトリ(/mnt/jessie)を用意します。
 -- 玄箱 --
# mkdir /mnt/jessie

 作業パソコンから FTP でシステムファイルを転送します。
 -- 作業パソコン --
# ftp [玄箱の IP アドレス]
    user:root, password: kuro(初代)、kuroadmin(HG)
ftp> cd /mnt/jessie
ftp> put kuro-kern.tgz
ftp> put kuro-lib.tgz
ftp> put kuro-samba-rootfs.tgz
ftp> quit

転送されたシステムファイルを解凍して、インストールします。
  -- 玄箱 --
# cd /mnt/jessie
# tar zxvf kuro-samba-rootfs.tgz -C /mnt
# tar zxvf kuro-kern.tgz -C /mnt
# tar zxvf kuro-lib.tgz -C /mnt

以上で Debian Jessie システムのインストールは終了です。再起動させて初期設定を行います。u-boot は、すでに第3パーティションの Debian Jessie が起動するように設定済みです。
 -- 玄箱 --
# reboot

初期設定

無事 Debian Jessie で玄箱が起動したところで、ログイン(ユーザ:root、パスワード:kuro)を行い、初期設定を行います。
 -- 玄箱 --
Debian GNU/Linux 8 kurobox ttyS1

kurobox login: root
Password: kuro
Last login: Tue Jan 19 15:17:41 JST 2016 on ttyS1
Linux kurobox 3.16.7-ckt11_Livingston #14 Tue Jan 19 04:45:30 UTC 2016 ppc

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@kurobox:~#

 インストールしたファームウェアのシステムの依存関係の整理を行います。
 -- 玄箱 --
# depmod -a

パスワードの再設定を行ってください。パスワードの変更は強くお奨めします。
 -- 玄箱 --
# passwd

ネットワーク上に表示されるホスト名を変更する場合には、/etc/hostname を編集してください。複数の玄箱を運用する場合にはホスト名の変更は必須です。
 -- 玄箱 --
# vi /etc/hostname

kurobox ----> kurobox-hg とか?

システム内のソフトウェアの更新を行ってください。
 -- 玄箱 --
# apt-get update
# apt-get upgrade

一度電源を切って コンセントも抜いた後、本体電源スイッチを押して再起動させます。
 -- 玄箱 --
# poweroff

インストール済みのソフトウェアの紹介

以下のソフトウェアをインストール済みです。

NAS ソフトウェア(samba)
ネットワークディスクとして kuro-box の名前で他のパソコンからアクセスできます。
USB ドライブ(FAT フォーマットのみ)を接続した場合、kuro-box-usb(0-7) の名前でアクセスできます。ただし電源投入前から装着されていた USB  ドライブは認識できません。玄箱が起動して安定したところで、USB ドライブを装着してください。

時刻設定ソフトウェア(ntpdate)
起動時に玄箱の時刻をネットワーク上の NTP サーバ(jst.mfeed.ad.jp)から設定します。この時刻合わせは起動時に一回のみです。電源を常時投入したままで運用する場合などで、一定時間ごとに時刻合わせをしたいときには、crontab コマンドで ntpdate コマンドを実行させてください。なお時刻合わせのタイミングは一日一回で十分だと思います。

AVR ソフトウェア(avr-evtd)
LED ランプや電源スイッチの動作を制御する玄箱内のもうひとつのマイクロプロセッサの制御ソフトウェアです。現在のところ電源スイッチの動作しか正常に動作しません。ディスクが満杯になっても LED による警告をしません。

TELNET サーバ(telnetd)
特権ユーザの root で telnet を経由して玄箱へアクセスできます。日頃のメンテナンスは、この telent でログインして行ってください。

FTP サーバ(ftpd)
特権ユーザの root で ftp を経由して玄箱へファイルの転送ができます。

FAQ

Q. Debian Jessie をインストールした直後に玄箱の DIAG のランプが三回点滅した状態(パーティション異常)となります。
A. メーカ製ファームウェア上でインストール作業を行うときに、第3パーティションをフォーマットして破棄したことを検知して  AVR  へ通知するためです。新しい Debian Jessie をインストールした直後には、その通知が AVR に残ったままとなるため DIAG ランプが三回点滅する現象が継続します。一度、玄箱の電源を落とすと AVR の設定もリセットされるため、DIAG が三回点滅する現象はなくなります。

Q. USB メモリを USB ポートへ接続して NAS の外部ドライブとしました。USB メモリから読み出すときには問題はありませんが、書き込みを行うときにエラーとなってしまいます。
A. 次の記事を参考にして USB ドライブのマウント・オプションを変更してください。
玄人志向 玄箱 Debian Jessie 3.16 の USB ドライブの高速化
http://near-unix.blogspot.jp/2016/01/debian-jessie-316-usb.html
(2016-01-24 回答を修正しました。)

Q. 時刻を一日一回合わせる方法を教えてください。
A. crontab -e コマンドで次の設定を入力してください。
毎日午前4時に時刻合わせをする場合
0 4 * * * /usr/sbin/ntpdate-debian > /dev/null 2>&1

(2016-03-13 変更)

玄箱(初代)を前提にして記述していた記事を 玄箱 HG にも対応した記述に変更しました。

2016年1月17日日曜日

FreeBSD w3m が 0.5.3_5 へアップデート

FreeBSD の ports へテキスト・ブラウザの w3m へアップデート(0.5.3_4 から 0.5.3_5 へ)が到着しました。

どのようなアップデートが行われたのか不明です。もう完成してアップデートもないと思われた w3m だったので少々驚きでした(笑)。

w3m-0.5.3_5 でこの「電算機孝行」のウェブサイトを表示したところです。


2016年1月16日土曜日

FreeBSD 9.3 の p34 (OpenSSH) アップデート

FreeBSD 9.3 へ p34 アップデート(1個)が到着しました。

昨日 p33 アップデートを行ったばかりのところへ p34 アップデートが到着しました。今回は OpenSSH の脆弱性対策です。OpenSSH のクライアント側のメモリリークによってクライアントのユーザ鍵が漏れてしまう可能性があるそうです。Debian Linux でも OpenSSH のアップデートがあったばかりですが、これも同じ原因のようです。
FreeBSD-SA-16:07.openssh
https://www.freebsd.org/security/advisories/FreeBSD-SA-16:07.openssh.asc

/usr/src/UPDATING の内容

20160114        p34     FreeBSD-SA-16:07.openssh
        Fix OpenSSH client information leak. [SA-16:07]

ソースツリーの更新

subversion でソースツリーを更新しました。
# svn update /usr/src
Updating '/usr/src':
G    /usr/src/UPDATING
U    /usr/src/crypto/openssh/readconf.c
U    /usr/src/sys/conf/newvers.sh
 U   /usr/src
Updated to revision 294094.

ユーザランドの再ビルド

今回のアップデートでは、ユーザランドの再ビルドが必要です。
# cd /usr/src
# make buildworld

ユーザランドのインストール

# make installworld

マシンの再起動

# reboot

2016年1月15日金曜日

LINKSYS WRT54G2 V1.5 を入手

リンクシスの無線 LAN ルータの WRT54G2 V1.5 をインターネット・オークションにて入手しました。

今回入手した LINKSYS WRT54G2 V1.5 です。

概要

日本では発売されていない機種なので、元の所有者さんが米国などから個人輸入したもののようです。 WRT54G シリーズの後継機種としての位置づけのようです。以前の二本のアンテナが凛々しく突き立っている形状ではなく、お面のような外観で内部にアンテナを内蔵している形状となっています。また低価格帯の製品のためか、同様の外観を持つ製品と比較して、一体形成の部分が多くなっており、ローコスト化が図られていました。

LINKSYS WRT54G2 V1.5 の表面です。

ネット上の情報では、制御プロセッサに Atheros AR7240(400MHz)が搭載されており、メモリに 16MB、フラッシュメモリに 2MB のチップが搭載されているそうです。ファームウェアの入れ替えには、最低でも 4MB が欲しいところですので、ファームウェアの入れ替えは困難のようです。以前 WRT54G V8 において 2MB のフラッシュメモリを 4MB に置き換えましたが、JTAG でのファームウェアの書き込みが出来ない状態となり断念した経験があります。これを踏まえると安易にフラッシュメモリの交換は出来そうにありません。

LINKSYS WRT54G2 V1.5 の底面です。

動作確認

動作確認は行っていません。とりあえず電源を投入してみただけとなりました。黄緑色の LED ランプが点灯することを確認しました。

LINKSYS WRT54G2 V1.5 の LED ランプの点灯の様子です。

パッケージ

外箱も一緒に入手することができました。パッケージの外観と梱包の様子です。


LINKSYS WRT54G2 V1.5 のパッケージです。
LINKSYS WRT54G2 V1.5 の梱包の様子です。

今後

とりあえず入手したものの コレクションとして保管することとなってしまいました。

I-O DATA WN-WAG/USL を入手

アイ・オー・データの USB 無線 LAN アダプタの WN-WAG/USLをインターネット・オークションにて入手しました。IEEE 802.11 a/b/g 対応の製品です。

今回入手したアイ・オー・データ WN-WAG/USL です。

概要

以前入手していた同社製の WN-G54/USL へ 5GHz 帯の対応をした製品のようです。外観は色以外の形状は同一のものでした。そしてネット上の情報では内部のチップに zd1211rw を使用しているとのことでした。
I-O DATA WN-G54/USL を入手、デバイス ID の追加
http://near-unix.blogspot.jp/2015/09/i-o-data-wn-g54usl-id.html

アイ・オー・データ WN-WAG/USL の表面です。
アイ・オー・データ WN-WAG/USL の裏面です。

zd1211rw ドライバへデバイス ID を追加

WN-WAG/USL のデバイス ID (04bb:0937)を zd1211rw のドライバ・モジュールへ追加して動作を確認してみました。

デバイス ID の追加で問題なく動作するようになりました。ただし 2.4GHz 帯の IEEE 802.11 b/g モードだけでの動作となりました。Linux カーネルの zd1211rw のドライバ・モジュールは 2.4GHz 帯だけの動作となることが明記されていますので、仕方のないことでしょう。

なお WN-WAG/USL を動作させるには、このドライバ・モジュールの他に WN-WAG/USL の内部で使用するファームウェアも事前にパソコンへインストールしておく必要があります。
zd1211rw - Debian Wiki
https://wiki.debian.org/zd1211rw
Debian Jessie の場合
# apt-get update && apt-get install firmware-zd1211

Debian Wheezy の場合
# apt-get update && apt-get install zd1211-firmware
通信中は青色の LED ランプが明滅します。

ダウンロード

今回ビルドしたドライバ・モジュールを「Debian 用ドライバ保管庫」へアップロードしています。自由にダウンロードして使用してください。ただし自己責任でお願いいたします。

該当する Debian バージョンのホルダの中にあるドライバ・モジュールの zd1211rw.ko をダウンロードするか、私がビルドしたドライバ・モジュールを一纏めにした圧縮ファイル(tar.gz)をダウンロードして使用してください。ドライバ・ モジュールを一纏めにした圧縮ファイルのダウンロードをお奨めします。

ドライバ・モジュールを一纏めにした圧縮ファイルの場合、解凍後、ドライバ・モジュールのインストール・スクリプト modules-update.sh を特権ユーザ(root)で実行させると、自動的にドライバ・モジュールをインストールしてくれます。
$ su
# ./modules-update.sh

FreeBSD 9.3 の p33 アップデート(合計8点)

FreeBSD 9.3 へ p33 アップデート(8個)が到着しました。

以下のように 8 点もの大量のアップデートが到着しました。どれもシステムへ重大な影響を与える危険性があるそうです。早急なアップデートが必要のようです。
FreeBSD-SA-16:01.sctp
https://www.freebsd.org/security/advisories/FreeBSD-SA-16:01.sctp.asc
FreeBSD-SA-16:02.ntp
https://www.freebsd.org/security/advisories/FreeBSD-SA-16:02.ntp.asc
FreeBSD-SA-16:03.linux
https://www.freebsd.org/security/advisories/FreeBSD-SA-16:03.linux.asc
FreeBSD-SA-16:04.linux
https://www.freebsd.org/security/advisories/FreeBSD-SA-16:04.linux.asc
FreeBSD-SA-16:05.tcp
https://www.freebsd.org/security/advisories/FreeBSD-SA-16:05.tcp.asc
FreeBSD-SA-16:06.bsnmpd
https://www.freebsd.org/security/advisories/FreeBSD-SA-16:06.bsnmpd.asc
FreeBSD-EN-16:01.filemon(FreeBSD10 系のみ)
https://www.freebsd.org/security/advisories/FreeBSD-EN-16:01.filemon.asc
FreeBSD-EN-16:02.pf
https://www.freebsd.org/security/advisories/FreeBSD-EN-16:02.pf.asc
FreeBSD-EN-16:03.ypclnt
https://www.freebsd.org/security/advisories/FreeBSD-EN-16:03.yplib.asc


/usr/src/UPDATING の内容

20160114        p33     FreeBSD-EN-16:02.pf
                        FreeBSD-EN-16:03.yplib
                        FreeBSD-SA-16:01.sctp
                        FreeBSD-SA-16:02.ntp
                        FreeBSD-SA-16:03.linux
                        FreeBSD-SA-16:04.linux
                        FreeBSD-SA-16:05.tcp
                        FreeBSD-SA-16:06.bsnmpd

        Fix pf(4) generating bad TCP checksums. [EN-16:02]
        Fix infinite loop in YP/NIS client library. [EN-16:03]
        Fix remote denial of service in SCTP. [SA-16:01]
        Update NTP to 4.2.8p5. [SA-16:02]
        Fix kernel memory diclosure in Linux compatibility layer. [SA-16:03]
        Fix kernel memory overwrite in Linux compatibility layer. [SA-16:04]
        Fix crash in TCP MD5 signatures. [SA-16:05]

ソースツリーの更新

subversion でソースツリーを更新しました。更新は 304 行に及びました。
# svn update /usr/src
Updating '/usr/src':
G    /usr/src/UPDATING
U    /usr/src/contrib/ntp/ChangeLog
U    /usr/src/contrib/ntp/libntp/ntp_rfc2553.c
U    /usr/src/contrib/ntp/libntp/socktohost.c
U    /usr/src/contrib/ntp/libntp/authkeys.c
U    /usr/src/contrib/ntp/libntp/authusekey.c
  (中略)
U    /usr/src/usr.sbin/ntp/scripts/mkver
 U   /usr/src/usr.sbin/ntp
 U   /usr/src
Updated to revision 293969.

カーネルとユーザランドの再ビルド

今回のアップデートでは、カーネルとユーザランドの再ビルドが必要です。
# cd /usr/src
# make buildworld
# make buildkernel KERNCONF=MYKERNEL

カーネルとユーザランドのインストール

# make installkernel
# make installworld

/etc/bsnmpd.conf のファイル属性変更

/etc/bsnmpd.conf が存在する場合には、ファイル属性の変更を行います。
# chown root:wheel /etc/bsnmpd.conf
# chmod 0600 /etc/bsnmpd.conf

マシンの再起動

# reboot

2016年1月13日水曜日

SONY PCWA-C800S/B を入手

ソニーの無線 LAN アダプタの PCWA-C800S/B をインターネット・オークションにて入手しました。突出部の少ない、いかにもソニーらいしデザインのため、以前から欲しかった製品でした。

今回入手したソニー PCWA-C800S/B です。

外観

ソニー特有のアンテナ部分が直角に折れ曲がった形状になっています。単純にアンテナを切り詰めるのではなく、直角に折り曲げてアンテナの面積の減少を最小限度に留めるように工夫されています。

ソニー PCWA-C800S/B の表面です。
ソニー PCWA-C800S/B の裏面です。


以前にも同社の無線 LAN アダプタの PCWA-C150 を入手したことがありますが、基本的にこのときから考え方は一緒のようです。

左側が PCWA-C800S/B、右側が PCWA-C150 です。

ath5k ドライバ

2.4GHz と 5GHz の二つの帯域に対応した製品で、メーカのウェブサイトには Atheros 社のチップを使用していると明記されているものです。そのためドライバの対応を事前行うことができました。

早速ノートパソコンの PC カードスロットへ装着して動作確認を行ってみました。IEEE 802.11 a 対応パッチを適用した ath5k ドライバで問題なく動作しました。なお Debian 標準の ath5k ドライバで IEEE 802.11 a モードで動作するかどうかは、確認していません。

なお動作中は LED ランプが装備されていないために、肉眼で確認する手段がありませんでした。パソコンの画面上の無線 LAN のアイコンで確認するしか手段はありません。しかし、問題が発生しない限り、この状態でも何ら問題はありません。

アンテナ部には LED ランプは装備されていません。