W dniu 28.05.2018 o 11:32, Marcus Folkesson pisze: > Hi Andrzej, > > Thank you for reviewing. > > On Mon, May 28, 2018 at 11:12:27AM +0200, Andrzej Pietrasiewicz wrote: >> W dniu 28.05.2018 o 10:38, Marcus Folkesson pisze: >>> Hi Andrzej, >>> >>> On Mon, May 28, 2018 at 09:04:51AM +0200, Andrzej Pietrasiewicz wrote: >>>> Mi Marcus, >>>> >>>> W dniu 26.05.2018 o 23:19, Marcus Folkesson pisze: >>>>> Chip Card Interface Device (CCID) protocol is a USB protocol that >>>>> allows a smartcard device to be connected to a computer via a card >>>>> reader using a standard USB interface, without the need for each manufacturer >>>>> of smartcards to provide its own reader or protocol. >>>>> >>>>> This gadget driver makes Linux show up as a CCID device to the host and let a >>>>> userspace daemon act as the smartcard. >>>>> >>>>> This is useful when the Linux gadget itself should act as a cryptographic >>>>> device or forward APDUs to an embedded smartcard device. >>>>> >>>>> Signed-off-by: Marcus Folkesson <marcus.folkesson@xxxxxxxxx> >>>>> --- >>>> >>>>> >>>>> +config USB_CONFIGFS_CCID >>>>> + bool "Chip Card Interface Device (CCID)" >>>>> + depends on USB_CONFIGFS >>>>> + select USB_F_CCID >>>>> + help >>>>> + The CCID function driver provides generic emulation of a >>>>> + Chip Card Interface Device (CCID). >>>>> + >>>>> + You will need a user space server talking to /dev/ccidg*, >>>>> + since the kernel itself does not implement CCID/TPDU/APDU >>>>> + protocol. >>>> >>>> Your function needs a userspace daemon to work. >>>> It seems you want to use FunctionFS for such a purpose >>>> instead of creating a new function. >>>> >>>> Andrzej >>> >>>>> + since the kernel itself does not implement CCID/TPDU/APDU >>> Oops, the driver does handle CCID. >> >> Which parts of code do this handling? > > My bad, I was thinking about the USB descriptors and endpoints setup. > That is of cause not part of the CCID protocol. > >> >> Is there any kind of state machine usual for protocols? >> If the protocol is stateless then isn't it just a data format then? > > The protocol is stateless. > >> >> Which part of this handling must be done in kernel and why? >> >> Does the said handling do anything other than forwarding the >> traffic between USB and a character device? > > No, it forward the CCID messages to the character device to be handled > by the application. > >> My opinion is: this wants to be done with FunctionFS. Andrzej -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html