I’m trying the free5GC UPF on Ubuntu 22.04 with Linux kernel 6.2, but cannot get it to work.
It seems that either go-gtp5gnl or gtp5g is incompatible with Linux kernel 6.2.
A previous report of this problem is in UE can’t reach internet, UPF can’t create PDR,QER,FAR but that thread is closed.
Environment
- Ubuntu 22.04 in KVM
- Linux kernel
6.2.0-32-generic
, installed vialinux-generic-hwe-22.04
package -
gtp5g commit
575a7d4b8efc97ec100b27f04d2c10290d3a127d
, built with GCC 11.4.0 -
free5gc-compose tag
v3.3.0
- Docker Engine 24.0.6 and Docker Compose 2.21.0
Steps to Reproduce
- Compile and load gtp5g kernel module
- Start the core network:
docker compose up -d
- Open the WebUI at
:5000
and add a subscriber using the default settings shown in the dialog - Start an UE:
docker exec -it ueransim ./nr-ue -c config/uecfg.yaml -i 208930000000003
- Try to ping the Internet from UE:
docker exec -it ueransim ping -I uesimtun0 -c4 1.1.1.1
Expected behavior: the UE should be able to reach the Internet.
Actual behavior: 100% packet loss.
Related Logs
UE log:
UERANSIM v3.2.6
[2023-09-15 18:07:22.683] [nas] [info] UE switches to state [MM-DEREGISTERED/PLMN-SEARCH]
[2023-09-15 18:07:22.684] [rrc] [debug] New signal detected for cell[1], total [1] cells in coverage
[2023-09-15 18:07:22.684] [nas] [info] Selected plmn[208/93]
[2023-09-15 18:07:22.684] [rrc] [info] Selected cell plmn[208/93] tac[1] category[SUITABLE]
[2023-09-15 18:07:22.684] [nas] [info] UE switches to state [MM-DEREGISTERED/PS]
[2023-09-15 18:07:22.684] [nas] [info] UE switches to state [MM-DEREGISTERED/NORMAL-SERVICE]
[2023-09-15 18:07:22.684] [nas] [debug] Initial registration required due to [MM-DEREG-NORMAL-SERVICE]
[2023-09-15 18:07:22.684] [nas] [debug] UAC access attempt is allowed for identity[0], category[MO_sig]
[2023-09-15 18:07:22.684] [nas] [debug] Sending Initial Registration
[2023-09-15 18:07:22.684] [nas] [info] UE switches to state [MM-REGISTER-INITIATED]
[2023-09-15 18:07:22.684] [rrc] [debug] Sending RRC Setup Request
[2023-09-15 18:07:22.684] [rrc] [info] RRC connection established
[2023-09-15 18:07:22.684] [rrc] [info] UE switches to state [RRC-CONNECTED]
[2023-09-15 18:07:22.684] [nas] [info] UE switches to state [CM-CONNECTED]
[2023-09-15 18:07:22.699] [nas] [debug] Authentication Request received
[2023-09-15 18:07:22.703] [nas] [debug] Security Mode Command received
[2023-09-15 18:07:22.704] [nas] [debug] Selected integrity[2] ciphering[0]
[2023-09-15 18:07:22.726] [nas] [debug] Registration accept received
[2023-09-15 18:07:22.726] [nas] [info] UE switches to state [MM-REGISTERED/NORMAL-SERVICE]
[2023-09-15 18:07:22.726] [nas] [debug] Sending Registration Complete
[2023-09-15 18:07:22.726] [nas] [info] Initial Registration is successful
[2023-09-15 18:07:22.726] [nas] [debug] Sending PDU Session Establishment Request
[2023-09-15 18:07:22.726] [nas] [debug] UAC access attempt is allowed for identity[0], category[MO_sig]
[2023-09-15 18:07:22.958] [nas] [debug] PDU Session Establishment Accept received
[2023-09-15 18:07:22.958] [nas] [info] PDU Session establishment is successful PSI[1]
[2023-09-15 18:07:22.966] [app] [info] Connection setup for PDU session[1] is successful, TUN interface[uesimtun0, 10.60.0.1] is up.
UPF log:
2023-09-15T18:07:22.954402640Z [INFO][UPF][PFCP][LAddr:upf.free5gc.org:8805] handleSessionEstablishmentRequest
2023-09-15T18:07:22.954428990Z [INFO][UPF][PFCP][LAddr:upf.free5gc.org:8805][CPNodeID:smf.free5gc.org][CPSEID:0x1][UPSEID:0x1] New session
2023-09-15T18:07:22.954527587Z [ERRO][UPF][PFCP][LAddr:upf.free5gc.org:8805][CPNodeID:smf.free5gc.org][CPSEID:0x1][UPSEID:0x1] Est CreateFAR error: invalid argument
2023-09-15T18:07:22.954616214Z [ERRO][UPF][PFCP][LAddr:upf.free5gc.org:8805][CPNodeID:smf.free5gc.org][CPSEID:0x1][UPSEID:0x1] Est CreateFAR error: invalid argument
2023-09-15T18:07:22.954684875Z [ERRO][UPF][PFCP][LAddr:upf.free5gc.org:8805][CPNodeID:smf.free5gc.org][CPSEID:0x1][UPSEID:0x1] Est CreateQER error: invalid argument
2023-09-15T18:07:22.954741802Z [ERRO][UPF][PFCP][LAddr:upf.free5gc.org:8805][CPNodeID:smf.free5gc.org][CPSEID:0x1][UPSEID:0x1] Est CreateQER error: invalid argument
2023-09-15T18:07:22.954805543Z [ERRO][UPF][PFCP][LAddr:upf.free5gc.org:8805][CPNodeID:smf.free5gc.org][CPSEID:0x1][UPSEID:0x1] Est CreatePDR error: invalid argument
2023-09-15T18:07:22.954860597Z [ERRO][UPF][PFCP][LAddr:upf.free5gc.org:8805][CPNodeID:smf.free5gc.org][CPSEID:0x1][UPSEID:0x1] Est CreatePDR error: invalid argument
2023-09-15T18:07:22.961302669Z [INFO][UPF][PFCP][LAddr:upf.free5gc.org:8805] handleSessionModificationRequest
2023-09-15T18:07:22.961397558Z [ERRO][UPF][Gtp5g] applyAction err: invalid argument
2023-09-15T18:07:22.961493379Z [ERRO][UPF][PFCP][LAddr:upf.free5gc.org:8805][CPNodeID:smf.free5gc.org][CPSEID:0x1][UPSEID:0x1] Mod UpdateFAR error: invalid argument
2023-09-15T18:07:22.961583640Z [ERRO][UPF][PFCP][LAddr:upf.free5gc.org:8805][CPNodeID:smf.free5gc.org][CPSEID:0x1][UPSEID:0x1] Mod UpdatePDR error: invalid argument
Kernel log related to gtp5g:
[ 2655.775893] [gtp5g] gtp5g_init: Gtp5g Module initialization Ver: 0.8.2
[ 2655.775915] [gtp5g] gtp5g_init: 5G GTP module loaded
[ 2873.738905] [gtp5g] gtp5g_encap_enable: enable gtp5g for the fd(11) type(5)
[ 2873.742995] upfgtp:[gtp5g] gtp5g_newlink: Registered a new 5G GTP interface
[ 3083.405690] upfgtp:[gtp5g] gtp1u_udp_encap_recv: No PDR match this skb : teid[1]
[ 3083.405697] upfgtp:[gtp5g] gtp5g_encap_recv: GTP packet has been dropped
[ 3084.412743] upfgtp:[gtp5g] gtp1u_udp_encap_recv: No PDR match this skb : teid[1]
[ 3084.412749] upfgtp:[gtp5g] gtp5g_encap_recv: GTP packet has been dropped
[ 3085.436676] upfgtp:[gtp5g] gtp1u_udp_encap_recv: No PDR match this skb : teid[1]
[ 3085.436682] upfgtp:[gtp5g] gtp5g_encap_recv: GTP packet has been dropped
[ 3086.460668] upfgtp:[gtp5g] gtp1u_udp_encap_recv: No PDR match this skb : teid[1]
[ 3086.460673] upfgtp:[gtp5g] gtp5g_encap_recv: GTP packet has been dropped
It seems that either go-gtp5gnl or gtp5g is incompatible with Linux kernel 6.2.
The same scenario could work in Linux kernel 5.15, but does not work in Linux kernel 6.2.