2013-11-30

HSPICE サブサーキットのポート電流

HSPICE でシミュレーションする際, サブサーキットのポート電流をモニタすることができる. 通常,電流をプローブするためには, 0Vの電圧源を取り付けるなど, ネットリストを改変する必要があるが, HSPICE では, isub によってサブサーキットのポートに流れる電流を記録できる. 以下に例を挙げる.
.subckt INV_X1 IN OUT VDD VSS
m0  OUT IN VSS VSS  nmos ...
m1  OUT IN VDD VDD  pmos ...
.ends

VVDD VDD_sim 0  1.5
VVDD VSS_sim 0  0.0
VVA  A   0  PWL(1n 0.0  2n 1.5  6n 1.5  7n 0.0)
CY   Y   0  100f
x1  A Y VDD_sim VSS_sim INV_1X

.tran 10p 10n
.probe Isub(x1.VDD) Isub(x1.VSS)
もちろん, 階層が深くても, ドット (.) で区切って深い階層のポートを指定することで, ポート電流を記録できる.

2013-11-27

Android Play Store からのダウンロードデータ圧縮

Play Store でアプリをアップデートすると, 前のバージョンからの差分をダウンロードするらしい. application/vnd.android.package-delta というMIMEタイプをサーバが返している. strings をつかって含まれているテキストを抽出すると, 更新しようとしているファイル名がプレーンで書かれていた.

2013-11-21

This proram cannot display the webpage

Microsoft Internet Explorer を使用している時に, ウェブサイト接続でエラーが起こると, 以下の図のようにエラーが出る. このエラー, 全く情報がなくて困る. 原因を調べるには, Google Chrome で接続してみるか, コマンドプロンプトを出して同じサイトに接続を試みる, あるいは, トラブルシューティングを起動して調査させる必要がある.

2013-11-19

ffmpeg で動画を切り取り

FFmpeg にて開始時刻・終了時間をしていして動画を切り取る方法をメモする.
$ ffmpeg -ss 開始時刻 -t 時間 -i 入力 -codec copy 出力
-ssにて開始する時刻を指定できる. -tで, 出力する時間 (終了時刻-開始時刻) を指定できる. -codec copyで, デコード・エンコードの処理をせずにストリームをコピーする.

X/Y軸方向に切り取るには, cropというフィルターを使用する.

$ ffmpeg -i 入力 -vf 'crop=W:H:X:Y' -vb 1600k -ab 64k 出力

参考にしたサイト

2013-11-14

外付けUSB機器を内蔵化

デスクトップ用マザーボードのUSB端子をUSB-A端子に変換する製品を見つけたので, 紹介したい.

USBメモリを内蔵SSDにする

これをつかうと, デスクトップの内部で何個かのUSBメモリを接続することができる. CentOS などたいていのディストリビューションでは, LVM に対応しているので, 複数個のUSBメモリをひとつのパーティションにすることができる. 各フラッシュROMをPV (物理ボリューム), それらを複数組み合わせてVG (ボリューム・グループ) としてゆくことで, 一つの大きなパーティションを作れる.
最近は, 1000円/16GB程度らしい. SSDより容量当たりの価格はやや安価だし, 容量が小さく安価なUSBメモリがある. 容量はやや小さくなってしまうが, 大した作業をしない場合や, シンクライアントに適している.

その他

USB接続の無線LAN機器, B-CASカードを読み込むためのカードリーダなど, めったに取り外ししない機器を デスクトップ内部に入れてしまいたい時に使用できそうだ.

2013-11-12

NTTCom SCR3310 を RHEL6 で使用

NTTCom の SCR3310 を Scientific Linux 6.3 (CentOS 6.3, RHEL 6.3) で使用する方法をメモする.

概要

使用するパッケージは, openct, pcsc-lite, pcsc-lite-openct である. openct の提供する ifdhandler でディバイスにアクセスする. pcsc-lite は Windows SCard インターフェイスを提供しており, Windows のコードを簡単に移植できる. (ARIB B25 テストプログラム は SCard インターフェイスで実装されている.)

一時期, ccid が必要とか, 古い pcsc-lite が必要といった情報も出ていたが, 本稿の執筆時点では, 最新の rpm を使用し, 設定ファイルにディバイスのIDを書き加えているだけである.

