Hi all,
I invested a few weeks of work in order to debug free5gc with a Huawei P40 5G and Amarisoft gNodeB. As it is wasted time to do this twice, I would like to share my findings with you.
All modifications of the free5gc are combined in this fork: https://github.com/ralfkundel/free5gc (Stars are welcome )
In detail, I modified the following 4 subreposities (all included in the above fork):
- lib/nas https://github.com/ralfkundel/nas
- lib/ngap https://github.com/ralfkundel/ngap
- src/smf https://github.com/ralfkundel/smf
- src/amf https://github.com/ralfkundel/amf
@free5gc team: If I can support you in any way to integrate them, please let me know.
in general there have been several minor and two major issues:
- The UE Aggregate Maximum Bit Rate is missing
- it is required to have an âimsâ dnn in parall to âinternetâ. For that, a second UPF+SMF can be started.
With this modifications, free5gc stage3 is working together with Huawei P40.
best regards,
Ralf Kundel
db.policyData.ues.amData.insert({âsubscCatsâ : [ âfree5gcâ ], âueIdâ : âimsi-001010000000011â})
db.policyData.ues.smData.insert({âsmPolicySnssaiDataâ : { â01112233â : { âsmPolicyDnnDataâ : { âinternetâ : { âdnnâ : âinternetâ }, âimsâ : { âdnnâ : âimsâ } }, âsnssaiâ : { âsstâ : 1, âsdâ : â112233â } } }, âueIdâ : âimsi-001010000000011â })
db.subscriptionData.authenticationData.authenticationSubscription.insert({âopcâ : { âencryptionAlgorithmâ : 0, âencryptionKeyâ : 0, âopcValueâ : ââ }, âueIdâ : âimsi-001010000000011â, âauthenticationMethodâ : â5G_AKAâ, âpermanentKeyâ : { âencryptionAlgorithmâ : 0, âencryptionKeyâ : 0, âpermanentKeyValueâ : â00112233445566778899AABBCCDDEEFEâ }, âsequenceNumberâ : â000000000dcdâ, âauthenticationManagementFieldâ : â8000â, âmilenageâ : { âopâ : { âencryptionAlgorithmâ : 0, âencryptionKeyâ : 0, âopValueâ : â000102030405060708090A0B0C0D0E0Fâ } } })
db.subscriptionData.provisionedData.amData.insert({âgpsisâ : [ âmsisdn-0900000000â ], âsubscribedUeAmbrâ : { âuplinkâ : â1000 Kbpsâ, âdownlinkâ : â3000 Kbpsâ }, ânssaiâ : { âsingleNssaisâ : [ { âsstâ : 1, âsdâ : â112233â } ], âdefaultSingleNssaisâ : [ { âsstâ : 1, âsdâ : â112233â } ] }, âueIdâ : âimsi-001010000000011â, âservingPlmnIdâ : â00101â })
db.subscriptionData.provisionedData.smData.insert({âsingleNssaiâ : { âsstâ : 1, âsdâ : â112233â }, âdnnConfigurationsâ : {
âinternetâ : { â5gQosProfileâ : { â5qiâ : 9, âarpâ : { âpriorityLevelâ : 8, âpreemptCapâ : ââ, âpreemptVulnâ : ââ }, âpriorityLevelâ : 8 }, âsessionAmbrâ : { âuplinkâ : â3000 Kbpsâ, âdownlinkâ : â1000 Kbpsâ }, âpduSessionTypesâ : { âdefaultSessionTypeâ : âIPV4â, âallowedSessionTypesâ : [ âIPV4â ] }, âsscModesâ : { âdefaultSscModeâ : âSSC_MODE_1â, âallowedSscModesâ : [ âSSC_MODE_1â, âSSC_MODE_2â, âSSC_MODE_3â ] } },
âimsâ : { â5gQosProfileâ : { â5qiâ : 5, âarpâ : { âpriorityLevelâ : 8, âpreemptCapâ : ââ, âpreemptVulnâ : ââ }, âpriorityLevelâ : 8 }, âsessionAmbrâ : { âuplinkâ : â3000 Kbpsâ, âdownlinkâ : â1000 Kbpsâ }, âpduSessionTypesâ : { âdefaultSessionTypeâ : âIPV4â, âallowedSessionTypesâ : [ âIPV4â ] }, âsscModesâ : { âdefaultSscModeâ : âSSC_MODE_1â, âallowedSscModesâ : [ âSSC_MODE_1â, âSSC_MODE_2â, âSSC_MODE_3â ] } }
}, âueIdâ : âimsi-001010000000011â, âservingPlmnIdâ : â00101â })