Feature #6131
closedFeature #5500: MS-Side GPRS RLC/MAC implementation
modem: Implement pkt-access-procedure retransmission
100%
Description
Right now, RLC/MAC sends primitive L1CTL-RACH.request to lower layers to initiate a pkt-access-procedure. Lower layers (modem app, l1ctl) are in charge of doing the pkt-acces-procedure details, like RACH.req retransmission, or submit a failure to upper layers if all retransmission fail and no answer is received.
This is already implemented in "mobile" app around ./src/mobile/gsm48_rr.c.
We need to port some of that code to newer osmocom infra and put it in src/common/, so that it can be used by "modem" app and in the future also reused by mobile.
Updated by fixeria 7 months ago
- Status changed from In Progress to Feedback
- % Done changed from 0 to 80
We had a Jitsi call with pespin today, during which we agreed on the approach and found out that libosmo-gprs needs to be modified to not expect a specific RA, because it does change during retransmissions. I have implemented the actual retransmission as an additional state of the GRR-FSM, not employing the existing logic we have in gsm48_rr.c. The reason is that this would require a lot of refactoring and quite some integrating effort, so we better postpone this for later.
https://gerrit.osmocom.org/c/libosmo-gprs/+/34512 rlcmac: deal with RACH retransmissions (drop rach_req_ra) [NEW]
https://gerrit.osmocom.org/c/osmocom-bb/+/34513 modem: grr: clarify a comment in forward_to_rlcmac() [NEW]
https://gerrit.osmocom.org/c/osmocom-bb/+/34514 modem: grr: implement RACH.req retransmission [NEW]
Updated by fixeria 7 months ago
Found a problem while testing, fixed here:
https://gerrit.osmocom.org/c/osmocom-bb/+/34534 modem: fix grr_st_packet_access_action(): shift rr->cr_hist properly