news 2026/5/4 16:37:49

SoftSIM - swSIM

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SoftSIM - swSIM

https://github.com/tomasz-lisowski/swsim

编译

服务器端 swicc-pcsc sudo apt-get install make cmake gcc pkg-config libpcsclite1 libpcsclite-dev pcscd git clone --recurse-submodules https://github.com/tomasz-lisowski/swicc-pcsc MakeFile去除 -Werror \ cd swicc-pcsc make main-dbg sudo make install 客户端 swsim sudo apt-get install make gcc git clone --recurse-submodules https://github.com/tomasz-lisowski/swsim MakeFile去除 -Werror \ cd swsim make main-dbg

启动

读卡器启动: sudo pcscd -f -d -T 停止: pkill -x pcscd swsim启动:cd swsim && ./build/swsim.elf --ip 127.0.0.1 --port 37324 --fs filesystem.swiccfs --fs-gen ./data/usim.json

测试

sudo apt install python-pip sudo apt install python3-pyscard python3 test_swsim.py

# -*- coding: utf-8 -*- from smartcard.System import readers from smartcard.util import toHexString def hex_to_string(hex_list): """将十六进制列表转换为可读的字符串(用于BCD编码的数字)""" result = "" for byte in hex_list: high = (byte >> 4) & 0x0F low = byte & 0x0F # 处理可能存在的填充位 (0xF) if high != 0x0F: result += str(high) if low != 0x0F: result += str(low) return result # 1. 查找读卡器 reader_list = readers() swicc_readers = [r for r in reader_list if 'swICC' in str(r)] if not swicc_readers: print("错误:未找到swICC读卡器。请确保swSIM服务器正在另一个终端运行。") exit(1) swicc_reader = swicc_readers[0] print(f"已连接到: {swicc_reader}") # 2. 连接 connection = swicc_reader.createConnection() connection.connect() print("\n=== 开始读取SIM卡信息 ===\n") # 3. 读取ICCID (文件ID: 2FE2,位于MF下) print("1. 正在读取ICCID...") SELECT_MF = [0xA0, 0xA4, 0x00, 0x00, 0x02, 0x2F, 0xE2] resp, sw1, sw2 = connection.transmit(SELECT_MF) print(f" 选择MF状态: {hex(sw1)} {hex(sw2)}") SELECT_ICCID = [0xA0, 0xB0, 0x00, 0x00, 0x00A] iccid_data, sw1, sw2 = connection.transmit(SELECT_ICCID) print(f" ICCID原始数据: {toHexString(iccid_data)}")

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/2 11:15:45

构建高效数字化系统,一站式活动与表单管理系统源码

温馨提示:文末有资源获取方式如何以更低的成本、更高的效率组织活动并收集关键信息,是许多组织面临的共同课题。一款功能全面、支持深度定制的活动报名与表单管理系统源码,为解决这一难题提供了坚实的技术基础。它无需高昂的开发投入&#xf…

作者头像 李华
网站建设 2026/5/1 0:01:54

PyTorch GPU利用率低?7个提速优化技巧

PyTorch GPU利用率低?7个提速优化技巧 在深度学习训练过程中,你是否经常看到这样的场景:nvidia-smi 显示显存几乎被占满,但 GPU-util 却只有 20%~30%,CPU 使用率却居高不下?这说明你的模型并没有真正“跑起…

作者头像 李华
网站建设 2026/5/1 4:17:20

【国产AI编程新变局】:Open-AutoGLM沉思消失背后的政策与技术博弈

第一章:Open-AutoGLM沉思怎么找不到了最近在复现一个基于 AutoGLM 的开源项目时,发现原本活跃的 Open-AutoGLM 仓库和相关文档突然从主流代码托管平台消失。无论是 GitHub 还是 Gitee 上搜索,均无法找到原始项目入口,甚至连社区讨…

作者头像 李华
网站建设 2026/4/30 23:14:48

Open-AutoGLM一键部署实战(稀缺资源+详细脚本分享)

第一章:Open-AutoGLM项目概述Open-AutoGLM 是一个开源的自动化通用语言模型(GLM)集成与调度框架,旨在简化大语言模型在企业级应用中的部署流程。该项目通过模块化设计,支持多模型接入、任务自动分发与结果聚合&#xf…

作者头像 李华
网站建设 2026/4/26 21:04:12

为什么头部企业都在悄悄接入Open-AutoGLM?:背后隐藏的3个关键优势

第一章:为什么头部企业都在悄悄接入Open-AutoGLM?在人工智能技术加速落地的今天,越来越多的行业领军企业开始将目光投向Open-AutoGLM——一个开源、可定制、支持多模态推理的自动化大语言模型框架。其核心优势在于将自然语言理解、代码生成与…

作者头像 李华
网站建设 2026/5/3 1:05:56

还在手动调参?Open-AutoGLM 百炼教你一键生成最优模型 pipeline

第一章:还在手动调参?Open-AutoGLM 百炼教你一键生成最优模型 pipeline在深度学习实践中,模型调参与 pipeline 构建长期依赖人工经验,耗时且难以复现。Open-AutoGLM 作为百炼大模型平台推出的自动化建模工具,首次实现了…

作者头像 李华