手順

  • ディバイスのIDを確認する.
    $ lsusb | grep 04e6
    Bus 004 Device 002: ID 04e6:511a SCM Microsystems, Inc. 
    
  • Info.plist を編集し, ifdVendorID, ifdProductID, ifdFriendlyName にSCR3310のエントリを追加する.
    --- /usr/lib64/pcsc/drivers/openct-ifd.bundle/Contents/Info.plist
    +++ /usr/lib64/pcsc/drivers/openct-ifd.bundle/Contents/Info.plist
    @@ -48,6 +48,7 @@
       <string>0x04e6</string>
       <string>0x04e6</string>
       <string>0x04e6</string>
    +  <string>0x04e6</string>
       <string>0x073d</string>
       <string>0x076b</string>
       <string>0x076b</string>
    @@ -91,6 +92,7 @@
       <string>0x5115</string>
       <string>0x5116</string>
       <string>0x5117</string>
    +  <string>0x511a</string>
       <string>0x511d</string>
       <string>0xE001</string>
       <string>0xE003</string>
    @@ -137,6 +139,7 @@
       <string>Generic CCID Reader</string>
       <string>Generic CCID Reader</string>
       <string>Generic CCID Reader</string>
    +  <string>NTTCom SCR3310</string>
       <string>Generic CCID Reader</string>
       <string>Generic CCID Reader</string>
       <string>Generic CCID Reader</string>
    
    
  • openct.conf を編集し, SCR3310のエントリを追加する. Safe to disable force_poll と書いてあったので, safe_poll も無効にしておいた.
    --- /etc/openct.conf-20131112 2013-11-12 19:56:49.858551225 +0900
    +++ /etc/openct.conf 2013-11-12 19:56:53.836633386 +0900
    @@ -12,9 +12,9 @@
      # Safe to disable force_poll:
      #  >=linux-2.6.27.14
      #  >=linux-2.6.28.3
      #
    - force_poll = 1;
    + force_poll = 0;
     # user  = openctd;
     # groups = {
     #  usb,
     # };
    @@ -116,8 +116,9 @@
       usb:046a/0010, # Cherry smartboard G83-6744
       usb:04e6/5115,
       usb:04e6/5116,
       usb:04e6/5117, # SCM Micro token size reader
    +  usb:04e6/511a, # NTTCom SCR3310
       usb:04e6/511d, # SCM Micro SCR3311
       usb:04e6/E001,
       usb:04e6/E003,
       usb:073d/0c00, # Eutron SimPocket (doesn't work yet)
    
  • pcscd と openct を再起動
    $ sudo service openct restart
    $sudo service pcscd restart
    
  • /var/log/messagesに以下のようなログが出ればOK.
    pcscd: pcscdaemon.c:506:main() pcsc-lite 1.5.2 daemon ready.
    pcscd: hotplug_libhal.c:342:HPAddDevice() Adding USB device: usb_device_4e6_511a_21120651308587_if0
    pcscd: readerfactory.c:1024:RFInitializeReader() Attempting startup of NTTCom SCR3310 (21120651308587) 00 00 using /usr/lib64/pcsc/drivers/openct-ifd.bundle/Contents/Linux/openct-ifd.so
    pcscd: readerfactory.c:846:RFBindFunctions() Loading IFD Handler 2.0
    pcscd: readerfactory.c:249:RFAddReader() Using the pcscd polling thread
    
  • pcsc_scan にて, カードの情報を読み込めるか確認することができるが, 必須ではない. Vendor や EPEL などでは提供されていないので, Fedora Core 13 の pcsc-perl-1.4.8-2.fc13.x86_64.rpm と pcsc-tools-1.4.16-1.fc13.x86_64.rpm を使用した. なお, pcscd のみ設定すると, 以下のようなログが出る.
    pcscd: readerfactory.c:846:RFBindFunctions() Loading IFD Handler 2.0
    pcscd: readerfactory.c:1050:RFInitializeReader() Open Port 200000 Failed (usb:04e6/511a:libhal:/org/freedesktop/Hal/devices/usb_device_4e6_511a_21120651308587_if0)
    pcscd: readerfactory.c:914:RFUnloadReader() Unloading reader driver.
    pcscd: readerfactory.c:233:RFAddReader() NTTCom SCR3310 (21120651308587) init failed.
    pcscd: hotplug_libhal.c:397:HPAddDevice() Failed adding USB device: usb_device_4e6_511a_21120651308587_if0
    pcscd: utils.c:207:CheckForOpenCT() Remove OpenCT and try again
    

    参考

  • fedora17 で PT3 を使う
    このページに pcscd の設定方法が書いてあるが, openct の設定が書かれていなかった.

  • 広告

    以下は, 関連する機器・書籍の広告である. なお, 以下の機器を購入してこのページに記載の方法通りになるかどうかを保証しない. その他, 以下の機器の購入によるトラブル等には関知しない.

    楽天の Market Speed FX の時刻

    楽天から Market Speed FX をダウンロード・インストールし, 起動したのだけれど, 時刻が間違っている. Windows の設定で PST に設定していたら, 東京の時刻が PTS と同じ時刻になった. どうやら, Windows の現地時刻を東京の時刻として処理しているらしい.

    ログインボタンをクリックすと, 一瞬で「タイムアウトしました」というダイアログが出る. 1秒も経っていないのにタイムアウトするはずがない. きっとファイアウォールが通信を遮断しているのだろう. ログを見たら, 32137番ポートへ接続しようとしていた.
    32137番ポートを開けたが, 依然としてログインできない. 80番ポートに透過型プロキシを設定していることが問題だろうか...

    こういう会社のソフトは作りが雑だと思う.

    2013-11-11

    IEEE文献再利用許諾 (RightsLink)

    IEEExplore の各文献のページには, Request Permission というリンクがついており, ここか再利用許諾 (permission to reuse) を申請することができる. 詳しい操作方法は, Japan Chapter のページに書かれている. 再利用許諾を要求すると, しばらくして返信が届き, 通常は, requirements として full credit to the original source (クレジットを書くこと) が要求されるらしい.

    2013-11-04

    CDなしでScientific Linux 6.4をインストール

    Scientific Linux 6.4 (CentOS 6.4 でも同様だろう) をネットワークからインストールする方法を紹介する. 今回は, ネットワークインストール用のCDは用意せず, PXE (ネットワークからの起動) を使用する. CD/DVDドライブの無いマシンにインストールする場合や, インストールCD/DVDを作成することが出来ない場合に便利である.
    1. TFTP および DHCP は設定済み. 以下では, tftp のルートを tftpboot として記述する.
      # cat /etc/dhcp/dhcpd.conf
      ...
      subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.129 192.168.0.191;
        option routers 192.168.0.1;
        filename "/pxelinux.0";
      }
      
    2. $ cat tftpboot/pxelinux.cfg/default
      default menu.c32
      prompt 0
      timeout 300
      ONTIMEOUT local
      
      MENU TITLE PXE Menu
      
      LABEL Scientific Linux 6.4 x86_64
              MENU LABEL Scientific Linux 6.4 x86_64 installer
              KERNEL sl64/vmlinuz
              APPEND initrd=/sl64/initrd.img textinst apm=off acpi=off noapic noswap
      
      $ mkdir tftpboot/sl64
      $ cp ~/pub/linux/scientificlinux/6.4/x86_64/os/images/pxeboot/* tftpboot/sl64
      
      (textinst は効いていない気がする.)
    3. インストールするマシンの起動時に, ネットワークブートを選ぶ. defaultに設定したメニューが出てきたら, PXEは成功だろう. Enterを押すと, vmlinuz が読み込まれ, 続いて, initrd.img が読み込まれるはず. そして, インストーラが起動する.
      (なぜか, VirtualBox では失敗した.)
    4. 言語などを選んでゆく. Install Method を聞かれたら, URL または NFS directory を選ぶ. 私の環境では, NFSサーバ上にデータがあるので, それを指定する. もしなければ, URL を選んで, FTPサーバ (本家またはミラー) のURLを指定すればよいだろう.
    5. パスを聞かれたら,
      ...scientificlinux/6.4/x86_64/os/
      を指定する. (例えば, JAISTのFTPサーバからダウンロードするのであれば, ftp://ftp.jaist.ac.jp/pub/Linux/scientific/6.4/x86_64/os/ を入力する.)
    6. あとは通常通りにインストールすればよいだろう.

    2013-11-14追記; 最近はSDカードスロットを搭載したノートPCが増えており, SDカードでインストールする方が準備が簡単である.

    広告