やまものブログ

メモ書きブログです (^_^;A

SONY製ICカードリーダライタ RC-S330 を e-Tax で利用する

ICカードリーダライタ RC-S330 は、下記2つのソフトをインストールすると Windows 10で使えることを確認しました。

NFCポートソフトウェア Version 5.6.9.0 https://www.sony.co.jp/Products/felica/consumer/download/old3_felicaportsoftware.html

PC/SC アクティベーター for Type B https://www.sony.co.jp/Products/felica/consumer/download/pcscactivator.html


これだけの内容でブログに記事を残すのは RC-S330 が

という状況だからです。


現行モデル RC-S380 のダウンロードサイトはすぐに見つけられました。

NFCポートソフトウェア(旧FeliCaポートソフトウェア) (Version 5.6.9.0 / 約45MB / 2019年6月17日) https://www.sony.co.jp/Products/felica/consumer/download/felicaportsoftware.html
このサイトを "RC-S330" で検索すると注釈文の中にこっそりと上記2つのサイトへのリンクがあります。 なお、いずれのNFCポートソフトウェアもVersion 5.6.9.0で同じもののようです。


カードリーダ設定で悩みましたが、こちらのサイトに「RC-S330」「RC-S370」「RC-S380」についての記載があったのが救いでした。 https://www.jpki.go.jp/prepare/reader_writer.html

最近はNFC搭載のスマホがカードリーダーになるみたいで、便利になっていくものだと感心しました。


カードリーダ以外の e-Tax 関連の環境設定はこちらが参考になりました。 http://www.e-tax.nta.go.jp/e-taxsoftweb/e-taxsoftweb1.htm

ブラウザを Edge にすると「e-Taxソフト(Web版)」なるものも使えました。Microsoft Store からソフトをインストールしたのは、たぶん、 WSL に続いて2つ目です。

Windowsクリーンインストールに伴い確定申告の環境を準備中です。転職したら年金制度が無くて、全て自前の iDeco になったので(;^_^A

Ubuntue-Tax できる方法があれば知りたい…

Window10 インストールドライブで事故って復旧できずorz

Windows10を別のSSDへ移動しようとして壊してしまいました。 復旧できず Windows10 をクリーンインストールする結末に…

事故った操作は以下のとおりです。
四角はパソコンの筐体のつもりで、装着したSSDの上に記載したSATAの番号はマザーボード上のSATA端子のマークです。

f:id:wyamamo:20200113174438p:plain
最後の[3]は SSD1 のパーティションを全て削除するのが目的でした。 UEFIのブートメニューで SSD2(SATA3)を選択して起動できれば、そこから SSD1を操作できると期待していました。

ところが、UEFIブートメニューには選択肢としてSSD2(SATA3)は現れませんでした。 仕方なく、USBの回復ドライブから再起動して、SSD1のパーティションを削除したのですが、これは軽率(泣)

その後、SSD2で Windows10を起動しようとしたら、起動できない!!! 回復メニューとか試しても復旧できず。

2-c)で作成したイメージも復旧できず、その際のエラーがこちら:
f:id:wyamamo:20200113174502j:plain
このメッセージからすると、イメージではなく、復旧先のSSDが悪いように読み取れたのですが、復旧先をいろいろと変更してもこのエラーは変わらず。この状況から、2-c)で録ったイメージ自体がダメなのではという推察に落ち着いて諦めました。

なお、1-b)のイメージは2-c)で上書きしたので存在せず。 2-c)のイメージを録った時点で、復旧に使えることを確認すればよかったかもしれませんが、それは面倒すぎる。

複数のパーティションやドライブにブートイメージを追加していくと、Bootメニューに現れる項目が勝手に変わっていきます。 このことから、UEFIは人知れず賢い仕事をしているに違いありません。 賢いおかげで苦労せずに済むことはきっと多いはずですが、レアケースでこんな事故もあるのですね(泣)

いちおう、UEFIのバージョンです。

ASUS A88XM-A BIOS Version: 2301

