USB Smartcard reader unter L4Linux

Gianfranco Ricci gianfranco.ricci at internet-sicherheit.de
Tue May 12 14:59:31 CEST 2009


Hello l4hackers!

I'm trying to set up an L4Linux environment in which a USB smartcard
reader [ReinerSCT cyberjack e-com(a) ] can be used but I'm encountering
problems.

I'm using:

L4Linux 2.6.22 with complete USB support
libusb 1.0
usbutils 0.11
Driver 3.3.2Beta3 for the smartcard reader
PCSC-lite 1.53


The problem is that the driver could not be loaded (into USB userspace).
Maybe the libusb (compiled under Linux 2.6.25) is not complete
compatible with L4Linux 2.6.22. Using Blockdevices such exernal
Harddisks is possible, so USB support in general should be okay.

Executing "lsusb" don't show ANY USB device.  Only "lsusb -t" shows a
correct result in which my cardreader is listed. Other parameter have
the same output as "lsusb".

Bus#  7

`-Dev#   1 Vendor 0x0000 Product 0x0000
Bus#  6
`-Dev#   1 Vendor 0x0000 Product 0x0000
Bus#  5
`-Dev#   1 Vendor 0x0000 Product 0x0000
Bus#  4
`-Dev#   1 Vendor 0x0000 Product 0x0000
  `-Dev#   2 Vendor 0x0c4b Product 0x0400  << my smartcard reader
Bus#  3
`-Dev#   1 Vendor 0x0000 Product 0x0000
  |-Dev#   2 Vendor 0x0a5c Product 0x2110
  `-Dev#   3 Vendor 0x0483 Product 0x2016
Bus#  2
`-Dev#   1 Vendor 0x0000 Product 0x0000
Bus#  1
`-Dev#   1 Vendor 0x0000 Product 0x0000
  `-Dev#   5 Vendor 0x04b3 Product 0x4485
    `-Dev#   6 Vendor 0x046d Product 0xc03e


Using "cat /proc/bus/usb/devices" shows ALL devices (here listed only my
smartcard reader)

T:  Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0c4b ProdID=0400 Rev= 0.01
S:  Manufacturer=Reiner-SCT
S:  Product=cyberJack e-com(a)
S:  SerialNumber=1776760900
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 96mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none) // Driver=usbfs under Linux after starting pcsc!!!
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=5ms
E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms


When i try so start PCSC-Lite which should load the ReinerSCT driver the
syslog tells:

May 12 14:25:51 (none) user.info pcscd: hotplug_libhal.c:307:get_driver() Looking a driver for VID: 0x0C4B, PID: 0x0400
May 12 14:25:51 (none) user.info pcscd: hotplug_libhal.c:342:HPAddDevice() Adding USB device: usb_device_c4b_400_1776760900_if0
May 12 14:25:52 (none) user.info pcscd: readerfactory.c:1024:RFInitializeReader() Attempting startup of REINER SCT CyberJack ecom_a (1776760900) 00 00 using /usr/lib/pcsc/drivers/ifd-cyberjack.bundle/Contents/Linux/ifd-cyberjack.so
May 12 14:25:52 (none) user.info pcscd: readerfactory.c:877:RFBindFunctions() Loading IFD Handler 3.0
May 12 14:26:10 (none) user.info pcscd: readerfactory.c:1050:RFInitializeReader() Open Port 200000 Failed (usb:0c4b/0400:libhal:/org/freedesktop/Hal/devices/usb_device_c4b_400_1776760900_if0)
May 12 14:26:10 (none) user.info pcscd: readerfactory.c:914:RFUnloadReader() Unloading reader driver.
May 12 14:26:10 (none) user.info pcscd: readerfactory.c:233:RFAddReader() REINER SCT CyberJack ecom_a (1776760900) init failed.
May 12 14:26:10 (none) user.info pcscd: hotplug_libhal.c:397:HPAddDevice() Failed adding USB device: usb_device_c4b_400_1776760900_if0


and debug output from ReinerSCT driver:

CTAPI :[00000402]:2009/04/12 14:26:04:590976:[LOG]:ctapi.cpp:init:334:Initialised CTAPI library (3.3.2.0/7.0.0)
CTAPI :[00000402]:2009/04/12 14:26:04:590976:[LOG]:ctapi.cpp:_init_common1:424:ctn=0, pn=0, devName=usb:0c4b/0400:libhal:/org/freedesktop/Hal/devices/usb_device_c4b_400_1776760900_if0
CTAPI :[00000402]:2009/04/12 14:26:04:650977:[LOG]:ctapi.cpp:_init_common1:605:Device path is: [usb:0c4b/0400:libhal:/org/freedesktop/Hal/devices/usb_device_c4b_400_1776760900_if0]

[trying several times (5sec)]
COMIN :[00000402]:2009/04/12 14:26:04:650977:[<USB>]:ausb.c:  308: Looking for HAL device
COMIN :[00000402]:2009/04/12 14:26:04:650977:[<USB>]:ausb.c:  383: Looking for device at 004/002
COMIN :[00000402]:2009/04/12 14:26:04:650977:[<USB>]:ausb.c:  386: Device not found

COMIN :[00000402]:2009/04/12 14:26:10:711068:[<USB>]:ausb.c:  426: Device [usb:0c4b/0400:libhal:/org/freedesktop/Hal/devices/usb_device_c4b_400_1776760900_if0] not found within 5 secs, giving up
COMERR:[00000402]:2009/04/12 14:26:10:711068:[<USB>]:Device not found
CTAPI :[00000402]:2009/04/12 14:26:10:711068:[LOG]:ctapi.cpp:_init_common1:711:Unable to connect device 0 [usb:0c4b/0400:libhal:/org/freedesktop/Hal/devices/usb_device_c4b_400_1776760900_if0]: -1
CTAPI :[00000402]:2009/04/12 14:26:10:711068:[LOG]:ctapi.cpp:fini:348:Deinitializing CTAPI library
IFD   :[00000402]:2009/04/12 14:26:10:711068:[LOG]:ifdhandler.c:IFDHCreateChannelByName:243:-127=CT_init_name(0,usb:0c4b/0400:libhal:/org/freedesktop/Hal/devices/usb_device_c4b_400_1776760900_if0) 



Has anyone experience using a smartcard reader (or a usb device using
userspace driver under L4Linux) ?
Could the problem be the libusb compiled under Linux?  Has anyone an
other idea where the problem could come from?


Thanks in advance!

Gianfranco









More information about the l4-hackers mailing list