コンピュータの最近のブログ記事

iTunes を使っている人が一番悩まされるのは「元のファイルが見つからなかったので~元のファイルを探しますか?」エラーだろう。

 20200719_itunes2.jpg

ある日突然発生する人もいるようだが、俺の場合は PC を乗り換えて、古い PC から iTunes のデータを移行(iTunes フォルダを手動で丸ごとコピー)したのだが、その時から発生するようになった。

全ての曲ではない。ちゃんと再生する曲(というか、アルバム単位か)もあれば、エラーになるものもある。原因不明。
まあ、iTunes で音楽再生することもそんなにはないのですごく困るわけでもなく、長い間ほったらかしにしていた。
しかし、今回、iTunes で iPhone に曲をコピーしたい事案が発生したので、真面目に調べてみた。

原因はファイル名のようである。

新しいバージョンの(と言っても、何年か前のね)iTunes では、CDからインポートしたファイル名の先頭に、曲番号(トラック番号)を着けるようになったようだ。「09 サーキットの娘.mp3」のようにである。ちなみにこの曲は、奥田民生の「CAR SONGS OF THE YEARS」というアルバムの 9曲目である。

 20200719_itunes4.jpg

iTunes で「元のファイルが見つからなかったため、曲"サーキットの娘"は使用できませんでした。元のファイルを探しますか?」で「場所を確認」ボタンを押してディスク上の「サーキットの娘.mp3」を指定してやると、ファイル名が「09 サーキットの娘.mp3」に自動で変更された。試しに手動で頭に曲順(トラック番号)を入れてやると、エラーは出ずに再生されるようになる。

 20200719_itunes5.jpg

