Correct, so something like:
src-git nss_packages https://github.com/qosmio/nss-packages.git;NSS-12.5-K6.x-NAPI
Hmm, not sure, tbh it's my first time working with wwan
type drivers. Looked at the module list from the OEM fw dump, and tried to work backwards.
So from immortalwrt
repo you're just building:
quectel-cm
kmod-usb-net-qmi-wwan-quectel (qmi_wwan_q.ko)
kmod-mhi-pcie (pcie_mhi.ko)
Correct?
It's super confusing because at least 4 different repos I searched in, organize the modules very differently. The ones I tried to piece meal from were coolsnowwolf/lede
and immortalwrt/wwan-packages
.
I see rmnet_nss.c
inside two packages quectel_QMI_WWAN
and quectel_MHI
. But no references for the files exists in any of the Makefiles. quectel_MHI
also shows code that references a lot of nss related code, but the makefile skips over it completely to build just devices/mhi_netdev_quectel:
ifeq (1,1)
pcie_mhi-objs += devices/mhi_netdev_quectel.o
else
pcie_mhi-objs += devices/mhi_netdev.o
pcie_mhi-objs += devices/rmnet_handler.o
endif
Not sure if devices/mhi_netdev_quectel
is all that's needed for offloading. The other directory shows that it's related to "RmNet MAP driver multiplexing and aggregation protocol (MAP)", which I'm assuming is for fully offloading. ecm
has hooks for RAWIP
which I see in a few places under rmnet
directory.
I recall from your post you had an issue with undefined rmnet_nss_callbacks
symbols, you could try just applying the patch directly to rmnet_nss.c
with immortalwrt
's repo.
--- a/rmnet_nss.c
+++ b/rmnet_nss.c
@@ -31,8 +31,8 @@ struct rmnet_nss_cb {
int (*nss_tx)(struct sk_buff *skb);
};
-extern struct rmnet_nss_cb *rmnet_nss_callbacks;
-
+struct rmnet_nss_cb *rmnet_nss_callbacks;
+EXPORT_SYMBOL(rmnet_nss_callbacks);
#endif
#define RMNET_NSS_HASH_BITS 8
Anyhow... I'm not too sure how much I can help with this since it's pretty specialized, and not i'm not too well versed in wwan protocols.