Not working with a usb-reader #37
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Hi!
I've tried to manage eSIM cards (5ber/esim-me) via a USB reader, but received the error message 'Cannot connect to eSim via a USB smart card reader.' I've tried different devices, but haven't succeeded. Here are the details:
USB reader: Rocketek Cr310
Phone: Motorola Edge X30 (Android 13)
eSIM cards: 5ber and esim-me
Soft: beta02-59-g829f019
The same cards work via the same reader on Windows 10 with EasyLPAC v0.7.6.
Logs:
I use cardreader card reader SYC-E001 with latest easyeuicc version
829f019aa2
it works perfect. The way how i need do it. First open app after connect card-reader with insert card, after it ask you grand usb access. If you first connect usb reader and open app after it doesn´t work. I try 5ber esim, esim.me and taobao esim. I have Xiaomi 13 pro with android 14.Does the card reader work with
pcscd
on Linux? Because I see these readers come with their own drivers on Windows, and I'm wondering whether they are even using the standard USB CCID protocol. If they are not, then they are not expected to work with OpenEUICC, and there is no plan to support non-standard card readers. If they are, then something is broken in our USB CCID implementation.Hi @PeterCxy
I've installed
pcscd
andpcsc-tools
on raspbian 11 and it looks like it works.pcsc_scan
:Do you need additional information?
Hi.
I checked, the same reader with the same cards works on ubuntu 24.04 x86_64 with lpac and pcscd
with the new update from Peter Cxy versioin
27627fdf15
the USB-C Reader Rocketek Cr310 works on Xiaomi 13 pro with 5ber and esim. me. Awsome thx for the update!@fifi501 no changes for me.
The issue is still relevant
@incognito1990 did you use the latest app version
27627fdf1
? I have try it on 2 other xiaomi phones with that app version and also with another PC card reader, also this work on all 3 phones.@fifi501 yes, the latest version. I've check on different devices (moto, samsung, xiaomi), it doesn't work for me.
Unfortunately I have only one reader, I can't check with other readers, but according to the logs, the app is able to read card's ATR, that means the reader works fine
The reader is clearly behaving in some non-standard way that I don't understand yet, but unfortunately I don't own that same reader and can't debug. I'm going to leave this issue open in case someone else has the same reader, sees the same issue and is able to debug.
I have the same issue with external USB-CCID card(UTHAI) and it works on Windows 11 & Linux without any drivers. Here is the log and seems EasyEUICC can read the USB card.
=========================================
08-30 12:03:17.178 14905 14931 I EuiccChannelManager: Scanning USB device 1002:3034
08-30 12:03:17.178 14905 14931 I EuiccChannelManager: Found CCID interface on 1002:3034, and has permission; trying to open channel
08-30 12:03:17.284 14905 14931 V UsbCcidTransceiver: CCID: attempting to power on with voltage _5V
08-30 12:03:17.285 14905 14931 D UsbCcidTransceiver: Receive data block immediate seq=0
08-30 12:03:17.358 14905 14931 D UsbCcidTransceiver: Received 33 bytes: 8xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxE0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
08-30 12:03:17.359 14905 14931 D UsbCcidTransceiver: Usb transport connected, took 176ms, ATR=3xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxE
08-30 12:03:17.365 14905 14931 D UsbCcidTransceiver: Receive data block immediate seq=1
08-30 12:03:17.381 14905 14931 D UsbCcidTransceiver: Received 10 bytes: 80xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxEE0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
08-30 12:03:17.385 14905 14931 W System.err: UsbCcidErrorException(msg=USB-CCID error!, errorResponse=CcidDataBlock(dwLength=0, bSlot=0, bSeq=1, bStatus=64, bError=0, bChainParameter=0, data=[]))
08-30 12:03:17.386 14905 14931 W System.err: at im.angry.openeuicc.core.usb.UsbCcidTransceiver.receiveDataBlock(UsbCcidTransceiver.kt:162)
08-30 12:03:17.386 14905 14931 W System.err: at im.angry.openeuicc.core.usb.UsbCcidTransceiver.sendXfrBlock(UsbCcidTransceiver.kt:280)
08-30 12:03:17.386 14905 14931 W System.err: at im.angry.openeuicc.core.usb.UsbCcidTransceiver.sendXfrBlock$default(UsbCcidTransceiver.kt:254)
08-30 12:03:17.387 14905 14931 W System.err: at im.angry.openeuicc.core.usb.UsbApduInterface.transmitApduByChannel(UsbApduInterface.kt:133)
08-30 12:03:17.387 14905 14931 W System.err: at im.angry.openeuicc.core.usb.UsbApduInterface.logicalChannelOpen(UsbApduInterface.kt:51)
08-30 12:03:17.387 14905 14931 W System.err: at net.typeblog.lpac_jni.LpacJni.euiccInit(Native Method)
08-30 12:03:17.387 14905 14931 W System.err: at net.typeblog.lpac_jni.impl.LocalProfileAssistantImpl.(LocalProfileAssistantImpl.kt:25)
08-30 12:03:17.387 14905 14931 W System.err: at im.angry.openeuicc.core.EuiccChannel.(EuiccChannel.kt:17)
08-30 12:03:17.387 14905 14931 W System.err: at im.angry.openeuicc.core.DefaultEuiccChannelFactory.tryOpenUsbEuiccChannel(DefaultEuiccChannelFactory.kt:53)
08-30 12:03:17.387 14905 14931 W System.err: at im.angry.openeuicc.core.DefaultEuiccChannelManager$enumerateUsbEuiccChannel$2.invokeSuspend(DefaultEuiccChannelManager.kt:211)
08-30 12:03:17.387 14905 14931 W System.err: at im.angry.openeuicc.core.DefaultEuiccChannelManager$enumerateUsbEuiccChannel$2.invoke(Unknown Source:8)
08-30 12:03:17.387 14905 14931 W System.err: at im.angry.openeuicc.core.DefaultEuiccChannelManager$enumerateUsbEuiccChannel$2.invoke(Unknown Source:4)
08-30 12:03:17.387 14905 14931 W System.err: at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
08-30 12:03:17.387 14905 14931 W System.err: at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:169)
08-30 12:03:17.387 14905 14931 W System.err: at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:1)
08-30 12:03:17.387 14905 14931 W System.err: at im.angry.openeuicc.core.DefaultEuiccChannelManager.enumerateUsbEuiccChannel$suspendImpl(DefaultEuiccChannelManager.kt:202)
08-30 12:03:17.387 14905 14931 W System.err: at im.angry.openeuicc.core.DefaultEuiccChannelManager.enumerateUsbEuiccChannel(Unknown Source:0)
08-30 12:03:17.387 14905 14931 W System.err: at im.angry.openeuicc.ui.UsbCcidReaderFragment$tryLoadUsbChannel$2.invokeSuspend(UsbCcidReaderFragment.kt:144)
08-30 12:03:17.387 14905 14931 W System.err: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
08-30 12:03:17.387 14905 14931 W System.err: at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
08-30 12:03:17.387 14905 14931 W System.err: at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
08-30 12:03:17.387 14905 14931 W System.err: at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
08-30 12:03:17.387 14905 14931 W System.err: at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
08-30 12:03:17.387 14905 14931 W System.err: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
08-30 12:03:17.387 14905 14931 W System.err: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
08-30 12:03:17.387 14905 14931 W System.err: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
08-30 12:03:17.387 14905 14931 W System.err: java.lang.IllegalArgumentException: Failed to initialize LPA
08-30 12:03:17.388 14905 14931 W System.err: at net.typeblog.lpac_jni.impl.LocalProfileAssistantImpl.(LocalProfileAssistantImpl.kt:26)
08-30 12:03:17.388 14905 14931 W System.err: at im.angry.openeuicc.core.EuiccChannel.(EuiccChannel.kt:17)
08-30 12:03:17.388 14905 14931 W System.err: at im.angry.openeuicc.core.DefaultEuiccChannelFactory.tryOpenUsbEuiccChannel(DefaultEuiccChannelFactory.kt:53)
08-30 12:03:17.388 14905 14931 W System.err: at im.angry.openeuicc.core.DefaultEuiccChannelManager$enumerateUsbEuiccChannel$2.invokeSuspend(DefaultEuiccChannelManager.kt:211)
08-30 12:03:17.388 14905 14931 W System.err: at im.angry.openeuicc.core.DefaultEuiccChannelManager$enumerateUsbEuiccChannel$2.invoke(Unknown Source:8)
08-30 12:03:17.388 14905 14931 W System.err: at im.angry.openeuicc.core.DefaultEuiccChannelManager$enumerateUsbEuiccChannel$2.invoke(Unknown Source:4)
08-30 12:03:17.388 14905 14931 W System.err: at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
08-30 12:03:17.388 14905 14931 W System.err: at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:169)
08-30 12:03:17.388 14905 14931 W System.err: at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:1)
08-30 12:03:17.388 14905 14931 W System.err: at im.angry.openeuicc.core.DefaultEuiccChannelManager.enumerateUsbEuiccChannel$suspendImpl(DefaultEuiccChannelManager.kt:202)
08-30 12:03:17.388 14905 14931 W System.err: at im.angry.openeuicc.core.DefaultEuiccChannelManager.enumerateUsbEuiccChannel(Unknown Source:0)
08-30 12:03:17.388 14905 14931 W System.err: at im.angry.openeuicc.ui.UsbCcidReaderFragment$tryLoadUsbChannel