InfoCert Business Key - SmartCard/Reader emulation
Good morning.
I have a usb key for digital signature and site authentication that, teorically, should be perfectly supported.
It's that:
TargetVendor=0x072f
TargetProduct=0x100d
I even have got my detailed file 072f:0x100d in /etc/usb_modeswitch.d:
# InfoCert Business Key (SmartCard/Reader emulation)
TargetVendor=0x072f
TargetProduct=0x90cc
MessageEndpoint=0x02
MessageContent="01b0000000000000000000000000000000000000000000000000000000000000"
NoDriverLoading=1
My distribution is Antergos KDE (ArchLinux) 64x, with "usb_modeswitch 2.3.0-1" that comes already installed.
The system is supposed to switch to:
TargetVendor=0x072f
TargetProduct=0x90cc
But, as far, it did work just one time, and that one time the usb key was working great.
That sigle time I was removing then reinstalling all the package to make it work (pcsc, ccid, etc.).
My lsusb now - key not working - is:
Bus 004 Device 004: ID 0458:003a KYE Systems Corp. (Mouse Systems) NetScroll+ Mini Traveler / Genius NetScroll 120
Bus 004 Device 003: ID 046d:c31c Logitech, Inc. Keyboard K120
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 004: ID 072f:100d Advanced Card Systems, Ltd
Bus 002 Device 003: ID 048d:1167 Integrated Technology Express, Inc.
Bus 002 Device 002: ID 058f:6254 Alcor Micro Corp. USB Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
The day it was flawlessly working I had the right switched lsusb:
Bus 004 Device 004: ID 0458:003a KYE Systems Corp. (Mouse Systems) NetScroll+ Mini Traveler / Genius NetScroll 120
Bus 004 Device 003: ID 046d:c31c Logitech, Inc. Keyboard K120
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 072f:90cc Advanced Card Systems, Ltd ACR38 SmartCard Reader
Bus 001 Device 004: ID 048d:1167 Integrated Technology Express, Inc.
Bus 001 Device 003: ID 058f:6254 Alcor Micro Corp. USB Hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
And my pcsc_scan was great:
PC/SC device scanner
V 1.4.25 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.8.13
Using reader plug'n play mechanism
Scanning present readers...
0: ACS ACR 38U-CCID 00 00
Fri Mar 4 18:23:25 2016
Reader 0: ACS ACR 38U-CCID 00 00
Card state: Card inserted, Shared Mode,
ATR: 3B FF 18 00 FF 81 31 FE 55 00 6B 02 09 03 03 01 11 01 43 4E 53 11 31 80 8C
ATR: 3B FF 18 00 FF 81 31 FE 55 00 6B 02 09 03 03 01 11 01 43 4E 53 11 31 80 8C
+ TS = 3B --> Direct Convention
+ T0 = FF, Y(1): 1111, K: 15 (historical bytes)
TA(1) = 18 --> Fi=372, Di=12, 31 cycles/ETU
129032 bits/s at 4 MHz, fMax for Fi = 5 MHz => 161290 bits/s
TB(1) = 00 --> VPP is not electrically connected
TC(1) = FF --> Extra guard time: 255 (special value)
TD(1) = 81 --> Y(i+1) = 1000, Protocol T = 1
-----
TD(2) = 31 --> Y(i+1) = 0011, Protocol T = 1
-----
TA(3) = FE --> IFSC: 254
TB(3) = 55 --> Block Waiting Integer: 5 - Character Waiting Integer: 5
+ Historical bytes: 00 6B 02 09 03 03 01 11 01 43 4E 53 11 31 80
Category indicator byte: 00 (compact TLV data object)
Tag: 6, len: B (pre-issuing data)
Data: 02 09 03 03 01 11 01 43 4E 53
Mandatory status indicator (3 last bytes)
LCS (life card cycle): 11 (Proprietary)
SW: 3180 (Error not defined by ISO 7816)
+ TCK = 8C (correct checksum)
Then, arrested the pc, the day after nothing is working.
Now pcsc_scan gives me nothing, just stuck on "waiting".
I tried to give on console
$ sudo usb_modeswitch -v 072f -p 100d -V 072f -P 90cc -m 0x2 -M 01b0000000000000000000000000000000000000000000000000000000000000
This is the error I got:
Look for target devices ...
No devices in target mode or class found
Look for default devices ...
product ID matched
Found devices in default mode (1)
Access device 004 on bus 002
Get the current device configuration ...
Current configuration number is 1
Use interface number 0
Error: response endpoint not given or found. Abort.
Any help would be appreciated.
I have a usb key for digital signature and site authentication that, teorically, should be perfectly supported.
It's that:
TargetVendor=0x072f
TargetProduct=0x100d
I even have got my detailed file 072f:0x100d in /etc/usb_modeswitch.d:
# InfoCert Business Key (SmartCard/Reader emulation)
TargetVendor=0x072f
TargetProduct=0x90cc
MessageEndpoint=0x02
MessageContent="01b0000000000000000000000000000000000000000000000000000000000000"
NoDriverLoading=1
My distribution is Antergos KDE (ArchLinux) 64x, with "usb_modeswitch 2.3.0-1" that comes already installed.
The system is supposed to switch to:
TargetVendor=0x072f
TargetProduct=0x90cc
But, as far, it did work just one time, and that one time the usb key was working great.
That sigle time I was removing then reinstalling all the package to make it work (pcsc, ccid, etc.).
My lsusb now - key not working - is:
Bus 004 Device 004: ID 0458:003a KYE Systems Corp. (Mouse Systems) NetScroll+ Mini Traveler / Genius NetScroll 120
Bus 004 Device 003: ID 046d:c31c Logitech, Inc. Keyboard K120
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 004: ID 072f:100d Advanced Card Systems, Ltd
Bus 002 Device 003: ID 048d:1167 Integrated Technology Express, Inc.
Bus 002 Device 002: ID 058f:6254 Alcor Micro Corp. USB Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
The day it was flawlessly working I had the right switched lsusb:
Bus 004 Device 004: ID 0458:003a KYE Systems Corp. (Mouse Systems) NetScroll+ Mini Traveler / Genius NetScroll 120
Bus 004 Device 003: ID 046d:c31c Logitech, Inc. Keyboard K120
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 072f:90cc Advanced Card Systems, Ltd ACR38 SmartCard Reader
Bus 001 Device 004: ID 048d:1167 Integrated Technology Express, Inc.
Bus 001 Device 003: ID 058f:6254 Alcor Micro Corp. USB Hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
And my pcsc_scan was great:
PC/SC device scanner
V 1.4.25 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.8.13
Using reader plug'n play mechanism
Scanning present readers...
0: ACS ACR 38U-CCID 00 00
Fri Mar 4 18:23:25 2016
Reader 0: ACS ACR 38U-CCID 00 00
Card state: Card inserted, Shared Mode,
ATR: 3B FF 18 00 FF 81 31 FE 55 00 6B 02 09 03 03 01 11 01 43 4E 53 11 31 80 8C
ATR: 3B FF 18 00 FF 81 31 FE 55 00 6B 02 09 03 03 01 11 01 43 4E 53 11 31 80 8C
+ TS = 3B --> Direct Convention
+ T0 = FF, Y(1): 1111, K: 15 (historical bytes)
TA(1) = 18 --> Fi=372, Di=12, 31 cycles/ETU
129032 bits/s at 4 MHz, fMax for Fi = 5 MHz => 161290 bits/s
TB(1) = 00 --> VPP is not electrically connected
TC(1) = FF --> Extra guard time: 255 (special value)
TD(1) = 81 --> Y(i+1) = 1000, Protocol T = 1
-----
TD(2) = 31 --> Y(i+1) = 0011, Protocol T = 1
-----
TA(3) = FE --> IFSC: 254
TB(3) = 55 --> Block Waiting Integer: 5 - Character Waiting Integer: 5
+ Historical bytes: 00 6B 02 09 03 03 01 11 01 43 4E 53 11 31 80
Category indicator byte: 00 (compact TLV data object)
Tag: 6, len: B (pre-issuing data)
Data: 02 09 03 03 01 11 01 43 4E 53
Mandatory status indicator (3 last bytes)
LCS (life card cycle): 11 (Proprietary)
SW: 3180 (Error not defined by ISO 7816)
+ TCK = 8C (correct checksum)
Then, arrested the pc, the day after nothing is working.
Now pcsc_scan gives me nothing, just stuck on "waiting".
I tried to give on console
$ sudo usb_modeswitch -v 072f -p 100d -V 072f -P 90cc -m 0x2 -M 01b0000000000000000000000000000000000000000000000000000000000000
This is the error I got:
Look for target devices ...
No devices in target mode or class found
Look for default devices ...
product ID matched
Found devices in default mode (1)
Access device 004 on bus 002
Get the current device configuration ...
Current configuration number is 1
Use interface number 0
Error: response endpoint not given or found. Abort.
Any help would be appreciated.
Re: InfoCert Business Key - SmartCard/Reader emulation
The immediate thought that comes to mind:
If you installed the software from the device, it's not unlikely that a proprietary mode-switch tool was included - which may now collide with usb_modeswitch.
You can try to disable usb_modeswitch globally (see /etc/usb_modeswitch.conf) and watch what happens by calling "dmesg" repeatedly after re-inserting the device.
When running usb_modeswitch on the command line, skip the endpoint parameter "-m"; this should not be needed.
If you installed the software from the device, it's not unlikely that a proprietary mode-switch tool was included - which may now collide with usb_modeswitch.
You can try to disable usb_modeswitch globally (see /etc/usb_modeswitch.conf) and watch what happens by calling "dmesg" repeatedly after re-inserting the device.
When running usb_modeswitch on the command line, skip the endpoint parameter "-m"; this should not be needed.
Re: InfoCert Business Key - SmartCard/Reader emulation
Thank you for answering.
I installed no software from the device, just ccid (along with pcsc, etc.).
This is the result of various dmesg;
[ 2.043811] hid-generic 0003:072F:100D.0004: hiddev0,hidraw3: USB HID v1.00 Device [Bit4id Key4] on usb-0000:00:1a.0-1.6.2/input0
[ 2.043811] hid-generic 0003:072F:100D.0004: hiddev0,hidraw3: USB HID v1.00 Device [Bit4id Key4] on usb-0000:00:1a.0-1.6.2/input0
[ 2.043811] hid-generic 0003:072F:100D.0004: hiddev0,hidraw3: USB HID v1.00 Device [Bit4id Key4] on usb-0000:00:1a.0-1.6.2/input0
[ 2.059168] hid-generic 0003:072F:100D.0004: hiddev0,hidraw3: USB HID v1.00 Device [Bit4id Key4] on usb-0000:00:1a.0-1.5.2/input0
[ 14.375280] hid-generic 0003:072F:100D.0004: hiddev0,hidraw3: USB HID v1.00 Device [Bit4id Key4] on usb-0000:00:1a.0-1.5.2/input0
[ 2.053171] hid-generic 0003:072F:100D.0004: hiddev0,hidraw3: USB HID v1.00 Device [Bit4id Key4] on usb-0000:00:1a.0-1.5.2/input0
I tried uninstalling usb_modswitch, instead of just disabling.
By the way, the result of cat /usr/share/usb_modeswitch/072f:100d:
$ cat /usr/share/usb_modeswitch/072f:100d
# InfoCert Business Key (SmartCard/Reader emulation)
TargetVendor=0x072f
TargetProduct=0x90cc
MessageEndpoint=0x02
MessageContent="01b0000000000000000000000000000000000000000000000000000000000000"
NoDriverLoading=1
I installed no software from the device, just ccid (along with pcsc, etc.).
This is the result of various dmesg;
[ 2.043811] hid-generic 0003:072F:100D.0004: hiddev0,hidraw3: USB HID v1.00 Device [Bit4id Key4] on usb-0000:00:1a.0-1.6.2/input0
[ 2.043811] hid-generic 0003:072F:100D.0004: hiddev0,hidraw3: USB HID v1.00 Device [Bit4id Key4] on usb-0000:00:1a.0-1.6.2/input0
[ 2.043811] hid-generic 0003:072F:100D.0004: hiddev0,hidraw3: USB HID v1.00 Device [Bit4id Key4] on usb-0000:00:1a.0-1.6.2/input0
[ 2.059168] hid-generic 0003:072F:100D.0004: hiddev0,hidraw3: USB HID v1.00 Device [Bit4id Key4] on usb-0000:00:1a.0-1.5.2/input0
[ 14.375280] hid-generic 0003:072F:100D.0004: hiddev0,hidraw3: USB HID v1.00 Device [Bit4id Key4] on usb-0000:00:1a.0-1.5.2/input0
[ 2.053171] hid-generic 0003:072F:100D.0004: hiddev0,hidraw3: USB HID v1.00 Device [Bit4id Key4] on usb-0000:00:1a.0-1.5.2/input0
I tried uninstalling usb_modswitch, instead of just disabling.
By the way, the result of cat /usr/share/usb_modeswitch/072f:100d:
$ cat /usr/share/usb_modeswitch/072f:100d
# InfoCert Business Key (SmartCard/Reader emulation)
TargetVendor=0x072f
TargetProduct=0x90cc
MessageEndpoint=0x02
MessageContent="01b0000000000000000000000000000000000000000000000000000000000000"
NoDriverLoading=1
Re: InfoCert Business Key - SmartCard/Reader emulation
Did you run the manual command without the "-m" parameter?
Re: InfoCert Business Key - SmartCard/Reader emulation
Yes, I tried:
$ sudo usb_modeswitch -v 072f -p 100d -V 072f -P 90cc -M 01b0000000000000000000000000000000000000000000000000000000000000
Look for target devices ...
No devices in target mode or class found
Look for default devices ...
product ID matched
Found devices in default mode (1)
Access device 008 on bus 001
Get the current device configuration ...
Current configuration number is 1
Use interface number 0
Error: message endpoint not given or found. Abort
Even:
$ sudo usb_modeswitch -v 072f -p 100d -V 072f -P 90cc 0x2 -M 01b0000000000000000000000000000000000000000000000000000000000000
and the error is the same.
$ sudo usb_modeswitch -v 072f -p 100d -V 072f -P 90cc -M 01b0000000000000000000000000000000000000000000000000000000000000
Look for target devices ...
No devices in target mode or class found
Look for default devices ...
product ID matched
Found devices in default mode (1)
Access device 008 on bus 001
Get the current device configuration ...
Current configuration number is 1
Use interface number 0
Error: message endpoint not given or found. Abort
Even:
$ sudo usb_modeswitch -v 072f -p 100d -V 072f -P 90cc 0x2 -M 01b0000000000000000000000000000000000000000000000000000000000000
and the error is the same.
Re: InfoCert Business Key - SmartCard/Reader emulation
Hmm, that is very unexpected.
I'd like to see more about the properties of this device; if you would be so kind and post the output of
As you may already know, you can redirect the output to a simple text file by adding " > infocert.txt" to that command line (choose any filename you like).
I'd like to see more about the properties of this device; if you would be so kind and post the output of
Code: Select all
lsusb -v -d 072f:100d
Re: InfoCert Business Key - SmartCard/Reader emulation
This is the output
Code: Select all
Bus 001 Device 005: ID 072f:100d Advanced Card Systems, Ltd
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x072f Advanced Card Systems, Ltd
idProduct 0x100d
bcdDevice 10.9c
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 41
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.00
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 34
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 10
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 10
Re: InfoCert Business Key - SmartCard/Reader emulation
This is what I installed to get it work:
pcsc-perl, pcsc-tools, ccid, pcscd, ibminilector38u-bit4id, opensc-opendnie-git.
Just to tell you, I have another partition - I was ready to delete - with Linux Mint, and there usb_modeswitch works great!
So, I think it's an issue coming from this distribution (Antergos). In both (Mint and Antergos) I didn't installed usb_modeswitch because it's already there.
I tried with a copy/paste from Mint to Antergos of a rule in /etc/udev/rules.d/:
But no success.
pcsc-perl, pcsc-tools, ccid, pcscd, ibminilector38u-bit4id, opensc-opendnie-git.
Just to tell you, I have another partition - I was ready to delete - with Linux Mint, and there usb_modeswitch works great!
So, I think it's an issue coming from this distribution (Antergos). In both (Mint and Antergos) I didn't installed usb_modeswitch because it's already there.
I tried with a copy/paste from Mint to Antergos of a rule in /etc/udev/rules.d/:
Code: Select all
# InfoCert Business Key (SmartCard/Reader emulation)
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="072f", ATTRS{idProduct}=="100d", RUN+="/sbin/modprobe usbserial vendor=0x072f product=0x90cc"