2019年11月22日金曜日

Xubuntuの「システムプログラムの問題が見つかりました」のダイアログ表示対策

家ではXubuntuを使っているのですが、最近ログインした後に、
システムプログラムの問題がみつかりました
というダイアログが表示されるようになりました。
 調べて見ると、「/var/crush」にcoreがダンプされていると、この表示が出るようです。
ということで、
 suro rm /var/crash/*
でcoreファイルを削除して再起動、これでダイアログが出なくなりました。
暫くこれで様子をみてみることにします。

2019年11月21日木曜日

Macで「エラー22 - 引数が無効です。」と表示されるzipファイルを開く

仕事でMacを使っているのですが、たまに取引先から送られてくるzipファイルが開けないことがあります。

アーカイブユーティリティでは「エラー22 - 引数が無効です。」と表示されて展開できない。
ターミナルでunzipを使って展開しようとすると「Illegal byte sequence」のエラーメッセージが表示されて展開されない。

いろいろ調べてみると、アーカイブ内のファイルの名前に日本語(Shift-JIS)が使われていると発生するようです。

google先生に聞いてみましたが、同じ問題に遭遇している方はいるみたいで、unzipの代わりにdittoを使うと良いみたいですね。

https://github.com/CocoaPods/CocoaPods/issues/7711

こんな感じで、zipアーカイブを展開できます。
ditto -V -x -k --sequesterRsrc --rsrc FILENAME.ZIP ./
パスワード付きのzipファイルなら、
ditto -V -x -k --sequesterRsrc --password --rsrc FILENAME.ZIP ./
です。

無事に展開そうで、開けました。

2019年10月13日日曜日

自宅サーバをjail環境を含めて11.3-RELEASEへアップグレード


自宅サーバをFreeBSDで運用しているのですが、忙しさにかまけてアップグレードを怠っていたので、三連休を利用してOSをアップグレードしました。

FreeBSD 11.2-RELEASEから11.3-RELEASEへ、jail環境も含めてアップグレードします。
まずはjailer(ホスト環境)から。
freebsd-update -r 11.3-RELEASE upgrade
freebsd-update install
reboot
続いて、prisoner(ゲスト環境)を更新します。
jexecでprisonerにダイブしてから作業するのかと思いきや、jailer側から更新可能なのですね。
setenv UNAME_r 11.2-RELEASE

freebsd-update -b /home/jail/prisoner1 -r 11.3-RELEASE upgrade
freebsd-update -b /home/jail/prisoner2 -r 11.3-RELEASE upgrade
freebsd-update -b /home/jail/prisoner3 -r 11.3-RELEASE upgrade
freebsd-update -b /home/jail/prisoner4 -r 11.3-RELEASE upgrade

freebsd-update -b /home/jail/prisoner1 install
freebsd-update -b /home/jail/prisoner2 install
freebsd-update -b /home/jail/prisoner3 install
freebsd-update -b /home/jail/prisoner4 install
ここまででカーネルの更新がされるので(prisonerなのでいらないけど)、続いてベースシステムを更新します。
unsetenv UNAME_r

freebsd-update -b /home/jail/prisoner1 install
freebsd-update -b /home/jail/prisoner2 install
freebsd-update -b /home/jail/prisoner3 install
freebsd-update -b /home/jail/prisoner4 install
終わったら、以下のようにしてprisonerを再起動させます。
/etc/rc.d/jail restert
jexecでprisoner環境にダイブし、freebsd-versionで更新後のバージョンが表示されればOKです。

2019年8月13日火曜日

BUFFALO BS-G2008MRのファームウェア更新

だいぶ前に秋葉原で入手したものの、しばらく放置していたBUFFALO BS-G2008MR。
これを設定して使えるようにすべく、まずはファームウェアのアップデートからはじめてみます。

必要なものは以下の3つです。

・シリアルポートがついたWindows PC
・インターリンク(クロス)ケーブル
・UTPケーブル

PCのシリアルポートとはストレートではなく、インターリンク(クロス)ケーブルで接続します。
シリアルポートへのアクセスには、Tera Term(SSHに対応している新しい方)を使います。
シリアルポートの設定は、Tera Termのデフォルトのままでよく、特に弄る必要はありませんでした。

シリアルコンソールからは、ID/パスワードは「admin」「」でログイン可能です。
設定方法はメニュー形式で、このあたりはコンシューマ向けの製品をたくさん手がけているBUFFALOならではな感じがします。

BS-G2008GRのファームウェアのアップデートでは、PCの方にTFTPサーバを動かし、BS-G2008MRからUTPケーブルでPCの方にファームウェアを取りに行く仕組みのようです。

BS-G2008MRのIPアドレスは、デフォルトで192.168.1.254が割り当てられているようなので、PC側も同じく192.168.1.?を割り当てます。

TFTPサーバのソフトウェアは、CISCO TFTPを使いました。
TFTPサーバのルートディレクトリにファームウェアを配置し、BS-G2008MRのシリアルコンソールからPCのIPアドレスと取得するファームウェアのファイル名を指定してやります。

TFTPのファイル転送に5分くらいかかりましたが、転送が終わるとシリアルコンソール側で確認画面が表示され、そこでYESを選択すると、更新プロセスが走り、しばらくすると更新が完了しました。

2019年2月28日木曜日

ENEOSでんきでクレジットカードの決済が失敗した話

突然やってきた請求書

先日、サービス開始から利用しているENEOSでんき(の運営会社である、JXTGエネルギー)から、クレジットカードの決済が出来なかったので料金をコンビニなどで払って下さい、という手紙が来ました。

請求金額は32,000円あまり。

新手の振り込め詐欺かと思い、コールセンターに電話したところ、確かに自社で発行したものとのことでした。

 請求書が来たわけ

クレジットカード決済ができなかった理由を詳しく聞いてみると、

・私が支払用に登録したクレジットカードの有効期限が切れている。
・30,000円未満の決済では、クレジットカードの有効期限は確認されないので、今までは料金の決済が出来ていた。
・今回の請求は30,000円を超えていたため、有効期限のチェックで引っかかり、決済ができなかった。

との回答を頂きました。

足りなかった回避策

そんなこともあるのかなーと思いましたが、クレジットカードの有効期限についてはクレジットカード情報の一部として登録している為、定期的にチェックして有効期限が切れた場合にお客さまに通知をすることも出来ます。

そのような取り組みをしていないのか確認したところ、2018/04からクレジットカードの有効期限が直近で切れるお客さまに手紙でお知らせしているとのことでした。
但し、それ以前に有効期限が切れたお客さまについては、ご連絡ができていないとのこと。

私が登録していたクレジットカードの有効期限は2017/05だったので、まさに嵌まるケースだったというわけです。

一方で、JXTGエネルギーがクレジット会社の加盟店になっていれば、カード会社とシステム連携してカードの更新の際に新しい有効期限を知ることが可能です。
(Amazonとかヨドバシ.comとかに登録したクレジットカードの有効期限がいつのまにか更新されているのも、この仕組みによります。)

但し、私が使っていたクレジットカード(セゾンカード)については、加盟店になっておらず、クレジットカードの有効期限は自動的に更新されないとのことでした。

ご参考までに、ENEOSでんきの支払いで利用できるクレジットカードのうち、
ANAカード
ビューカード
TS CUBICカード
レクサスカード
エポスカード
MIカード
 については加盟店になっているそうで、クレジットカードの有効期限は自動的に更新されるとのことです。(2019/02末時点)

不満が募ったリカバリー方法

今回クレジットカード決済失敗した分については、クレジットカードの情報を再登録して、再度クレジットカードで引き落としてもらうようお願いしたのですが、どうしても送った振込票で支払ってくれととのことで、渋々ATMで現金をおろしてコンビニの窓口で払いました。

有効期限が切れたカードの情報をそのままにしていた私も悪いのですが、それを更新する試みをせずに古い情報で決済し続けるのもどうかなと思います。

正直なところ、不手際の責任を一方的に転嫁されたような気がして、あまり気持ちは良くなかったです…

改善のご提案

文句はこれぐらいにしますが、今回のケースでは、2018/04に新しい運用を始めた際に、既に有効期限が切れているクレジットカード情報も抽出して、合わせてお知らせすればよかったのではないかと思います。

あと、クレジットカード決済が失敗した際には、メール等で周知し、「○○日までにクレジットカード情報を登録し直していただければ、再度クレジットカードで決済します」みたいな運用を作っていただければ、コンビニ払いも不要で、不満も出ないのではないかと思います。

加えて、有効期限が自動更新されるクレジットカードのバリエーションがまだまだ足りない気がします。
銀行系や流通系のカードとか全然網羅できてないですし。

お客さまセンターのご担当者の方も仰っていましたが、他のお客さまからもクレームを頂いていて、お客さまによっては解約されてしまうとのこと。
このままの状態にしておくのは良くないと思います。

また、ハガキでお知らせしても見ない人は多いと思うので、是非ともメールでの通知とクレジットカードでの再引き落としの機能を作って頂きたいです。

上記のご要望については、お客さまセンターのご担当者様にはお電話でお伝えしましたが、こういう声はなかなか会社内で上がりにくいんですよね。
もしこのページをご覧の方に、ENEOSでんきのサービス担当者様がいらっしゃいましたら、ご検討のほど宜しくお願いします。


今回の問題については、他山の石として、私自身がサービスやシステムを企画・設計する際の教訓としたいと思います。



【備考】

裏取りのために、セゾンカード(の提供元であるクレティセゾン)にも照会しましたが、
・今回、決済できなかった理由はクレジットカードの有効期限の誤りが原因。
・有効期限が変更になった場合には、原則として利用者が契約している各社に対して変更の届け出をするよう、お願いしている。
・契約がある会社に対しては、クレジットカードの有効期限を自動更新する仕組みを提供している。
・但し、この仕組みを利用して登録済みクレジットカード情報の有効期限を自動更新するか否かは個々の会社の判断に委ねており、自動更新しないポリシーの会社もある。
との回答をいただきました。

後ろ2つについては、こちらから特に聞いていないのにご回答頂けたので、恐らくお客さまからのお問い合わせが多い事象なのではないかと思います。

2019年1月15日火曜日

Nexus5XをLineageOS導入済みの状態から工場出荷状態に戻す

LineageOSをインストールして使っているNexus5Xですが、どういう理由か、LineageOSのアップデートが適用できなくなってしまいました。
アップデートのダウンロードはできて、インストールも選択できるのですが、TWRPの画面で「zipのシグネチャが違う」と言われてエラーになります。

何が原因かわからないのですが、色々試行錯誤するよりは、また一からLineageOSを導入したほうが早そうなので、そのようにしたいと思います。

ついでと言ってはなんですが、先日ファクトリーイメージを確認した際に、LineageOSがインストールされた状態から、完全に工場出荷時の状態に戻せそうだったので、
試してみたいと思います。

やり方は、こんな感じです。

まずFactory Images for Nexus and Pixel Devicesから最新のファクトリーイメージをダウンロードします。

2019/01/15現在の最新のイメージは「bullhead-opm7.181205.001-factory-5f189d84.zip」でした。

このzipファイルの中にある
radio-bullhead-m8994f-2.6.42.5.03.img
bootloader-bullhead-bhz32c.img
と、更にその中にある、「image-bullhead-opm7.181205.001.zip」の中の、
boot.img
recovery.img
system.img
vendor.img
の合計6ファイルを取り出します。

次に、本体の電源を切った後、音量小ボタンを押した状態で電源ボタンを押し、fastbootモードに入ったら、以下のようにしてそれぞれのイメージを焼きこんで行きます。
fastboot flash boot boot.img
fastboot flash bootloader bootloader-bullhead-bhz32c.img
fastboot flash radio radio-bullhead-m8994f-2.6.42.5.03.img
fastboot flash vendor vendor.img
fastboot flash recovery recovery.img
fastboot flash system system.img
すべてのファイルの焼き込みが完了したら、以下のようにしてシステムを再起動させます。
fastboot reboot
再起動後、数分間起動のスプラッシュ画面が続きます。
端末の使用状況によっては、うまく起動できない旨のエラーメッセージが表示される場合があります。

エラーメッセージに続いて、工場出荷状態に戻すかの選択肢が出てくるので、YESを選択してください。

再起動後、また数分間起動のスプラッシュ画面が続き、うまく行けば、初期設定の画面が表示されます。

2019年1月11日金曜日

LineageOS導入済みNexus5xで表示される「ベンダーイメージの不一致」エラーの対処法

LineageOSをインストールして使っているNexus 5Xですが、ある時から起動時に以下のメッセージが出るようになりました。
Androidシステム
ベンダーイメージの不一致を検出しました。
ベンダーイメージが最新でない可能性があります。
ベンダーイメージがOPM7.181205.001と一致しているか確認してください。
ちょっと調べてみましたが、このメッセージは、端末に書き込まれているベンダーイメージ(flashのvendor領域に保存されているイメージ)のバージョンと、LineageOSが期待するベンダーイメージのバージョンに違いがある場合に出るようです。

Nexus 5Xについては、2018/12現在、まだサポートが継続していて、ファクトリーイメージが更新される度に、ベンダーイメージやブートローダー、無線関連のファームウェアなどが更新されています。

一方、LineageOSの方も、Nexus5Xに最新のベンダーイメージがインストールされていることを期待しているようで、LineageOSがバージョンアップされる際に、そのタイミングで提供されている最新のベンダーイメージがインストールされているかを確認するように修正しているっぽいです。

ということで、このエラーを出ないようにするには、Nexus 5Xの最新のファクトリーイメージを取得し、そのアーカイブの中からベンダーイメージを抜き出して、本体に書き込んでやればよいです。

例えば、Factory Images for Nexus and Pixel Devicesからダウンロードできる2018/12のNexus 5Xのファクトリーイメージ、
bullhead-opm7.181205.001-factory-5f189d84.zip
の中には、アーカイブ「image-bullhead-opm7.181205.001.zip」が含まれており、その中に、
vendor.img
が存在しています。

ついでに、元のアーカイブの直下には、ブートローダー及び無線ファームウェアである
bootloader-bullhead-bhz32c.img
radio-bullhead-m8994f-2.6.42.5.03.img
が含まれています。

これらをfastbootを使って本体に書き込んでやればよいです。
(今回の問題はvendor.imgだけ更新すれば解決しますが、ブートローダーと無線関連のファームウェアは新しいに越したことはないので、合わせて更新します。)
fastboot flash bootloader bootloader-bullhead-bhz32c.img
fastboot reboot-bootloader

fastboot flash radio radio-bullhead-m8994f-2.6.42.5.03.img
fastboot reboot-bootloader

fastboot flash vendor vendor.img
fastboot reboot
みたいな感じです。
再起動後にはエラーメッセージが出なくなっている筈です。


余談ですが、NexusやPIXELのファクトリーイメージには、オリジナルのリカバリーであるrecovery.imgが含まれているようで、LineageOSを導入するためにリカバリーをTWRPに書き換えてしまっても、完全に元の状態に戻せそうです。

ASUS Zenfoneでは、オリジナルのリカバリーは配布されていないのに比べて、とても親切ですね、さすがGoogleです。