クマは森で用を足しますか?

アウトプットは重要です。

Pixel 7 のログから逆引きして学び始める eSIM MEP

Apple は iPhone 13 から、Google は Pixel 7 から eSIM MEP (Multiple Enabled Profiles) をサポートしています。一般市民が触って遊べるようなものなのかどうかは疑問なところですが、どんな仕組みで動いているのか知っておいても良いかなと考えています。…

eSIM.me を Windows 11 の LPA で使用する

このページに来られた方々は既にいろいろとご存じのことだと思われますので、まずは結論から。ふたつあります。 「MBIM モードで接続可能な eSIM 対応通信モジュール」を増設すれば、着脱可能なカード型 eUICC である "eSIM.me" を Windows PC 上で制御でき…

ワイモバイルのeSIMカード (Removable eUICC) はいい感じです

ソフトバンクおよびワイモバイルでは「eSIMプロファイルのダウンロードに使える物理的なeSIMカード」が2022年3月から提供されているようですが、あまり市場に出回っていないのか(そんな気はする)、それらのeSIMカードについて書かれたブログやツイートを見…

eSIM.me は商用かつ汎用の Removable eUICC カード

抜き差しできる eUICC カード、あります 世の中の SIM/UICC 好きの皆さま、取り外し可能なカード型の eUICC をお探しではないですか?先日ついにこの eSIM.me を見つけて、脊髄反射でポチっとやりました。ご覧ください、こちらが eSIM.me の eUICC カードで…

iPhone 13のデュアルeSIMはもっと取り上げられてよい

ネットメディアの反応 iPhone 13では新たに「デュアルeSIM」がサポートされ、eSIMだけで(物理的なSIMカードを装着することなく)2回線を同時に利用できるようになりました。思ったよりも数は多くないという印象ですが、ネットメディアの記事でも「デュアル…

ドコモeSIMカードVer.1にはがっかりです

ドコモeSIMカードに他キャリアのeSIMプロファイルもダウンロードできたらいいな、なんて思っちゃいますよね。ドコモeSIMカード対応製品はここ三年近く発売されていないので、ちょっと古くなってしまったタブレットdtab Compact d-02Kを調達して確認すること…

16 進文字列とバイト配列を変換する関数を C 言語で書く

C

下記エントリで Kotlin でやったやつを、C 言語でもやってみました。やってみましたというか、必要に迫られて手早く書きました。またいつか必要になりそうですので、ここに貼っておこうと思います。cheerio-the-bear.hatenablog.comC 言語もここのところずっ…

SM-DP+ (IIJ) で学ぶ OpenSSL

先日、Pixel 4 の eSIM に STORE DATA コマンドを送信し、eSIM に入っていたプロファイルの情報を読み出しました。eSIM には IIJ のプロファイルが入っていますので、同プロファイルに関する Notification の送信先アドレスも得ることができました。プロファ…

eSIM が無ければ Pixel 4 を潰せばいいじゃない

リムーバブルな eSIM が手に入らない eSIM にコマンドを送りたくなること、ありますよね。4FF/nano カードタイプのいわゆるリムーバブルな eSIM を入手し、PC/SC インターフェースを通して ES10x のコマンドを送ることができればと考えたんですけど、そもそ…

apt-get install build-essential で Media change: please insert the disc labeled

下記コマンドで Ubuntu 20.04 LTS に "build-essential" をインストールしようとしたら、CD-ROM の挿入を求められました。 $ sudo apt-get update $ sudo apt-get install build-essentialこのメッセージです。 Media change: please insert the disc labele…

SM-DP+ で学ぶ TLS ハンドシェイク (楽天モバイル)

Rakuten Mini に tcpdump を入れて、楽天モバイルの SM-DP+ と通信する際の TLS ハンドシェイクの様子を見てみました。SM-DP+ のアドレスが "rakuten.prod.ondemandconnectivity.com" になっているので、Thales (Gemalto) のサービスを利用されているのでし…

DOS/V POWER REPORT を参考にデスクトップ PC を組む

Android OS をフルビルドできるくらいのスペックの開発環境がなんとなく欲しくなってしまったので、PC を新調することにしました。昨今の状況からポータビリティーに拘る必要もあまりなくなっちゃいましたし、Windows 10 とデュアルブート仕様のデスクトップ…

Windows 10 Home と Ubuntu 20.04 LTS のデュアルブートにする

[2022/09/05 追記] その後、この PC は Windows 11 Professional と Ubuntu 22.04.1 LTS のデュアルブート機になっています。手順は同じ。Android OS をフルビルドできるくらいのスペックの開発環境がなんとなく欲しくなってしまったので、PC を新調すること…

Google Pixel 4 がデュアル SIM 端末になるとき

Google Pixel 4 は出荷時はシングル SIM 端末ですが、その後の UI 操作によってデュアル SIM 端末へ動的に変化します。Google Pixel 4 に IIJ さんの eSIM をダウンロードしてデュアル SIM 端末にしましたので、そのときに観測できたことをメモしておこうと…

Google Pixel 4 (QD1A.190921.007) System Property 一覧