原因・・・というか、状況はわかった。
でも、手動でエラーが出る全ファイルの名前を変えていくのは大変だぞ(^^;
ま、好きなアルバムを先に直すって感じで、優先順位決めて地道にやっていくしかないね(^^;

ひとつ注意点があって、どうもファイル名の長さには制限があるようだ。
例えば、「Teo Torriatte (Let Us Cling Together).mp3」を単純に「10 Teo Torriatte (Let Us Cling Together).mp3」としても、エラーになってしまう。拡張子を除いて、36文字までのファイル名にしないと駄目なようだ。バイト数ではなく文字数のようである。つまり、「10 Teo Torriatte (Let Us Cling Toget.mp3」このようにしないといけない。

面倒くせえ・・・(^^;

ちなみに iTunes のバージョンは 12.10.7.3 である。現時点の最新版だ。
ネット上で検索すると古いバージョンの情報が多くて、そのとおりにやっても全然解決せんかったんよね(^^;
ようやく、このブログサイトを SSL 化した。

まあ、サーバの設定は本業なのですぐにできたのだが、問題は MTOS の SSL 化である。

そう。うちのブログサイトって、未だに MTOS4 ベースなのである。んが、Perl で書かれた MTOS には適時手を加え、セキュリティに関してはなんの問題もない。つーか、MTOS は WordPress なんかと違い、ブログ登録時に静的なページを吐き出したらそれで終了。一切動的なコンテンツは作成しないので(右ペインのカテゴリ一覧等々もブログ作成時の状態の静的コンテンツである)、そういう隙きを突いた攻撃でサイトが乗っ取られ・・・みたいなこともまず起こらないので、このブログを愛する 3億4千万人の「電気ウナギ」ファンの皆さん、ご安心を(笑)

で、話を戻すが、対応が必要なのは、大きく分ければ以下の二点。
今どき MTOS を使っている人もそんなにはいないと思うので、他所様の参考にはならないだろうが、自分用のメモとして書いておく。

    • すでに作成しているコンテンツ(静的コンテンツ)内の http://blog.netandfield.com 記述を https://blog.netandfield.com 記述に変更
    • これから作成するコンテンツで、サイト内コンテンツへのリンクが https://blog.netandfield.com になるように設定変更

というわけで、すでに作成しているコンテンツ内にリンク先として書き込まれた、例えば http://blog.netandfield.com/shar/2020/05/post-3718.html のような URL を https に修正する必要がある。
ブログ本文は MySQL DB に登録されているので、mysql 上で SQL 叩こうかと思ってたんだけど、MTOS の管理画面に置換機能があった。(WordPress はプラグイン入れないと駄目らしいけど)

まず、管理画面の右上の検索窓で「http://blog.netandfield.com/」などで検索。すると「検索/置換」画面に遷移するので、ここで「https://blog.netandfield.com/」に変換。これでOK。この作業は「ブログ記事」と「テンプレート」の両方に行う。

次に、新しく作成するコンテンツに貼られるリンクが「https://blog.netandfield.com/~」になるように設定を変更。
これは、2つの作業が必要。

最初に、mt-config.cgi の修正。SFTP 等でファイルを落としてきて、CGIPathとStaticWebPath を修正。http→https に。

それから、メニューの「設定」→「公開」で「サイト URL」を https://blog.netandfield.com/shar/ に変更。

以上の作業を行った上で、サイト全体の再構築を行う。ちなみに、「電気ウナギ的○○」は全体再構築に 2時間ほどかかる(^^;
これで、「保護されていない通信」ワーニングは出なくなったのである。(特にこのサイトで金儲けを考えているわけではないので、SEO 的にはどうでもいいんだけど(笑))
3月から仕事用に Windows 10 Pro のノートパソコンを使ってるんだけど、いつの間にか Skype が入ってて、しかも勝手に起動しちゃうので自動起動を止めようと思ったんだけど・・・

設定画面にはそういう項目無いし・・・。本来なら「Skype を自動的に開始」という項目があって、これを OFF にすれば自動起動は止まるようだが。

20200502_skype1.JPG

ネットでググったら、どうも「Microsoft Store 版(ストアアプリ版) Skype のバグ」らしい。

最近の Windows には、Apple Store を真似た Microsoft Store というのがあって、Windows 用のアプリやゲーム(マイクラとかな)を購入(もちろん無償のものもあり)・インストールできるようになっている。
この Skype も ストアアプリ版だったようだ。自分でインストールした覚えはないので、プリインストールされたものだろう。

まあ、バグというか、Microsoft が確信犯的にやってることだろうな。Microsoft としては Skype を使ってほしいから、自動起動させたくてたまらないということだろう。Microsoft は(Windows XP 辺りから Microsoft と付き合いが始まった人は知らないだろうが)昔からこういうことをする会社だ。

そのため、今回の「バグ」への対応は、「一旦、ストアアプリ版 Skype をアンインストール」「skype.com からダウンロードしたデスクトップ版の Skype for Windows をインストール」しかない。

20200502_skype2.JPG

おお、たしかに、デスクトップ版の Skype for Windows には「Skype を自動的に開始」が設定に出てきた。これを OFF にすればOK。

・・・が、これから遠隔での打ち合わせの機会も増えてくるだろうから、その時はうちは Skype を使うことにしよう。Zoom なんか怪しくて使えんからな。
というわけで、自動起動はそのままにしておいたのである(笑)
自宅で仕事に使っている PC の外付けの 4TB HDD が読めなくなった。

Buffalo HD-LC4.0U3/N (4TB / USB 3.0 接続) だ。
この HDD には仕事のデータは入っておらず、主にデジカメや iPhone で撮った写真や、ダウンロードしたエロ動画などのデータが入っていた。なので緊急度は低いが、でも、写真データを全部捨てちゃうのは悲しいなあ・・・と。

しかし、何の前兆もなくいきなりまったく読めなくなったので、HDD 本体ではなく HD-LC4.0U3/N のコントローラー部の障害だろうと思った。なにせ、PC に接続して中身を見に行くと、OS も固まってしまうのである(^^;

20200307_hdd.jpg
筐体はユーザは開けられないようになっている。つまり、ネジ止めなどではなく、筐体を開けようと思えば隙間に何か突っ込んでコネコネ、バキバキして強引に開けるしかない。
もうコントローラー部が壊れているのなら筐体も使えないので、壊れても良いつもりでマイナスドライバーを突っ込んでベキベキと開けていった。でも、一箇所ツメが折れたくらいで、けっこう頑丈な筐体だった。コントローラーが無事なら、中の HDD だけ交換してまた使える感じ。ただ、壊れているのはコントローラーの方だと思ったので、速攻で筐体は「破砕ゴミ」に出した(笑)

ちなみに中身は SEAGATE の ST4000DM000 という 4TB SATA HDD であった。

それから、HDD を差し込んで使える「Salcar USB3.0 2.5/3.5型 SATA HDD/SSDスタンド」というのと、「4TB SATA HDD(Western Digital WD40EZRZ-RT2)」を購入した。

HDD スタンドに HD-LC4.0U3/N から抜いた SEAGATE の HDD を差し込んでみたら、ちゃんと PC から読めた。

やはり HDD は生きていたのだ。よかった。それから Western Digital HDD も差し込んでコピー(バックアップ)を行った。エロ動画はまた落としてくればいいが、写真のデータとかは唯一無二のものだからな。やはりバックアップしとこうと・・・

しかし、コピーには 1週間かかった(笑)

Salcar の説明書には、1TB あたり 2時間かかると書いてある。だから一晩ほっておいた。しかし、8時間経っても、コピー状況を知らせるインジケーターは半分のところだ。「やっぱ HDD も壊れてて、どこか特定の場所に行くとなかなか読み込めなくてリトライが行われてるのかなあ?」とか色々な理由を考え、二日目、三日目には何度も HDD スタンドのスイッチを切りかけたが寸前で思いとどまった。そして 1週間。やっとコピーは終わった。

なんなん!!1TB 2時間って大嘘じゃん!!(^^; 4TB で 160時間以上かかってんじゃん!!

ま、良いか。エロ動画、いや、写真データを救うことができたから(笑)
20200114_libre1.jpg

つまらんミスでハマってしまった(^^;

LibreOffice Calc のフォームボタン押下でマクロを実行するには、

  1. ボタン上で右ボタンクリック→「コントロールのプロパティ」を選択
  2. イベントタブを選択し、イベントの登録(「...」ボタンを押してマクロの選択)

という手順なわけだけど、ずっと「キーを押した時」ってイベントが俺の頭の中では「ボタンを押した時」に自動変換されてて、ここに割り当てたマクロが「ボタンを押しても実行されない」って悩んでたわ(^^;

「ボタンを押す」というイベントでマクロを実行したい時は「実行時」というイベントにマクロを登録する(関連付ける)。
「実行時」=「ボタンを押した時」なわけだ。

小一時間くらい悩んでたわ・・・(^^; 疲れてるなあ、俺。もう寝ます。
昨日、なんとか立ち上がった Raspberry Pi 3B+ だが、EPSON プリンタのドライバを入れる前準備で、devscripts という deb パッケージの管理を楽にするスクリプト&ライブラリパッケージをインストールしていたら、

・・・
mysql-common (5.8+1.0.5) を設定しています ...
update-alternatives: エラー: ファイル '/usr/share/man/man7/bash-builtins.7.gz' の状態を取得できません: 入力/出力エラーです
dpkg: パッケージ mysql-common の処理中にエラーが発生しました (--configure):
 installed mysql-common package post-installation script subprocess returned error exit status 2
libfile-which-perl (1.23-1) を設定しています ...
dpkg: パッケージ libfile-which-perl の処理中にエラーが発生しました (--configure):
 ci ファイル `/var/lib/dpkg/info/libfile-which-perl.triggers' のトリガをオープンできません: 入力/出力エラーです
gettext (0.19.8.1-9) を設定しています ...
dpkg: パッケージ gettext の処理中にエラーが発生しました (--configure):
 ci ファイル `/var/lib/dpkg/info/gettext.triggers' のトリガをオープンできません: 入力/出力エラーです
libnumber-range-perl (0.12-1) を設定しています ...
dpkg: unrecoverable fatal error, aborting:
 更新した `libnumber-range-perl' のステータスをフラッシュできません: 読み込み専用ファイルシステムです
sh: error while loading shared libraries: libc.so.6: cannot open shared object file: Input/output error
E: Sub-process /usr/bin/dpkg returned an error code (2)
W: ファイル /var/cache/apt/pkgcache.bin の削除中に問題が発生しました - pkgDPkgPM::Go (30: 読み込み専用ファイルシステムです)
・・・

みたいなエラーが発生してインストール失敗。「入力/出力エラー」って言うんだから、やっぱ SD カードへの読み書きができなかったってことだろうな・・・

よくコンピュータのトラブルで「相性問題です」って言うと、「規格どおりに作られているのに『相性』なんてありえないだろう」とか文句を言う人がいるが、「相性問題」というのは確かに存在する。オカルトの世界ではなくね。

ちょっと別のメーカーの SD カードも試してみるか。意外に読み書き速度の遅い安物の方が安定してたりするのよね(^^;
数日ぶりに VNC で和室においている Raspberry Pi 3B+(いや、俺の書斎、2畳しかないので(^^; Raspberry Pi すら邪魔なのよ(笑))に接続しようとしたらつながらない。
見に行ったら、LANケーブルが抜けていた(^^;

いやあ、コネクタ部の爪が折れちゃってるので抜けやすいのよねと思いながらケーブルをつなぎ直したが状況変わらず。
電源OFF/ONしても、起動途中で固まっちゃうし、そのうち、

mmc0: timeout waiting for hardware interrupt.

とか出ちゃうし。

SDカード読み込み時のハードウェア割り込みがタイムアウト???

よもや、Raspberry Pi でよく聞く「SDカードの相性問題」ってやつか?

いやいや、今まで何日も連続運転しても問題起きなかったし、試しに他の(古い Raspbian の入った)SD カードに差し替えてみたけど状況変わらんし・・・(^^;

20191218_raspberrypi.JPG接続していた USB 機器を全部はずしてみたが状況変わらず。

結局、2000mA の ACアダプタを 3000mA のものに変えてみたらうまくいった。
電流不足???

いやいや。今まで、さんざん 2000mA のバッテリー使ったデモとかでも問題おきなかったのに???

Raspberry Pi3 Model Bの実際の消費電流はいったい何アンペアなのか?
このサイトによると、1340mA でも動くらしいぞ。(あ、USB 接続のキーボードとマウスはつけてたんで、もう少しいるか。これはボード単体を動かす時の最小値)

やっぱ SD カードの相性問題なんかね???しばらく様子を見ますけど・・・
Raspberry Pi 3B に Raspbian Buster の最新版(Version September 2019)をインストールし直したので、FeliCa カードを読むために Python 用の NFC デバイスコントロールモジュールである nfcpy も再インストールした。

前回は Python 2 用のモジュールを入れて、その後 Python 3 用にインストールし直すなどバタバタしたが(記事「Python3 で tagtool.py を実行する」参照)、今後は基本的に Python 3 での開発しかせんだろうなぁ・・・ということで、Python 3 用にのみインストール実施。

まず、Felica 用のカードリーダーを USB ポートにつなぎ、認識しているか確認。

pi@raspberrypi:~ $ lsusb|grep Sony
Bus 001 Device 004: ID 054c:06c3 Sony Corp. RC-S380

ばっちり認識しているようだ。
では、インストールを。

pi@raspberrypi:~ $ pip3 list|grep usb
pi@raspberrypi:~ $ sudo pip3 install nfcpy
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting nfcpy
  Downloading https://files.pythonhosted.org/packages/7e/ed/3b3a00ada844f8a9229c8a79f460a1a13e870b767a1eb0ee0caf99740e9d/nfcpy-1.0.3-py3-none-any.whl (186kB)
    100% |????????????????????????????????| 194kB 952kB/s 
Collecting libusb1 (from nfcpy)
  Downloading https://www.piwheels.org/simple/libusb1/libusb1-1.7.1-py3-none-any.whl (59kB)
    100% |????????????????????????????????| 61kB 102kB/s 
Collecting ndeflib (from nfcpy)
  Downloading https://files.pythonhosted.org/packages/c9/80/bbc9a4818cd74807f914d225611cd724d8c0e56237b952a9a4aa6d583f5c/ndeflib-0.3.3-py2.py3-none-any.whl (56kB)
    100% |????????????????????????????????| 61kB 1.3MB/s 
Requirement already satisfied: pyserial in /usr/lib/python3/dist-packages (from nfcpy) (3.4)
Collecting pydes (from nfcpy)
  Downloading https://www.piwheels.org/simple/pydes/pyDes-2.0.1-py2.py3-none-any.whl
Installing collected packages: libusb1, ndeflib, pydes, nfcpy
Successfully installed libusb1-1.7.1 ndeflib-0.3.3 nfcpy-1.0.3 pydes-2.0.1
pi@raspberrypi:~/nfcpy/examples $ pip3 list|grep usb
libusb1           1.7.1      

インストールされたことが確認できた。
続けて、サンプルプログラムを GitHub から取得する。

pi@raspberrypi:~ $ git clone https://github.com/nfcpy/nfcpy.git

無事取得が成功したら、サンプルを動かしてみる。

pi@raspberrypi:~ $ cd /home/pi/nfcpy/examples/
pi@raspberrypi:~/nfcpy/examples $ sudo python3 tagtool.py
[nfc.clf] searching for reader on path usb
[nfc.clf] using SONY RC-S380/P NFC Port-100 v1.11 at usb:001:004
** waiting for a tag **
Type3Tag 'FeliCa Lite-S (RC-S966)' ID=012E4CD257C68AB3 PMM=00F1000000014300 SYS=88B4

読めた。簡単だったな。
ブログに「3.5インチ液晶ディスプレイ(タッチパネル)が見つからない」って書いたけど、翌日、無事和室のテーブルの上に放り投げてた手提げ袋の中から発見されたので、さっそく Raspberry pi 3 に取り付けてみた。

20191114_pi1.JPG

ディスプレイは、拡張コネクタに刺して固定する。制御用の信号のやり取りもこの拡張コネクタで行われるので、他に HDMI ケーブルなどで接続する必要はない。拡張コネクタ 40ピンのうちの 26ピンを使用する。
なので、ディスプレイを取り付けたままでも、残りのピンを使った実験などは可能。

ディスプレイを取り付けても、これだけでは何も映らない。電源が入ってグレーに光っているだけだ。

ドライバや設定ファイルをインストールするわけだが、これは GitHub に接続してインストーラ等を取得し実行するだけだ。なので、インターネットには接続できている必要がある。

pi@raspberrypi:~ $ git clone https://github.com/goodtft/LCD-show.git
Cloning into 'LCD-show'...
remote: Enumerating objects: 26, done.
remote: Counting objects: 100% (26/26), done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 1186 (delta 15), reused 14 (delta 6), pack-reused 1160
Receiving objects: 100% (1186/1186), 758.18 KiB | 904.00 KiB/s, done.
Resolving deltas: 100% (778/778), done.
pi@raspberrypi:~ $ ls -ld LCD-show
drwxr-xr-x 6 pi pi 4096 11? 14 21:40 LCD-show
pi@raspberrypi:~ $ chmod -R 755 LCD-show
pi@raspberrypi:~ $ cd LCD-show
pi@raspberrypi:~/LCD-show $ ls -la
?? 636
drwxr-xr-x  6 pi pi   4096 11? 14 21:40 .
drwxr-xr-x 25 pi pi   4096 11? 14 21:40 ..
drwxr-xr-x  8 pi pi   4096 11? 14 21:40 .git
-rwxr-xr-x  1 pi pi    828 11? 14 21:40 LCD-hdmi
-rwxr-xr-x  1 pi pi   2316 11? 14 21:40 LCD24-3A+-show
-rwxr-xr-x  1 pi pi   2319 11? 14 21:40 LCD24-show
-rwxr-xr-x  1 pi pi   2319 11? 14 21:40 LCD28-show
<略>
drwxr-xr-x  2 pi pi   4096 11? 14 21:40 etc
-rwxr-xr-x  1 pi pi   6374 11? 14 21:40 rotate.sh
-rwxr-xr-x  1 pi pi   2869 11? 14 21:40 system_backup.sh
-rwxr-xr-x  1 pi pi   2982 11? 14 21:40 system_restore.sh
drwxr-xr-x  2 pi pi   4096 11? 14 21:40 usr
-rwxr-xr-x  1 pi pi  41542 11? 14 21:40 xinput-calibrator_0.7.5-1_armhf.deb
-rwxr-xr-x  1 pi pi 115568 11? 14 21:40 xserver-xorg-input-evdev_1%3a2.10.3-1_armhf.deb
-rwxr-xr-x  1 pi pi 116938 11? 14 21:40 xserver-xorg-input-evdev_1%3a2.10.5-1_armhf.deb
-rwxr-xr-x  1 pi pi 117184 11? 14 21:40 xserver-xorg-input-evdev_1%3a2.10.6-1+b1_armhf.deb
-rwxr-xr-x  1 pi pi 117054 11? 14 21:40 xserver-xorg-input-evdev_2.10.5-1_armhf.deb
pi@raspberrypi:~/LCD-show $ sudo ./LCD35-show

これでパッケージのインストールが終わり、再起動がかかる。

20191114_pi2.JPG

起動したディスプレイにはちゃんとデスクトップ画面が表示されているのである。
付属のペンで画面にタッチしてみると、ちゃんとタッチパネルの機能も生きている。

簡単なもんやなあ~(笑)

しかし、これが新たなる事件を生むのであった・・・
現在、Windows + Excel で動いている某集計プログラムを、安価に複数台展開できるように Raspbian + Libre Office Calc に移植しようと思ってて、お客さんに説明用の Raspberry pi 3 のデモ機を作ろうかと。

・・・が、4ヶ月ほど前に Raspberry pi 3 と一緒に買った 3.5インチ液晶ディスプレイ(タッチパネル)が見当たらん(^^;
仕方ないので、4年前に Raspberry pi 2 用に買った「5インチIPSハイビジョンLCDディスプレイ(タッチパネル)」をつないでみた。800 x 480 の解像度のディスプレイである。

んが、Raspbian のディフォルトの解像度は 720 x 480 で、選択肢の中にも 800 x 480 の解像度はない。
720 x 480 の実際の表示が下の写真。

20191109_pi1.JPG

確かに、右側に何も表示されていない部分がある。
ぐぐってみると、「Raspberry Pi 3に HDMI接続の 800x480 5インチ TFT液晶を接続して使用する方法」というサイトに 800 x 480 のディスプレイを追加しディフォルト設定にする方法が書かれていたのでやってみた。

/boot/config.txt を以下のように修正する。

pi@raspberrypi:~ $ diff /boot/config.txt /boot/config.txt_20191109
26d25
< hdmi_force_hotplug=1
30d28
< hdmi_group=2
32,39d29
< hdmi_mode=87
< hdmi_cvt=800 480 60 6 0 0 0
< framebuffer_width=800
< framebuffer_height=480
< dtparam=spi=on
< dtoverlay=ads7846,penirq=25,speed=10000,penirq_pull=2,xohms=150

これで、ディスプレイいっぱいを使った 800 x 480 の表示ができるようになった。

20191109_pi2.JPG

・・・が、タッチパネルが反応せんのお。
もちろん、タッチパネルキャリブレーションとかの設定はしていないが、それ以前のような問題が・・・

この週末にもう少し設定をいじってみよう。
参考にしたページは、Raspbian Jessie を対象にしているそうだが、うちの OS はそれより 2世代新しい Raspbian Buster である。そのへんの関係だったらちょっと面倒くさいが・・・

このアーカイブについて

このページには、過去に書かれたブログ記事のうちコンピュータカテゴリに属しているものが含まれています。

前のカテゴリはゲームです。

次のカテゴリはスポーツ見たり、やったりです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら