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” })