マザボは5年ちょっと前の購入です。
以上、もう2度と[3]のようなことはしません。 全く同一のイメージを2つ同時にUEFIに見せてしまうと、一方はブートできないように壊されるリスクありと推察します。

最後に(強がって)、良かったかもしれないことを2つ挙げます。

Windows 10 C:ドライブのSSD入れ替え

Windows 10 マシンの C:ドライブのSSDを入れ替えました。

Windows 10 SSD換装」などのキーワードで検索するといろいろな情報がヒットして、バックアップ・復元のためのアプリを使ったサイトも紹介されますが、今回はWindows 10にある機能だけで簡単に済ませました

大雑把な手順は以下の通りでした。
各手順の詳細は詳しいサイトがあるので割愛します。

  1. 回復ドライブを作成する(ブート可能なUSBメモリを作成)
  2. システムイメージの作成(バックアップと復元(Windows 7))で外付けHDDなどにC:ドライブを丸ごとバックアップする
  3. PCの電源を切って、入れ替え先のSSDに換装する
  4. 回復ドライブ(USBメモリ)からブートする。この際に 2.の外付けHDDも接続しておく
  5. イメージでシステムを回復(トラブルシューティング→詳細オプション)を実行


あとは30分もしないうちに、バックアップ前の状態のWindows 10が起動しました。


以上の作業の中で遭遇したトラブルは、

このシステムイメージはEFIで使用するコンピュータ作成されましたが、このコンピュータはBIOSを使用しています。

というエラーです。
この回避策は
BIOSまたはUEFIのせいでシステムイメージ復元できない【エラー修復方法】
に解説されているとおり、BIOS(EFI)メニューにて、CSM (Compatibility Support Module)で"UEFI only"を設定したことです。 回復ドライブでの起動が Legacy BIOS扱いされたため、バックアップしたシステムイメージが EFI だったことと食い違ってしまったのだと理解しました。


あとは、回復ドライブの作成に2〜3時間を要したのも想定外でした。
回復ドライブはそれだけでWindows 10の初期状態を復元できるので、データ量も8GBくらいあり、USBも16GB以上が要件になっています。 今回の目的であれば「システム修復ディスク」でも同じことが出来たはずで、それなら数分で CD-Rへの書き込みが完了するはずです。 とはいえ、光学ドライブを使わずに済むのが回復ドライブのメリットかと思います。

Ubuntu で年賀状の宛名印刷 〜 LibreOffice Base によるデータ連携

LibreOffice差し込み印刷を使って年賀状の宛名を印刷してきました。 Calcに住所を列挙し、Writerで作られたハガキの宛名面で差し込み印刷します。 この記事では Writer と Calc のデータベース接続については分かったことをメモとして残します。

今まではウヤムヤなまま使い続けてきました。 今年は年賀状の枚数を絞ったため返信する必要がでてきてしまいました。 そこで返信用の住所データを別名のCalcファイル(.ods)で用意したところ、今更ながら発見できたことをまとめたいと思います。 今年の年末に来年の年賀状を準備する時まで覚えていられるか自信がないので(汗)

まず、昨年の時点で宛名印刷に使ったのが「はがき住所録.ods」と「カスタム縦書き印刷.odt」です。
f:id:wyamamo:20200105164050p:plain
年が明けて、返信用には「返信住所録.ods」を用意して、Writerは「カスタム縦書き印刷.odt」は流用しました。
f:id:wyamamo:20200105164116p:plain

つまり、住所データのCalcファイル(.ods)を「はがき住所録.ods」から「返信住所録.ods」に入れ替える作業が必要になりましたので、その手順を以下にまとめます。
なお、以下で使う LibreOfficeのメニューについては昨年のブログ記事にもまとめています。
Ubuntu で年賀状の宛名印刷(その7) - やまものブログ

Calc: 住所データ「返信住所録.ods」の編集

まず、「返信住所録.ods」を編集しますが、ここで「印刷用住所」というデータベース範囲を指定しました。
f:id:wyamamo:20200105164311p:plain
このデータベース範囲の名称「印刷用住所」は重要です。


