用 USB 读卡器管理卡
卡插在 USB 智能卡读卡器里,nSIM 可以不经模组直接访问它。这页讲怎么登记一张读卡器里的卡,让它跑 VoWiFi,以及怎么把它交还给别的程序。
开始之前:
- 读卡器已接到主机,卡已插好。
- 用 Docker 部署时,容器已放行读卡器所需的设备权限,见 用 Docker 安装。
读卡器里的卡没有蜂窝射频:不能驻网、没有移动数据、不能当代理出口。它能做的是经 VoWiFi 打电话和收发短信,读卡器负责鉴权,通话经主机的网络传输。eSIM 卡还能在这里管理 Profile。
- 在「设备」页点「添加设备」。
- 在「读卡器里的卡」里点要登记的那张。每行写着「eSIM 卡」或「普通 SIM」和读卡器名。
- 可选:在「名称」里填一个好认的名字。「ID」按卡的 EID 或 ICCID 自动生成,创建后不能改。
- 点「保存」。提示「读卡器设备已添加并开始接管」。
完成后,设备列表的「读卡器」一组里多出一行。设备 ID 跟着卡走:同一张卡换一个读卡器插,仍是同一台设备。
「读卡器里的卡」没有出现时,看对话框里「读卡器检查」写的原因,例如「已识别读卡器,未插卡」。处理后点「重新检查」。
让卡跑 VoWiFi
Section titled “让卡跑 VoWiFi”- 在「读卡器」一组里点这台设备,打开「状态」页签。
- 打开「VoWiFi」。读卡器设备的卡策略只有这一个开关。
- 确认「VoWiFi 出口」有可用的出口。默认只用卡归属国的节点,没有节点就不建立 VoWiFi。设置方法见 为 VoWiFi 配置出口节点。
完成后,横幅显示「WiFi-Calling · 已连接」,下面写着「读卡器鉴权,经 ePDG 隧道」。

收不到短信、打不了电话时,见 通话建不起来或没有声音。
管理读卡器里的 eSIM 实验性
Section titled “管理读卡器里的 eSIM ”读卡器里 eSIM 卡的 Profile 下载与切换尚未在真机上验证,行为可能与描述不同。在重要的卡上操作前,先用一张不怕出问题的卡试过。
eSIM 卡登记后,设备详情里有「eSIM」页签。用法与模组里的卡相同,见 下载、切换和删除 eSIM。
把卡交给别的程序
Section titled “把卡交给别的程序”登记之后,nSIM 独占这张卡的连接。VoWiFi 鉴权和 eSIM 操作都走这一个连接。在此期间,lpac、EasyLPAC、pySim 这类程序连不上这张卡。这样做是为了不让别的程序在下载或鉴权中途插进命令,把卡弄坏。
要改用别的程序管理这张卡:
- 在读卡器设备的「卡」页签里,点「移除读卡器」。
- 在确认框里点「移除」。
完成后,nSIM 不再管理这张卡,它的 VoWiFi 随之断开。卡还插着时,它会重新出现在「添加设备」的「读卡器里的卡」里。
没登记的卡,nSIM 读完身份就断开,别的程序照常能用。卡已经被别的程序占着时,nSIM 不会去抢,登记会失败,关掉那个程序后再试。
读卡器检查没有通过
Section titled “读卡器检查没有通过”符合 USB CCID 标准的读卡器,nSIM 直接经 USB 访问。其余读卡器要经 PC/SC 服务 pcscd。Docker 镜像自带一份 pcscd,用哪一份由环境变量 NSIM_PCSC_MODE 决定:
| 取值 | 行为 |
|---|---|
auto(默认) |
主机上有 PC/SC 服务时用主机的;没有时,看到 USB 读卡器后启动自带的 |
system |
只用主机的 PC/SC 服务和直接访问,不启动自带的 |
bundled |
启动自带的。主机上有 PC/SC 服务时拒绝启动,避免两边抢同一个设备 |
主机上的 pcscd 太旧、认不出你的读卡器时,停掉主机的 pcscd,改用 bundled。这会断开主机上已有的 PC/SC 连接。
读卡器兼容性因型号而异,以「读卡器检查」给出的结论为准。