Commit Graph

267 Commits

Author SHA1 Message Date
Pol Henarejos
202d32d13d Fix descriptor description when there are disabled interfaces.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-02 01:20:07 +02:00
Pol Henarejos
5984d1f72d NK compatibility improvements.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-08-25 01:33:46 +02:00
Pol Henarejos
a324477a8a Fix interface descriptor when HID is disabled.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-05-02 18:28:38 +02:00
Pol Henarejos
3990e7643a Fix EPNUM counting for ESP32. It fixes the problem of not sending KB.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-04-06 18:31:01 +02:00
Pol Henarejos
a75fd6b815 CTAP_RESP should be 0ed before sending.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-03-30 18:12:06 +02:00
Pol Henarejos
5f79a8c8ed Fix ESP32 dynamic USB interfaces.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-03-24 09:22:25 +01:00
Pol Henarejos
a08abaed0f Enable each USB interface independently depending on PHY parameters.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-03-22 23:25:31 +01:00
Pol Henarejos
f1b1382300 USB descriptors are now created dynamically.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-03-21 15:30:50 +01:00
Pol Henarejos
f06cb3a96d Fix multiple interfaces in older PCSC versions.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-02-12 13:25:23 +01:00
Pol Henarejos
350f0da763 Fix USB keyboard descriptor.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-01-29 13:21:17 +01:00
Pol Henarejos
a081a2bde6 LibCCID allows propietary class for CCID (ALLOW_PROPIETARY_CLASS in LibCCID). Then both interfaces are loaded but since both belong to same device, only the last is opened.
We change maxSlot value even it breaks the ICCD spec to cause a timeout in LibCCID and deactivate WebCCID interface.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-01-17 20:56:03 +01:00
Pol Henarejos
9e2b6ac4b6 Remove comment
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-24 02:05:50 +01:00
Pol Henarejos
046bac42e3 Update CCID descriptor to reflect max USB transport size.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-24 02:05:07 +01:00
Pol Henarejos
c59fb91540 Set stack size depending on the number of enabled interfaces.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-24 01:42:33 +01:00
Pol Henarejos
8e68e6cae9 Use BE/LE functions for packing uint16.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-23 21:00:38 +01:00
Pol Henarejos
585a6d77e3 Use USB product field in the descriptor.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-17 16:27:11 +01:00
Pol Henarejos
86999d8cdd Do not debug after write the buffer.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-16 18:42:42 +01:00
Pol Henarejos
1431f91281 In pure U2F mode, no keepalive is sent by authenticator. Instead, client sends commands to know the status.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-11 22:36:24 +01:00
Pol Henarejos
f58bcaecf1 In pure U2F mode, no keepalive is sent by authenticator. Instead, client sends commands to know the status.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-11 22:36:09 +01:00
Pol Henarejos
cb4e2ba0eb Fixes for ESP32-S3:
- It only supports 4 IN endpoints, so 1 EP must be removed (INT of CCID).
- It only supports 8 strings max.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-11 12:14:31 +01:00
Pol Henarejos
e9875b358c Fix cancel command.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-03 08:35:20 +01:00
Pol Henarejos
fcae98eecc Add support for tinyusb 0.17 in ESP32.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-01 01:23:56 +01:00
Pol Henarejos
49758c6ac7 Fix ESP32 build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-25 22:59:01 +01:00
Pol Henarejos
9f79693025 Fix for Pico SDK 2.1.0
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-25 22:44:00 +01:00
Pol Henarejos
6a18e3aa83 Add CCID SET_DATA_RATE_AND_CLOCK command.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-25 12:54:57 +01:00
Pol Henarejos
5f27c0d75d Fix esp32 build with wcid.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-06 17:11:39 +01:00
Pol Henarejos
3dbf969e12 WCID interface is always enabled.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-06 17:02:38 +01:00
Pol Henarejos
6625678c30 Rename CCID_ codes to PICOKEY_
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-05 18:21:24 +01:00
Pol Henarejos
0edb1f370f Fix HID report descriptors.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-05 15:23:34 +01:00
Pol Henarejos
0638409ff8 Refactor PHY to support more flexible and scalable architecture.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-05 00:29:13 +01:00
Pol Henarejos
a816b6f747 Added PHY options to control the brigthness of the LED and its dimming.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-27 20:55:49 +02:00
Benoît Allard
7a0b67f3cb led: Rename 'blink' to 'mode' 2024-09-25 21:46:33 +02:00
Pol Henarejos
f8a05f4832 Fix maxPower and dwProtocols (recover T=0).
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-12 19:42:49 +02:00
Pol Henarejos
2011cfd35e In Windows, report ID shall start from 1.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-12 19:17:59 +02:00
Pol Henarejos
4711ae768a Move some functions to emulation header.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-03 18:07:50 +02:00
Pol Henarejos
bc34efed5c Fix LED blink when ON/OFF.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-02 18:20:52 +02:00
Pol Henarejos
294c1fdf41 Fix USB descriptor in case only HID is enabled.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-02 09:46:51 +02:00
Pol Henarejos
83c2eaa0b2 Remove printf.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-02 09:46:32 +02:00
Pol Henarejos
1c16bad83a Remove unusued var.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-02 09:46:12 +02:00
Pol Henarejos
3235cd8595 Use mutex/semaphores for emulation, like in Pico and ESP.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-30 12:42:22 +02:00
Pol Henarejos
f8c4106367 Clear otp report before processing.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-30 00:33:48 +02:00
Pol Henarejos
e8b060abb3 Call reset multicore before launching the thread.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-30 00:33:31 +02:00
Pol Henarejos
0560e49b5c Add PICO_PLATFORM macro.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-28 18:47:07 +02:00
Pol Henarejos
c2eda3ca53 Fix USB/CCID writes when APDU is longer than 64 bytes.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-26 22:41:46 +02:00
Pol Henarejos
23dcc91add Fix vendord usb tx buffer size.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-26 22:40:44 +02:00
Pol Henarejos
e871c52f18 Fix long writes.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-26 02:18:53 +02:00
Pol Henarejos
9ac4ebdaed Fix emulation write offset.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-25 20:57:22 +02:00
Pol Henarejos
85be276915 Fix ccid write with offset.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-25 20:57:00 +02:00
Pol Henarejos
956f476872 Fix emulation build without HID.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-25 18:29:51 +02:00
Pol Henarejos
ac2a6c1052 Init low flash in core1 in emulation mode.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-25 00:11:10 +02:00