Writer: データベースの追加

[挿入(I)]→[フィールド(D)]→[他のフィールド(M)...]→[データベース]で「検索(D)...」をクリックして「返信住所録.ods」を登録します。
f:id:wyamamo:20200105164421p:plain
これによりホームに「返信住所録0.odb」がこっそり作成されます。
f:id:wyamamo:20200105164601p:plain
これが LibreOffice Base が必要な理由だったのですね!


Writer: データベースの「登録名」の変更

[ツール(T)]→[オプション(O)]→[LibreOffice Base]→[データベース]で、データベース名を「返信住所録」から「はがき住所録」へ変更します。 既に古いデータが「はがき住所録」で登録されていたら削除します。 f:id:wyamamo:20200105164643p:plain

以上の設定により、[ファイル(F)]→[印刷(P)]で新しく用意した「返信住所録.ods」で差し込み印刷できます。


「はがき住所録」「印刷用住所」とは?

たとえば、「カスタム縦書き印刷.odt」で「姓」のフィールドにカーソルを重ねると「はがき住所録.印刷用住所.姓」とバルーン表示されます。

f:id:wyamamo:20200105164714p:plain

これで全ての対応がハッキリしたかと思います。以下の通りです。
 ①「データベース名」
 ② Calcで設定した「データベース範囲」
 ③ フィールド名

①「データベース名」はデフォルトでは Calcファイル名から拡張子(.ods)を削除したものになりますが、前出の通り[ツール(T)]→[オプション(O)]で任意に変更できます。

以上、人からもらってとりあえず使っているだけファイル群でしたが、ちょっと読解できてスッキリしました

別件

先ほど、印刷を実行しても反応しないという謎の現象にあたりました。Writerを起動しなおしても解消しません。しかし、Ubuntuを再起動してやり直したら印刷できるようになりました。こんな謎の現象は初めてです。

Accelerated Image Classification サンプルの Rebuild

こちらのサンプルを手順書通りに動かすことができたので、実際の手順をメモとして残します。

Zynq UltraScale+ MPSoC Accelerated Image Classification via Binary Neural Network TechTip
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841949/Zynq+UltraScale+MPSoC+Accelerated+Image+Classification+via+Binary+Neural+Network+TechTip

このサンプルに着手したのは1年以上前でした。 こちらの記事 Ultra96 ボード - やまものブログ の末尾「おわりに」でその意思表示をしていました。
当時、Ubuntu 18.04 でなんとかしようとしたのが災いでした。 OSやツールのバージョンを厳格に守らなないとどういうことになるかを痛感したのがよい経験になりました。
以降、Ubuntu 16.04.6 LTS を使っています。このサンプルをReBuildするために16.04に戻りました。

サンプルに戻って、現在、サンプルには2つのバージョンあります。 そのうちの古い方で動かすことができました。具体的には下記の2つのファイルを使いました。

ファイル 説明
20180424_zcu102_ultra96_aicdemo.img Image of AIC Demo for ZCU102 and Ultra96
20180424_aicdemo_projectfiles.zip Zip file (Vivado/HLS/Petalinux project)


新しいバージョンはこちらです。実際に試して、こちらは動きませんでした。ブートの途中でとまってしまいます。詳細をいつか解析してみたいですね…

ファイル 説明
20180814_aicdemo_projectfiles_20181.zip Zip file (2018.1 Vivado/HLS/Petalinux project)
20180814_zcu102_ultra96_aicdemo_20181.zip Zip file 2018.1 Image for AIC Demo for ZCU102 and Ultra96


サンプルを実行するボードはこちらに紹介されている Ultra96 です。 www.avnet.com
私の手持ちは Ultra96(V1)で、販売中のUltra96(V2)よりも古い仕様です。このサンプルの2つのバージョンもそれぞれ V1, V2 対応なのかもしれません(憶測)。

