-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
The dmesg results below were obtained by building SA6400 7.2.2 with the latest RR version.
I understand that RR recently added an improved r8168_tx to stabilize r8168/r8169.
However, r8168_tx and r8168 are internally linked modules, so they shouldn't coexist.
I observed that eudev calls r8168 again 30 seconds after r8168_tx is loaded once in Junior mode.
This capture is a dmesg log after a successful DSM login, after the on_load event has completed.
I couldn't capture the Junior log because I don't know how to enter Junior mode in RR, but I confirmed the same path message in MSHELL.
Removing only r8168 in the integrated pack doesn't remove the warning. This is because r8168 is already provided by Synology as a vanilla module.
To fully control this,
I need to process it once during the junior loading phase, the on_modules event, as shown below,
[ -f /lib/modules/r8168_tx.ko ] && rm -v /lib/modules/r8168.ko
and then remove the r8168 vanilla module from tmpRoot again during the on_load phase.
if lsmod | grep -q "^r8168_tx"; then
rm /tmpRoot/lib/modules/r8168.ko && echo "tmpRoot r8168.ko removed" || echo "Failed to remove tmpRoot r8168.ko"
fi
This process removes the r8168 module, triggering eudev to load it again, thus preventing the duplicate loading warning.
Originally, the same Linux module is loaded first, and to avoid the duplicate loading warning, you need to unload the module with rmmod and then reload it.
While unintentional duplicate loading may not immediately trigger a kernel panic,
it is a potentially unstable factor that could lead to a kernel panic.
lsmod | grep r816
r8168_tx 593920 0