USB Smartcard reader unter L4Linux

Gianfranco Ricci gianfranco.ricci at internet-sicherheit.de
Mon May 18 11:20:59 CEST 2009


Hi L4 Hackers,

i have solved the problem after a lot of hours by myself.

The problem is the 2.6.22-4 which neither have devFS nor udev so that
/dev/bus/usb is not populated. But the directory  is used by libusb. So
libusb were not able to communicate the the devices and the driver for
the smartcard reader could not be loaded.

I tried a "hack" and now all works fine :-), lsusb shows all devices und
the smartcard reader functions.

I just tried a ln - s /proc/bus/usb /dev/bus/usb. I know thats  some
dirty hack, if someone has an nicer solution I would be happy to hear it.


Gianfranco



Gianfranco Ricci schrieb:
> 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
>
>
>
>
>
>
> _______________________________________________
> l4-hackers mailing list
> l4-hackers at os.inf.tu-dresden.de
> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
>   






More information about the l4-hackers mailing list