いずれのバージョンでもサンプルは2つのファイルからなります。

  1. "〜aicdemo〜" … SDカード(16GB以上)に焼くイメージ
  2. "〜projectfiles〜" ... Vivado/PetaLinux のプロジェクト


とりあえず、1.だけあれば Ultra96 でサンプルを動かすことが出来ます。
このイメージを書き込んだSDカードは2つのパーティションから成ります。

SD-Card will have two partitions: one small one formatted with fat32 containing a BOOT.Bin and image.ub file, and one large one formatted with ext3 containing a root file system.


fat32 に収まる BOOT.Bin と image.ub を自分の環境で作りなおす作業が
6. Rebuilding the Design from sources
の 6.1〜6.6 に記載されています。 以下は、このReBuildを実行したコマンドのメモになります。

ReBuild作業には、下記2つの記事にまとめた Vivado と PetaLinux 2017.3 を使える環境が前提です。

wyamamo.hatenablog.com

wyamamo.hatenablog.com


ビルド済みイメージによるSDカードの準備

20180424_zcu102_ultra96_aicdemo.img ファイルをSDカードに書き込みます。 下記の例で、私の環境では <SDカードのデバイス> は /dev/sde でした。これを間違えるとドライブ丸ごと壊してしまうので、パスの確認は慎重に。

$ sudo dd bs=4M if=20180424_zcu102_ultra96_aicdemo.img of=<SDカードのデバイス> conv=fsync

このSDカードには vfat (fat32)と ext3 の2つのパーティションがありますが、ext3 はそのまま流用します。 以降の作業では、 BOOT.bin と image を作り、それらを fat32パーティションに入れます。

環境の準備(詳細は上述の記事を参照)

<作業ディレクトリ>はすでにmkdirされていて、PetaLinux 2017.3 がインストール済みとします

$ sudo dpkg-reconfigure dash
  "dash"のデフォルトシステムシェル設定に「いいえ」を選択する
$ export PATH=/home/vatarushka/bin:/usr/local/sbin:/usr/bin:/usr/local/bin:/usr/sbin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$ source <Vivado 2017.3インストールパス>/settings64-2017.3.sh
$ source <作業ディレクトリ>/petalinux-v2017.3/settings.sh

PATHの書き換えている理由はPetaLinux 2017.3 のインストール - やまものブログにあります。

サンプルの準備

$ cd <作業ディレクトリ>
$ unzip /home1/Xilinx/download_aic/20180424_aicdemo_projectfiles.zip 


FPGAデザインのReBuild (6.3 Rebuild FPGA Design)

$ cd <作業ディレクトリ>/aic
$ export XILAIC_ROOT=$PWD
$ cd scripts
$ ./make-hw.sh a ultra96

The ouput can be found in aic/output/hls_syn and aic/output/vivado.

とりあえず、以下のファイルを確認しました。.sdk/は次の手順で参照します。

-rw-rw-r-- 1 myaccount myaccount 5568787  1月  2 22:53 ../output/vivado/ultra96/ultra96.sdk/ultra96_wrapper.bit


PetaLinuxプロジェクトのReBuild (6.4 Rebuild Petalinux project)

$ cd <作業ディレクトリ>/aic/src_sw/ultra96-petalinux/
$ petalinux-config --get-hw-description ../../output/vivado/ultra96/ultra96.sdk/
$ make build
$ make package-boot

The output files BOOT.BIN and image.ub can be found in src_sw/-petalinux/images/linux.

images/linux/に以下のファイルができたのを確認しました。

-rw-r--r-- 1 myaccount myaccount  12500024  1月  3 09:16 image.ub
-rw-rw-r-- 1 myaccount myaccount   6324960  1月  3 09:18 BOOT.BIN


この2つのファイルを前出のSDカードの vfat パーティション(名称:BOOT)にコピーします。

$ cp images/linux/{BOOT.BIN,image.ub} /media/myaccount/BOOT


これを使って Ultra96(V1) で AIC サンプルを動作させることができました。

PetaLinux 2017.3 のインストール