セットアップを終えた直後のものです。また確認したくなることがあるかもしれないので、ここに貼っておきます。 [DEVICE_PROVISIONED]: [1] [aaudio.hw_burst_min_usec]: [2000] [aaudio.mmap_exclusive_policy]: [2] [aaudio.mmap_policy]: [2] [af.fast_tr…

Google Pixel 4 (QD1A.190921.007) Feature 一覧

また確認したくなることがあるかもしれないので、ここに貼っておきます。 $ pm list features feature:reqGlEsVersion=0x30002 feature:android.hardware.audio.low_latency feature:android.hardware.audio.output feature:android.hardware.audio.pro feat…

BER-TLV クラスを Kotlin で書いてみる

仕様のおさらい T (タグ) フィールドは 3 バイトまで ITU-T X.690 や ISO/IEC 8825-1 の規定では T/L/V 各フィールドの長さに関する自由度が高く、著しく長いタグやデータ長を表現することも可能です。ISO/IEC 7816 の現在の運用ではタグの長さを 3 バイトま…

Continuation による AssertionError で MockK に乗り換える

Repository 以下はだいたいこんな感じ 他の人が書かれた Kotlin のコードを見ながら、適当にそれらしく書いてみています。そんな調子でもそこそこちゃんと動いてくれるので、Kotlin の基礎みたいなところを全く習得できていないような気はします。Android の…

楽天モバイル MNO SIM カードは読み物です

SIM

[2020/04/11 追記] EF DIR の二つ目のレコードを見落としていたので訂正。 [2020/04/11 追記] Pixel 3 でうまく開通できていない状況をメモ。 開通できません 先日契約した Rakuten MNO の SIM カードが届いたのですが、どうやら自宅にある各種スマホやタブ…

APDU コマンド出ました

今回は学習目的で「しっかりテストコードを書く」と決めて始めてしまったので、ちょっとしたことを実現するだけでもとても時間がかかります。おかげで、Kotlin の超基本的な文法みたいなところはちょっと書き慣れてきたような気がしないでもないです。 MF を…

Mockito や Shadow を使ってテストコードを書くのは楽しい

Kotlin でコード書くのはとても楽しいですし、Mockito や Shadow を使ってテストコードを書くのも楽しいですね。業務で携わっているコードにはテストコードがあまり用意されていないものもありますので、このように自分で書いてみるのはとても有意義です。し…

16 進文字列とバイト値を変換する関数を Kotlin で書く

どうしても至る所で使うことになりそうな気がするので、16 進文字列とバイト値またはその配列を変換する処理をユーティリティとして切り出して整理しておきます。まだまだ不慣れですが、ちょっぴり Kotlin っぽく書けているでしょうか。 値から 16 進文字列…

APDU コマンドクラスを Kotlin で書いてみる

業務では使っていない Kotlin にはまだどうにも馴染めないでいるのですが、使わないままだとずっと馴染むことができません。ということで、今回 Kotlin を練習する目的で書いてみたのは、普段から Android での取り扱いが心地よくない APDU コマンドです。 A…

Kotlin で Unsigned Byte を使いたかっただけです

世間ではすっかり Java から Kotlin に流れが移っているというのに、日常業務ではまだまだ Java の日々。言語仕様や Java との違いも知らないままに Kotlin でコードを書き始めようと思ったら、Unsigned Byte を使おうとしただけでちょっと面倒だった件をメ…

Android は APDU の送受信を制限しなくていいのに

Android と SIM カードとの間で APDU コマンドの送受信を実行しようと思うと、通常は下記のどちらかの公開 API を利用することになると思います。しかし、一般のアプリ開発者にとってはそのどちらも使いにくい、と言うか著しく自由度の低いものになっていま…

リテンション率がとても良くない(Google アシスタント)

先日どこかで「一般開発者の音声アプリはあまり使われない」とか「日数が経つにつれて利用者は減ってゆく」とか「一度の利用で満足されてしまう」とか聞いたような気がしますが、この Google アシスタント用アプリの実績も、確かにそんな感じになっています…

英語発声練習用アクションを作り直し(Google アシスタント)

英語の発声練習用途の Google アシスタント用アクションは年初にもひとつ作りましたが、あまり手をかけなさ過ぎたものでしたので、もう一本作りました。既にデプロイされていますが、動作仕様のほとんどの部分はフルフィルメント側で何なりと変更できますの…

Actions on Google 用に getSignedUrl() で署名付き URL を作る

Google アシスタントのアクションで使う画像ファイルの URL を署名付きにしようと思い、いろいろ試していました。先達の方々もその方法をブログ等に書き残されているのですが、みんなほんの少し違っていたりして。Firebase Admin SDK の秘密鍵を使わずにでき…

APL の SpeakItem コマンドで効果音を鳴らせなくて困る

APL (Alexa Presentation Language) の SpeakItem コマンドで効果音を鳴らしたいのですが、これが何故かうまくいかなくて困っています。ここまで、躓いてはコードを書き直すこと数回。 これがうまくいかない APL トレーニングシリーズ第 3 回でも、アイテム…

Fire HD 10 の Show モードを英語で使うには

Amazon Fire HD 10 への「Show モード」追加のニュース。画面付き Alexa 対応端末を持っていなかったのでとても期待していましたが、その利用目的によってはひと癖あることに気付きました。re-cyberrat.info Fire OS 5.6.4.0 で Show モードに対応 3/E のア…