Mention kernel modules in troubleshooting

#247
This commit is contained in:
Vadim Vetrov
2025-04-29 23:40:32 +03:00
committed by GitHub
parent 6a138324d2
commit 71afca37e9

View File

@@ -358,7 +358,7 @@ Where you have to replace 192.168.. with ip of your television.
*EPERM* may occur in a lot of places but generally here are two: *mnl_cb_run* and when sending the packet via *rawsocket* (raw_frags_send and send fake sni).
- **mnl_cb_run** *Operation not permitted* indicates the problem in establishing netfilter queue. This may occur due to various reasons, but two the most common reasons are: issues in nfqueue kernel modules and another instance of youtubeUnblock running with the same queue-num. For first issue, check up your kernel modules installed and running. On OpenWRT you might forgot to install the dependencies (#openwrt-pre-configuration)[#openwrt-pre-configuration]. For second issue check up running youtubeUnblock instances via `ps -e | grep youtubeUnblock`. If you found some, you may kill them all via `killall youtubeUnblock`.
- **mnl_cb_run** *Operation not permitted* indicates a problem in establishing a netfilter queue. This may occur due to various reasons, but the two most common are: issues with the nfqueue kernel modules and another instance of youtubeUnblock running with the same queue number. For the first issue, check that the kernel modules are installed and running. On OpenWRT, you might have forgotten to install the necessary dependencies [#openwrt-pre-configuration](#openwrt-pre-configuration). For the second issue, check for running youtubeUnblock instances by using the command `ps -e | grep youtubeUnblock`. If you find any, you can terminate them all with the command `killall youtubeUnblock`.
- **rawsocket** *Operation not permitted* indicates that the packet is being dropped by nefilter rules. In fact this is a hint from the kernel that something wrong is going on and we should check the firewall rules. Before dive into the problem let's make it clean how the mangled packets are being sent. Nefilter queue provides us with the ability to mangle the packet on fly but that is not suitable for this program because we need to split the packet to at least two independent packets. So we are using [linux raw sockets](https://man7.org/linux/man-pages/man7/raw.7.html) which allows us to send any ipv4 packet. **The packet goes from the OUTPUT chain even when NFQUEUE is set up on FORWARD (suitable for OpenWRT).** So we need to escape packet rejects here.
* raw_frags_send EPERM: just make sure outgoing traffic is allowed (RELATED,ESTABLISHED should work, if not, go to step 3)