PetaLinux について、ウェブ検索でみつかる概要はこんなかんじです。

PetaLinux ツールは、ザイリンクスのプロセッシング システム上でエンベデッド Linux ソリューションをカスタマイズ、ビルド、およびデプロイするために必要なものをすべて提供します。

つい先の投稿「Vivado 2017.3 のインストール - やまものブログ」のVivadoと組み合わせて使うツールです。

まず、インストーラダウンロードサイトです。
https://japan.xilinx.com/support/download.html
ここから、
petalinux-v2017.3-final-installer.run
をダウンロードします。
これにたどりつくには、「PetaLinux」タブにて、Versionで「アーカイブ」を選んで、"2017.3"を選択すると、
PetaLinux - 2017.3 インストレーション ファイル - 2017.3
から、
PetaLinux 2017.3 インストーラー (TAR/GZIP - 7.79GB)
を見つけられると思います。

私がいまだに Ubuntu 16.04.6を使うのは、この古いPetaLinuxを使うためでした(泣)。

PetaLinux 2017.3 を使う場合、Ubuntu環境には

という条件があります。

/bin/sh についてはリファレンスに記載があり、次の方法で変更します。

$ sudo dpkg-reconfigure dash
"dash"のデフォルトシステムシェル設定に「いいえ」を選択する


python 2.7 については記載は無いのですが、下記のサポート記事にあるエラーの対策として Python を 3 ではなく 2 にする必要があります。 forums.xilinx.com
python 3.7 を使っている環境を 2.7に戻すにはスマートな方法(pyenv,virtualenv,等)があるようですが、よく分からなかったのでPATH変数を作業中のターミナルで上書きするという原始的な方法で対処しました。

$ export PATH=/usr/local/sbin:/usr/bin:/usr/local/bin:/usr/sbin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

これでデフォルトのpythonコマンドのバージョンを切り替えられたのですが、それは私の環境には以下の通り異なるパスに2つのバージョンが共存していたからです。/usr/bin/ を前に移動しました。

  • /usr/local/bin/python … 3.7.2
  • /usr/bin/python … 2.7.12


以上のとおり環境を設定して、以下のようにインストールしました。

$ cd <作業ディレクトリ>
$ ./petalinux-v2017.3-final-installer.run petalinux-v2017.3

インストールはこれだけです。作業ディレクトリの直下に"petalinux-v2017.3"が作成され、その下に一式そろいます。

PetaLinux の設定は以下の通りになります。

source <作業ディレクトリ>/petalinux-v2017.3/settings.sh

設定の確認は、

echo $PETALINUX

で上記 settings.sh が存在するパスが表示されるとOKです。

以上では個人が作業するローカルなパスに PetaLinux をインストールしました。
そうではなく、/opt/ のようなシステム全体から見える場所にインストールすることも可能です。例えば、こんな風に。

$ cd /opt/pkt
$ sudo mkdir petalinux-v2017.3
$ sudo chown <your-account> petalinux-v2017.3
$ ./petalinux-v2017.3-final-installer.run /opt/pkt/petalinux-v2017.3/

PetaLinuxはrootアカウントではインストールできない仕様のため3行目の chown が必要です。
実際にこれも試したていますが、 次の記事で紹介するサンプルのビルド処理が何故かエラーで中断してしまいます。 一応、エラーメッセージを貼っておきます。

    ERROR: fsbl-2017.3+gitAUTOINC+3c9f0cfde9-r0 do_compile: Function failed: do_compile (log file is located at <作業パス>/20180424_aicdemo_projectfiles/aic/src_sw/ultra96-petalinux/build/tmp/work/plnx_aarch64-xilinx-linux/fsbl/2017.3+gitAUTOINC+3c9f0cfde9-r0/temp/log.do_compile.26227)


ローカルにインストールした PetaLinux ならこのエラーに遭遇せずに無事に処理が完了します。 PetaLinux 2018.1 でも同じ作業を試したのですが、同様の現象でした。 この理由を解析する知識は今の自分にはありません(ため息)

