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
4cf8d77609
Fix partition 0 boot.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-29 16:29:11 +02:00
Pol Henarejos
2497b633ae
Fix flash initialization for RP2350.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-28 18:47: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
af06fb367e
Add partitions to RP2350.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-28 18:46:12 +02:00
Pol Henarejos
6f64a6b5ac
Move ESP32 partitions file.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-28 18:44:00 +02:00
Pol Henarejos
2d6545f191
Add support to RP2350.
...
RP2350 does not support RTC, so we use AON timer instead.
2024-08-28 16:42:46 +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
Pol Henarejos
e333383a22
Do not use mbedtls crt_dbrg as it it not reliable.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-25 00:10:53 +02:00
Pol Henarejos
7702401caa
Do not use pthread_cancel. Instead use EV_EXIT.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-24 23:44:32 +02:00
Pol Henarejos
7a88a2b8e7
Improved multicore synchronization. Now they exchange signals and protect areas atomically.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-23 19:24:18 +02:00
Pol Henarejos
90842bb8f7
Fix emulation build.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-23 14:24:17 +02:00
Pol Henarejos
65fea84df1
Fix warnings.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-23 13:17:10 +02:00
Pol Henarejos
b4487892a2
Fix windows build.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-23 13:17:00 +02:00
Pol Henarejos
fa6292118d
Major refactor of USB CCID and USB HID interfaces. All interfaces are rewritten.
...
With this new scheme we ensure that:
- memcpy's are reduced.
- no race conditions are performed.
- critical areas are protected.
- callbacks are executed immediately.
- write's are executed after the positive report is received.
- no usb middle interface anymore.
- CCID and HID are totally independent.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-23 10:02:19 +02:00
Pol Henarejos
0745838e3f
Fix when receiving a packet in the middle of a transmission. RX shall be always processed.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-20 16:39:44 +02:00
Pol Henarejos
e1dd57067e
Fix when a keepalive packet collides with an ongoing transmission.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-20 16:39:08 +02:00
Pol Henarejos
38f0e2cc3a
select_app now invokes U2F or FIDO depending on the message.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-20 14:29:11 +02:00
Pol Henarejos
c1571c02f8
Increase vStack depending on the number of interfaces.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-20 12:43:01 +02:00
Pol Henarejos
d379a39bd6
keepalive should be sent without conditions and without reseting any buffer.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-19 16:44:58 +02:00
Pol Henarejos
7c76a71f33
Fix emulation build.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-19 13:18:03 +02:00
Pol Henarejos
93c491d72c
Fix thread cancel in ESP32.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-19 00:07:19 +02:00
Pol Henarejos
e2bd7fc50f
Add tinycbor to ESP32 build.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-19 00:06:49 +02:00
Pol Henarejos
11447371fe
Rewritten continuous flow for HID.
...
HID uses complete_cb to send the next packet and not the value returned by tud_write. Therefore, no other writes can happen in between of a writing packet if fails.
This ensures a proper interface multiplexing and continuous flow.
Also, the read pointer is used to multiplex usb packets.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-19 00:06:24 +02:00
Pol Henarejos
4e6ebc5c2a
TinyUSB uses interface argument for that driver. Therefore, for vendord driver, interface starts at 0, even the HID interface is used.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-19 00:03:30 +02:00
Pol Henarejos
8fdd1a2305
Add usb.h declarations.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-19 00:02:32 +02:00
Pol Henarejos
0f24d17456
thread management is now in usb stuff. It ensures to launch an apdu/cbor thread depending on the processed packet.
...
It also includes a usb_rx_more to advance the rx pointer. It is useful to multiplex usb packets.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-19 00:02:15 +02:00
Pol Henarejos
c9df3c22a0
driver_exec_finished_cont_hid() now accepts an itf argument.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-19 00:00:46 +02:00
Pol Henarejos
b3dbee5cd6
Increase vStack of core0 of ESP32.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-18 23:43:54 +02:00
Pol Henarejos
aad1387052
Increase vStack in core1 of ESP32.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-18 23:43:32 +02:00
Pol Henarejos
f4ad8e1af2
Fix idVendor, idProduct allocation for Pico Patcher.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-07-15 14:41:08 +02:00
Pol Henarejos
7e8807e054
Fix potential infinite loop when bad ASN1 is processed.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-07-08 10:53:19 +02:00
Pol Henarejos
eca200d2f1
Fix EF.DIR selection.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-28 22:04:52 +02:00
Pol Henarejos
5c11db54ae
BCD must be 2.0 for compatibility with windows.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-27 21:01:22 +02:00
Pol Henarejos
01d1de6074
Upgrade Pico Keys SDK to v6.0
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-22 20:56:03 +02:00
Pol Henarejos
447c68febd
Fix potential overflow.
...
In practice, it never may happen.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-22 19:03:37 +02:00
Pol Henarejos
2700163e1f
Better use phy opt mask.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-21 22:08:16 +02:00
Pol Henarejos
246ed5cf19
Fix when setting options and taking VIDPID values.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-21 22:07:28 +02:00
Pol Henarejos
f8480291fe
Upgrade to Mbedtls 3.6
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-21 21:29:14 +02:00
Pol Henarejos
a3ff9ba697
Merge pull request #2 from al-heisner/main
...
Change total flash pages (needed for pico-hsm)
2024-06-21 18:57:51 +02:00