Attention is currently required from: Hoernchen, lynxis lazus, pespin.
laforge has uploaded a new patch set (#3) to the change originally created by Hoernchen. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/42157?usp=email )
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
Change subject: ccid: Fix CCID RDR_to_PC_Parameters (missing bProtocolNum)
......................................................................
ccid: Fix CCID RDR_to_PC_Parameters (missing bProtocolNum)
Our RDR_to_PC_Parameters message was broken, as it was missing
the bProtocolNum value after the header. Let's fix that.
Change-Id: I67d5cb876d20b29f4759d5b194606f34b8b966c4
---
M ccid_common/ccid_device.c
M ccid_common/ccid_proto.h
2 files changed, 7 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/57/42157/3
--
To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/42157?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmo-ccid-firmware
Gerrit-Branch: master
Gerrit-Change-Id: I67d5cb876d20b29f4759d5b194606f34b8b966c4
Gerrit-Change-Number: 42157
Gerrit-PatchSet: 3
Gerrit-Owner: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: lynxis lazus <lynxis(a)fe80.eu>
laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/42303?usp=email )
Change subject: ccid: Fix [unused] RDR_to_PC_Hardware_Error struct definition
......................................................................
ccid: Fix [unused] RDR_to_PC_Hardware_Error struct definition
Our definition of the message was wrong; it is an interrupt endpoint
message without the full header of the bulk-in endpoint. Luckily the
definition was not used in the code base, so this is not fixing any
problem visible on the protocol level.
Change-Id: Ieb756c37402c4ebea32cc3cd23ba3842f4c0df3e
---
M ccid_common/ccid_proto.h
1 file changed, 4 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/03/42303/1
diff --git a/ccid_common/ccid_proto.h b/ccid_common/ccid_proto.h
index ac03938..19f1333 100644
--- a/ccid_common/ccid_proto.h
+++ b/ccid_common/ccid_proto.h
@@ -402,9 +402,11 @@
uint8_t bmSlotCCState[0]; /* as long as bNumSlots/4 padded to next byte */
} __attribute__ ((packed));
-/* Section 6.3.1 */
+/* Section 6.3.2 - Interrupt IN message (4 bytes, NOT bulk header format) */
struct ccid_rdr_to_pc_hardware_error {
- struct ccid_header hdr;
+ uint8_t bMessageType; /* 0x51 */
+ uint8_t bSlot;
+ uint8_t bSeq;
uint8_t bHardwareErrorCode;
} __attribute__ ((packed));
--
To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/42303?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-ccid-firmware
Gerrit-Branch: master
Gerrit-Change-Id: Ieb756c37402c4ebea32cc3cd23ba3842f4c0df3e
Gerrit-Change-Number: 42303
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-CC: Hoernchen <ewild(a)sysmocom.de>
Attention is currently required from: lynxis lazus.
laforge has posted comments on this change by lynxis lazus. ( https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/42302?usp=email )
Change subject: Errata 2.6.10: enable watchdog on boot
......................................................................
Patch Set 1:
(1 comment)
Patchset:
PS1:
what kind of delay do we have configured until the watchdog triggers? I don't see that in the comments, and it is of course rather critical to understand the order of magnitude in comparison to e.g. the worst case timing of a flash write/erase command.
--
To view, visit https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/42302?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-asf4-dfu
Gerrit-Branch: master
Gerrit-Change-Id: I581037724d19fb5abd0c5067f16a5769f9e264a7
Gerrit-Change-Number: 42302
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Comment-Date: Tue, 10 Mar 2026 09:56:15 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Attention is currently required from: lynxis lazus.
laforge has posted comments on this change by lynxis lazus. ( https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/42273?usp=email )
Change subject: dfu-download: flash the first block in manifest phase
......................................................................
Patch Set 5: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/42273?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-asf4-dfu
Gerrit-Branch: master
Gerrit-Change-Id: I894f3ee71587ccb287e92d7025039954991c631f
Gerrit-Change-Number: 42273
Gerrit-PatchSet: 5
Gerrit-Owner: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Comment-Date: Tue, 10 Mar 2026 09:48:25 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/42170?usp=email )
Change subject: dfu: mainloop: work on a local copy of dfu_state
......................................................................
dfu: mainloop: work on a local copy of dfu_state
Prevent race conditions between main loop and irq.
Copy at the start of the loop the dfu state and work on it.
Change-Id: Ic146c8fa5ba25425cf785bae66f9c99b0faab944
---
M usb_start.c
1 file changed, 6 insertions(+), 3 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
diff --git a/usb_start.c b/usb_start.c
index 47e287f..13fbfd3 100644
--- a/usb_start.c
+++ b/usb_start.c
@@ -159,8 +159,11 @@
ASSERT(application_start_address > 0);
while (true) { // main DFU infinite loop
+ enum usb_dfu_state last_dfu_state = dfu_state;
+
// run the second part of the USB DFU state machine handling non-USB aspects
- if (USB_DFU_STATE_DFU_DNLOAD_SYNC == dfu_state || USB_DFU_STATE_DFU_DNBUSY == dfu_state) { // there is some data to be flashed
+ if (USB_DFU_STATE_DFU_DNLOAD_SYNC == last_dfu_state ||
+ USB_DFU_STATE_DFU_DNBUSY == last_dfu_state) { // there is some data to be flashed
LED_SYSTEM_off(); // switch LED off to indicate we are flashing
if (dfu_download_length > 0) { // there is some data to be flashed
int32_t rc = flash_write(&FLASH_0, application_start_address + dfu_download_offset, dfu_download_data, dfu_download_length); // write downloaded data chunk to flash
@@ -182,7 +185,7 @@
}
LED_SYSTEM_on(); // switch LED on to indicate USB DFU can resume
}
- if (USB_DFU_STATE_DFU_MANIFEST == dfu_state) { // we can start manifestation (finish flashing)
+ if (USB_DFU_STATE_DFU_MANIFEST == last_dfu_state) { // we can start manifestation (finish flashing)
// in theory every DFU files should have a suffix to with a CRC to check the data
// in practice most downloaded files are just the raw binary with DFU suffix
dfu_manifestation_complete = true; // we completed flashing and all checks
@@ -192,7 +195,7 @@
dfu_state = USB_DFU_STATE_DFU_MANIFEST_WAIT_RESET;
}
}
- if (USB_DFU_STATE_DFU_MANIFEST_WAIT_RESET == dfu_state) {
+ if (USB_DFU_STATE_DFU_MANIFEST_WAIT_RESET == last_dfu_state) {
if (usb_dfu_func_desc->bmAttributes & USB_DFU_ATTRIBUTES_WILL_DETACH) {
usb_dfu_reset(USB_EV_RESET, 0); // immediately reset
} else { // wait for USB reset
--
To view, visit https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/42170?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-asf4-dfu
Gerrit-Branch: master
Gerrit-Change-Id: Ic146c8fa5ba25425cf785bae66f9c99b0faab944
Gerrit-Change-Number: 42170
Gerrit-PatchSet: 4
Gerrit-Owner: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/42171?usp=email )
Change subject: dfu: irq: replace if(states) with a switch case
......................................................................
dfu: irq: replace if(states) with a switch case
Improves the overview. No functional change.
Change-Id: Ic32fe16dff4b7bb933ec62e36a9c7c7829aece1b
---
M usb/class/dfu/device/dfudf.c
1 file changed, 7 insertions(+), 2 deletions(-)
Approvals:
laforge: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/usb/class/dfu/device/dfudf.c b/usb/class/dfu/device/dfudf.c
index a067185..76dcc9b 100644
--- a/usb/class/dfu/device/dfudf.c
+++ b/usb/class/dfu/device/dfudf.c
@@ -162,9 +162,11 @@
case USB_DFU_GETSTATUS: // get status
// per DFU 1.1 spec, bState must report the state the device will enter
// after this response, so perform state transitions before building response
- if (USB_DFU_STATE_DFU_DNLOAD_SYNC == dfu_state) {
+ switch (dfu_state) {
+ case USB_DFU_STATE_DFU_DNLOAD_SYNC: // download has not completed
dfu_state = USB_DFU_STATE_DFU_DNBUSY; // switch to busy state
- } else if (USB_DFU_STATE_DFU_MANIFEST_SYNC == dfu_state) {
+ break;
+ case USB_DFU_STATE_DFU_MANIFEST_SYNC:
if (!dfu_manifestation_complete) {
dfu_state = USB_DFU_STATE_DFU_MANIFEST; // go to manifest mode
} else if (usb_dfu_func_desc->bmAttributes & USB_DFU_ATTRIBUTES_MANIFEST_TOLERANT) {
@@ -172,6 +174,9 @@
} else { // this should not happen (after manifestation the state should be dfuMANIFEST-WAIT-RESET if we are not manifest tolerant)
dfu_state = USB_DFU_STATE_DFU_MANIFEST_WAIT_RESET; // wait for reset
}
+ break;
+ default:
+ break;
}
response[0] = dfu_status; // set status
response[1] = 10; // set poll timeout (24 bits, in milliseconds) to small value for periodical poll
--
To view, visit https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/42171?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-asf4-dfu
Gerrit-Branch: master
Gerrit-Change-Id: Ic32fe16dff4b7bb933ec62e36a9c7c7829aece1b
Gerrit-Change-Number: 42171
Gerrit-PatchSet: 4
Gerrit-Owner: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: Hoernchen <ewild(a)sysmocom.de>