RomanHK wrote:a) Sometimes the IMQ driver is loaded in parallel with the NAT driver and then the Internet is not running, the log does not show errors.
b) NAT is loaded first and then the error "Error hooking IMQ" appears in the log.
c) IMQ driver loads first, then NAT driver (not concurrently) and internet works.
Got it, thanks. But what output of 'cat /proc/net/ip_tables_names' will be in cases 'a)' and 'b)'?
EDIT:
Just to notice:
If there is an error in NAT, you can run the module install command as many times as you want and nothing will be done anyway (only a new router restart will help):
tester wrote:How then we can detect this bug with a script? Yours `cat /proc/net/ip_tables_names | grep nat` is not enough now, it's only for case 'a'.
This IMQ@NAT error is only when these two modules collide. The OpenWrt module no longer uses the IMQ, so I am making it out - that's the only difference between OpenWrt and Gargoyle. When the Internet does not run, I run the script and the error is reflected every time that iptable_nat is not loaded.
Yes, I tried to restart all of these services but no result. The error is in the kernel module and nothing else will help, nor release the module and reload it - it behaves as if it has loaded correctly, but it is not.
Turris Omnia with OpenWrt 21.02 - Tested
Linksys WRT3200ACM with Gargoyle 1.13.x
TL-WR1043ND v2 with Gargoyle 1.10.0
http://gargoyle.romanhk.cz custom builds by gargoyle users
Cezary wrote:The same problem has several of my users, on various platform. One of them says that changing the priority of imq does not solve the problem.
I have nothing better. My latest edits will ensure that the IMQ module is loaded first independently of the other modules that are responsible for it.
Turris Omnia with OpenWrt 21.02 - Tested
Linksys WRT3200ACM with Gargoyle 1.13.x
TL-WR1043ND v2 with Gargoyle 1.10.0
http://gargoyle.romanhk.cz custom builds by gargoyle users
So if I don't want to use links I have to copy (not move) file
46-ipt-imq to /etc/modules-boot.d/ ?
Practically yes.
EDIT: The link there is just to ensure consistency when something changes in the module so that it doesn't have to change in more places. In this case, size doesn't matter. But it is correct to create a link.
Turris Omnia with OpenWrt 21.02 - Tested
Linksys WRT3200ACM with Gargoyle 1.13.x
TL-WR1043ND v2 with Gargoyle 1.10.0
http://gargoyle.romanhk.cz custom builds by gargoyle users
So I have too much bad news.
Although I delayed loading the IMQ module a few seconds, it did not help and sometimes the iptable_nat kernel module was not loaded.
Now I'm going to test if the IMQ is responsible for the mistakes by deleting it.
Turris Omnia with OpenWrt 21.02 - Tested
Linksys WRT3200ACM with Gargoyle 1.13.x
TL-WR1043ND v2 with Gargoyle 1.10.0
http://gargoyle.romanhk.cz custom builds by gargoyle users