以上の作業では PetaLinux ツール資料 リファレンス ガイド (ug1144-petalinux-tools-reference-guide.pdf)を参考にしています。

この後、続けて、あるサンプルを動かした作業手順を投稿します。

Vivado 2017.3 のインストール

Vivado は Xilinx社のFPGA開発ツールです。

この記事のカテゴリ "FPGA" については、1年以上前に書いた
Ultra96 ボード - やまものブログ
が内容的には最後です。 正月休みを利用して再開してみましたが、この当時で初心者レベルだったものが1年経過して完全に時代に取り残されました。本当に自分用のメモです。

まず、インストーラダウンロードサイトです。
https://japan.xilinx.com/support/download.html
ここから、
Xilinx_Vivado_SDK_2017.3_1005_1.tar.gz
をダウンロードします。
これにたどりつくには、「Vivado(HW開発者)」タブにて、Versionで「アーカイブ」を選んで、"2017.3"を選択すると、
Vivado Design Suite - HLx Edition - 2017.3 Full Product Installation
から、
Vivado HLx 2017.3: すべての OS インストーラー シングルファイル ダウンロード(TAR/GZIP - 16.23 GB)
を見つけられると思います。
なお、ウェブ経由のインストール方法だとこの巨大なファイルをダウンロードしなくて済むようです。

インストール作業の前にマシン環境(Ubuntu 16.04.6 LTS (Xenial Xerus))のアップデートです。

$ sudo update -y
$ sudo upgrad -y
$ sudo dpkg --add-architecture i386
$ sudo apt update -y
$ sudo apt install libqtgui4:i386

以前に Vivado の別のバージョンをインストールしたことがあったので、まっさらなUbuntuではさらに多くのパッケージが必要になるはずです。

ダウンロードしたインストーラを解凍します。

$ tar -xf Vivado-2017.3/Xilinx_Vivado_SDK_2017.3_1005_1.tar.gz

設定ファイルを生成して、編集します。

$ cd Xilinx_Vivado_SDK_2017.3_1005_1/
$ ./xsetup -b ConfigGen

~/.Xilinx/install_config.txt が生成されるので、それを編集してインストール先(Destination)を自分の環境にあわせました。

Destination=/home1/opt/Xilinx/Vivado/2017.3

この設定ですが、おそらく下記の方が正しいと思われます(未確認)。

Destination=/home1/opt/Xilinx

理由はこの後で掲載するsettings64.shへのパスに "Vivado/2017.3"が2回登場するからです。

インストール用のコマンドの実行です。

$ sudo ./xsetup --agree XilinxEULA,3rdPartyEULA,WebTalkTerms --batch Install --config ~/.Xilinx/install_config.txt

以上でVivado本体のインストールは完了です。

ツールの環境設定はインストールパス直下にある設定ファイルをsourceします。私の場合はカレントにコピーして使っています。

$ cp -p /home1/opt/Xilinx/Vivado/2017.3/Vivado/2017.3/settings64.sh  ~/settings64-2017.3.sh

このパスに "Vivado/2017.3"が2回続いているのは変です。”Destination”の設定が良くないとしたのはこれが理由です。今、ブログ書いていて気が付きました(汗)。
それはさておき、Vivado で作業したいターミナルにてこんな風にしています。

$ source ~/settings64-2017.3.sh


最後に、デバイスの情報(Board Description File(bdf))をインストール先に設定します。私が所有するUltra96(V1)の場合はこれでいいはずです。

$ git clone https://github.com/Avnet/bdf
$ sudo cp -r bdf/ultra96v1/  /home1/opt/Xilinx/Vivado/2017.3/Vivado/2017.3/data/boards/board_files/


以上の作業では"Vivado Design Suite User Guide"(ug973-vivado-release-notes-install-license.pdf) を参考にしています。

この後、petalinux のインストールについてメモ書き記事を投稿します。petalinuxのバージョンが古いのが少し寂しいところですが。