VCDSを使ったコーディング入門 (VW/Audi向け) - 3. オートライトの感度調整

Binary code

VCDS を使ったコーディングを行なったので、自分へのメモがてら使い方のログを残しておきますシリーズ。(Audi RS3 で動作確認)


今回は、タイトルの通りですが、オートライトの感度調整について。

ヘッドライトをオート設定にしていると、点灯がちょっと早い(もう少し暗くなってから点灯でもいいのでは)と感じたので、VCDS でコーディングして調整してみることにしました。

事前準備

前回の DRL 関連の設定同様、"09-Cent. Elect." コントロールモジュールでの設定となるので、前回のエントリを参考に、"09-Cent. Elect." モジュールにアクセスして security access key の設定を事前に済ませます。

オートライトの感度調整を設定する

security access key の設定を済ませたら、前回同様 "Adaptation - 10" をクリックします。


で、オートライトの感度調整は以下の項目 (Channel) となります。


IDE08786-ENG115724-Assistance light functions-Lichtsensorempfindlichkeit

デフォルトの値は、"normal" となっているので、New value として "non sensitive" を選択して、最後に "Do it!" をクリックして設定は完了です。

どのくらい変わるかというのは感覚で、個人差があるので、実際にやってみて体感してもらうのが良いかと。

今日はここまで。
それでは!=͟͟͞͞(๑•̀=͟͟͞͞(๑•̀д•́=͟͟͞͞(๑•̀д•́๑)=͟͟͞͞(๑•̀д•́

追記

続きを書きました。


DELL の RAID コントローラで各種ポリシーの変更

※ このエントリは、はてなグループ終了に伴う、サブブログからの引越エントリ(2012/08)です。
※ 情報が古い可能性もありますので、ご留意ください。



Dell PERC H700 / H710P で確認。
使うツールは、Dell さんの OpenManage Server Administrator。

確認

# /opt/dell/srvadmin/bin/omreport storage vdisk controller=0
List of Virtual Disks on Controller PERC H710P Mini (Embedded)

Controller PERC H710P Mini (Embedded)
ID                        : 0
Status                    : Ok
Name                      : VD01
State                     : Ready
Hot Spare Policy violated : Not Assigned
Encrypted                 : No
Layout                    : RAID-10
Size                      : 50.00 GB (53687091200 bytes)
Device Name               : /dev/sda
Bus Protocol              : SAS
Media                     : HDD
Read Policy               : Adaptive Read Ahead
Write Policy              : Write Back
Cache Policy              : Not Applicable
Stripe Element Size       : 64 KB
Disk Cache Policy         : Disabled

ID                        : 1
Status                    : Ok
Name                      : VD02
State                     : Ready
Hot Spare Policy violated : Not Assigned
Encrypted                 : No
Layout                    : RAID-10
Size                      : 1,066.75 GB (1145414090752 bytes)
Device Name               : /dev/sdb
Bus Protocol              : SAS
Media                     : HDD
Read Policy               : Adaptive Read Ahead
Write Policy              : Force Write Back
Cache Policy              : Not Applicable
Stripe Element Size       : 64 KB
Disk Cache Policy         : Disabled

サンプルだけど、こんな感じで出力される。
↑の "ID" を変更する仮想ディスクとして指定するので、メモっておく。

Read Policyの変更

/opt/dell/srvadmin/bin/omconfig storage vdisk action=changepolicy controller=0 vdisk=0 readpolicy={ra|ara|nra}

vdisk のところに、先ほどの仮想ディスクの ID を入れる。
readpolicy のところは、以下のうち1つを選択。

  • 先読み (Read Ahead)
    • readpolicy=ra
  • 適応先読み (Adaptive Read Ahead)
    • readpolicy=ara
  • 先読みなし (No Read Ahead)
    • readpolicy=nra

Write Policyの変更

/opt/dell/srvadmin/bin/omconfig storage vdisk action=changepolicy controller=0 vdisk=0 writepolicy={wb|wt|fwb}

vdisk のところは先ほど同様。
writepolicy のところは、以下のうち1つを選択。

  • ライトバックキャッシュ
    • writepolicy=wb
  • ライトスルーキャッシュ
    • writepolicy=wt
  • ライトバックの強制
    • writepolicy=fwb


ちなみに、readpolicy や writepolicy は同時に1コマンドで変更できる。(上の要領でオプションを足すだけ。)

あと、サポートされているポリシーはコントローラによって異なるので、上記の対象機種以外は、上記以外のポリシーも選択できるかも。(読み取り/書き込みキャッシュ無しとかも選択できる)


他にもポリシーがあったりする( Direct I/O とか Cache I/O とか)ので、詳細は以下のマニュアルを参照のこと。

rpm のアップデートは、"rpm -i" の後に "rpm -e" の順にはたらく

※ このエントリは、はてなグループ終了に伴う、サブブログからの引越エントリ(2011/08)です。
※ 情報が古い可能性もありますので、ご留意ください。


知見だ。

シンボリック・リンクを含む全てのファイルを%installまででインストールして、 %filesに加えるべきである。

これは特に重要です。よく、%post で、シンボリック・リンクをはって、 %preun でそのリンクを削除するようなSPECファイルがあります。 これを行うと、アップデート時に問題が生じることがあります。以前、 libcのパッケージでこういう記述が入ってるものがあって、 深刻な問題が生じたこともありました。

その理由は、rpm -U としたときに、

rpm -e <old-rpm>
rpm -i <new-rpm>

ではなく、

rpm -i <new-rpm>
rpm -e <old-rpm>

とはたらくためです。

つまり、%post で、シンボリック・リンクをはって、 %preun でそれを削除するような rpm のバージョンアップをしようと、 rpm -U (アップデート)を実行すると

  • 新しいパッケージのインストールが行なわれ、 %postでシンボリック・リンクがつくられる。
  • 古いパッケージのアンインストールが行なわれる。 このとき、%preunでさっき新しいパッケージが作ったシンボリック・ リンクが削除される。

この仕様は、libcとかのアップグレードの途中でlibcとかがなくなってトラブルが生じるのを避けようとしたためのものと思われます。

実はこの問題は解決法があります。 %pre, %post, %preun, %postunのスクリプト実行時には、スクリプトに対して以下の引数が与えられます。

  • rpm -iでインストールを行うとき
    • %pre, %postに対して$1=1
  • rpm -Uでアップデートを行うとき
    • 新しいrpmのインストール時に、 %pre, %postに対して$1=2
    • 古いrpmをアンインストール時に、 %preun, %postunに対して$1=1
  • rpm -eでアンインストールを行うとき
    • %preun, %postunに対して$1=0
http://vinelinux.org/docs/vine5/manuals/mr-important.html

nginx で特定メソッドのリクエストはログに出力させたくない場合

※ このエントリは、はてなグループ終了に伴う、サブブログからの引越エントリ(2011/07)です。
※ 情報が古い可能性もありますので、ご留意ください。



たとえば、GET メソッド以外のリクエストをログに出力させたい場合は、設定に以下のように書く。
# 鬼のようにトラフィックあるサイトとかね・・・。

location / {
    root        /path/to;
    access_log  logs/access.log;

    if ( $request_method = GET ) {
        access_log  off;
    }
}

ログの出力有無以外にも、下記のような感じで、

if ( $request_method = GET ) {
    (設定を記述)
}

リクエストメソッドを条件にして設定を記述できる。
メソッドの指定部分は、もちろん正規表現も使えるので、複数条件もOK。

"kernel: printk: xxx messages suppressed."

※ このエントリは、はてなグループ終了に伴う、サブブログからの引越エントリ(2011/07)です。
※ 情報が古い可能性もありますので、ご留意ください。


ネットワークサービスに対するDoS攻撃対応などのために、大量メッセージ出力を抑制する機能によってメッセージの出力をスキップした。

 このメッセージは、printk_ratelimit、またはmessage_costカーネルパラメタによるメッセージの流用制御の対象となっているメッセージが大量に出力された場合に出力する。

 printk_ratelimit、及びmessage_constパラメタでは、対象メッセージの最小出力間隔を設定する(デフォルトは5秒)。この間隔内でメッセージが出力された場合、そのメッセージはスキップされ、その数がカウントされていく。メッセージ出力間隔が正常(つまり、最小出力間隔を超過)に戻った時点で当該メッセージによってスキップしたメッセージ数が報告される。

 本流用制御の対象となるメッセージは限定されている。知りたい場合は、printk_ratelimit()、またはnet_ratelimit()をソース上から検索し、調査すること。

http://ossmpedia.org/messages/linux/2.6.9-34.EL/183.ja

xxx は出力をスキップしたメッセージ数が入る。

killall をインタラクティブに実行する

※ このエントリは、はてなグループ終了に伴う、サブブログからの引越エントリ(2011/04)です。
※ 情報が古い可能性もありますので、ご留意ください。



一応、慎重に確認しながら killall を実行したい時に。

他のコマンド同様、"-i" オプションを使えば良い。Ubuntu と CentOS で確認。

$ ps -edf | grep ruby | grep -v "grep --color=auto ruby"
nami      3885  3829  0 00:48 pts/1    00:00:00 ruby
nami      3886  3829  0 00:48 pts/1    00:00:00 ruby
nami      3887  3829  0 00:48 pts/1    00:00:00 ruby

$ killall -i ruby
ruby(3885) をkillしますか? (y/N) y
ruby(3886) をkillしますか? (y/N) y
ruby(3887) をkillしますか? (y/N) y

CentOS をネットワークインストールする時に指定する URL

※ このエントリは、はてなグループ終了に伴う、サブブログからの引越エントリ(2012/03)です。
※ 情報が古い可能性もありますので、ご留意ください。



たまーに家でやったりすると毎回ググってるので、いい加減メモしておく。

例えば、↓は CentOS 6.2 のネットワークインストールで、riken.jp からダウンロードしたい時。

http://ftp.riken.jp/Linux/centos/6.2/os/x86_64/

こんな URL。ミラーサイトは他にもたくさんあります。

(あと、バージョン・アーキテクチャ種類が変わっても、そこをあわせるだけ。)

Linux でコマンドの結果を定期的にチェックする

※ このエントリは、はてなグループ終了に伴う、サブブログからの引越エントリ(2011/05)です。
※ 情報が古い可能性もありますので、ご留意ください。



意外と知らない方が多いので。

watch コマンドを使えば OK。

$ watch -n 1 uptime

みたいな感じで。"-n" オプションで実行間隔を指定する。

Linux で 2TB 以上のパーティションを扱いたい時

※ このエントリは、はてなグループ終了に伴う、サブブログからの引越エントリ(2011/04)です。
※ 情報が古い可能性もありますので、ご留意ください。



2TB 以上のパーティションの作成に、fdisk が使えないので、parted を使う。

# parted /dev/sdb
GNU Parted 1.8.1
/dev/sdb を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。

まずは、コマンドを実行。インタラクティブなモードになる。

(parted) print
エラー: /dev/sdb を開けません。ディスクラベルが認識できません。

まずは、ラベルを付ける必要があるらしい。

(parted) mklabel gpt
(parted) print

モデル: DELL PERC H700 (scsi)
ディスク /dev/sdb: 5978GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号  開始  終了  サイズ  ファイルシステム  名前  フラグ

ラベル付けたら、パーティションの状態が見えた。まだ何も無い状態。

(parted) mkpart primary 0 -0
(parted) print

モデル: DELL PERC H700 (scsi)
ディスク /dev/sdb: 5978GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号  開始    終了    サイズ  ファイルシステム  名前     フラグ
 1    17.4kB  5978GB  5978GB                    primary

"-0" で上限まで1パーティションに割り当て。
代わりにサイズ(100GBとか)を入れると、そのサイズで切られるようだ。

(parted) quit
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。

最後に、変更を反映して終了。

# fdisk -l

Disk /dev/sda: 21.4 GB, 21474705408 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          65      522081   83  Linux
/dev/sda2              66         326     2096482+  82  Linux swap / Solaris
/dev/sda3             327        2610    18346230   83  Linux

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.


WARNING: The size of this disk is 6.0 TB (5978056556544 bytes).
DOS partition table format can not be used on drives for volumes
larger than 2.2 TB (2199023255040 bytes). Use parted(1) and GUID
partition table format (GPT).


Disk /dev/sdb: 5978.0 GB, 5978056556544 bytes
255 heads, 63 sectors/track, 726790 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdb1               1      267350  2147483647+  ee  EFI GPT

ちなみに、その後、fdiskで確認すると、こんな感じで見える。
(未対応なので、きちんと容量を認識できず)

Windows 7 / 8 / Vista / Server 2008 でシンボリックリンク

※ このエントリは、はてなグループ終了に伴う、サブブログからの引越エントリ(2011/03)です。
※ 情報が古い可能性もありますので、ご留意ください。


> mklink /d [link-path] [dir-path]

↑は、ターゲットがディレクトリの場合。
ファイルの場合は、"/d" オプションを付けずに実行する。

Linux とは、リンクリソースと実体リソースの書き順が逆なので要注意・・・。