# [SOLVED] Home router kernel panic with Windows on network

## blackkstar

Hi everyone, I am not 100% sure where to start with this, but I have a few issues. 

The first is that connecting a Windows PC to my gentoo powered router causes a kernel panic, seemingly randomly. But is usually happens very quickly. It seems like it's triggered when I browse more web pages and download files, but it isn't consistent. It works absolutely fine on my Gentoo desktop, and my Android phone connected via wifi access point works fine too. Also, for some odd reason, my Wii U will not load web pages after cookies get set. So I can't search google and log into things, but regular web pages work fine. It doesn't matter if the page is SSL or not, it's the same problem.

I have an Intel 1000 Pro quad port ethernet controller and an Atheros 928x in a bridge which connects to a realtek NIC to my cable modem. I am running dhcpd as a dhcp server and dnsmasq for dns. 

Here are my iptables rules for NAT:

```
Chain INPUT (policy ACCEPT 2646 packets, 686K bytes)

 pkts bytes target     prot opt in     out     source               destination         

    0     0 DROP       tcp  --  wan0   any     anywhere             anywhere             tcp dpt:microsoft-ds

    0     0 DROP       tcp  --  wan0   any     anywhere             anywhere             tcp dpt:netbios-ssn

 2687  207K ACCEPT     all  --  lo     any     anywhere             anywhere            

 529K 2686M ACCEPT     all  --  br0    any     anywhere             anywhere            

Chain FORWARD (policy DROP 0 packets, 0 bytes)

 pkts bytes target     prot opt in     out     source               destination         

3060K 3767M ACCEPT     all  --  wan0   br0     anywhere             anywhere             state RELATED,ESTABLISHED

2520K  319M ACCEPT     all  --  br0    wan0    anywhere             anywhere            

Chain OUTPUT (policy ACCEPT 26486 packets, 6486K bytes)

 pkts bytes target     prot opt in     out     source               destination
```

Here is my kernel config http://pastebin.com/LrSsk8nH

here is my dhcpd.conf

```

default-lease-time 7200;

max-lease-time 7200;

subnet 192.168.1.0 netmask 255.255.255.0 {

        interface br0;

        range 192.168.1.50 192.168.1.199;

        option domain-name-servers 192.168.1.1;

        option domain-name "stevenet";

        option routers 192.168.1.1;

        option broadcast-address 192.168.1.255;

        #option rapid_commit;

}

#host starscythe_gentoo {

#       hardware ethernet 00:0a:f7:09:76:07;

#       fixed-address 192.168.1.200;

#}

host kuma {

        hardware ethernet 00:30:48:57:97:1b;

        fixed-address 192.168.1.201;

}

```

I am really lost here. I don't know how to view the rest of the kernel panic message either. The backtrace eats up my entire screen for the panic message and I can't seem to find a log of the panic. I am using metalog and it doesn't show up in /var/log/everything/

Here's the last lines of /var/log/everything/ from the last log when I crashed. 

```
Oct 31 18:58:12 [dhcpd] Internet Systems Consortium DHCP Server 4.2.5-P1 Gentoo-r2

Oct 31 18:58:12 [dhcpd] Copyright 2004-2013 Internet Systems Consortium.

Oct 31 18:58:12 [dhcpd] All rights reserved.

Oct 31 18:58:12 [dhcpd] For info, please visit https://www.isc.org/software/dhcp/

Oct 31 18:58:12 [dhcpd] Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file

                - Last output repeated twice -

Oct 31 18:58:12 [dhcpd] Wrote 0 deleted host decls to leases file.

Oct 31 18:58:12 [dhcpd] Wrote 0 new dynamic host decls to leases file.

Oct 31 18:58:12 [dhcpd] Wrote 10 leases to leases file.

Oct 31 18:58:12 [dhcpd] DHCPDISCOVER from 00:15:17:2a:5c:4c (deadend-kun) via br0

Oct 31 18:58:12 [kernel] device wlan0 entered promiscuous mode

Oct 31 18:58:12 [kernel] 8021q: 802.1Q VLAN Support v1.8

Oct 31 18:58:12 [kernel] 8021q: adding VLAN 0 to HW filter on device lan0

Oct 31 18:58:12 [kernel] 8021q: adding VLAN 0 to HW filter on device lan1

Oct 31 18:58:12 [kernel] 8021q: adding VLAN 0 to HW filter on device lan2

Oct 31 18:58:12 [kernel] 8021q: adding VLAN 0 to HW filter on device lan3

Oct 31 18:58:12 [dhcpcd] wlan0: carrier acquired

Oct 31 18:58:12 [kernel] br0: port 5(wlan0) entered forwarding state

                - Last output repeated twice -

Oct 31 18:58:13 [dhcpcd] all: IPv6 kernel autoconf disabled

Oct 31 18:58:13 [dhcpcd] wlan0: IAID d2:77:a1:06

Oct 31 18:58:13 [start-stop-daemon] pam_unix(start-stop-daemon:session): session opened for user sabnzbd by (uid=0)

Oct 31 18:58:13 [dhcpcd] wlan0: soliciting a DHCP lease

Oct 31 18:58:13 [dhcpd] DHCPOFFER on 192.168.1.61 to 00:15:17:2a:5c:4c (deadend-kun) via br0

Oct 31 18:58:19 [login] pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=/dev/tty1 ruser= rhost=  user=root

Oct 31 18:58:21 [dhcpd] DHCPREQUEST for 192.168.1.62 from 00:0a:f7:09:76:07 (starscythe7) via br0

Oct 31 18:58:21 [dhcpd] DHCPACK on 192.168.1.62 to 00:0a:f7:09:76:07 (starscythe7) via br0

Oct 31 18:58:23 [login] FAILED LOGIN (1) on '/dev/tty1' FOR 'root', Authentication failure

Oct 31 18:58:25 [dhcpd] DHCPINFORM from 192.168.1.62 via br0

Oct 31 18:58:25 [dhcpd] DHCPACK to 192.168.1.62 (00:0a:f7:09:76:07) via br0

Oct 31 18:58:27 [login] pam_unix(login:session): session opened for user root by LOGIN(uid=0)

Oct 31 18:58:27 [login] ROOT LOGIN  on '/dev/tty1'

Oct 31 18:58:28 [kernel] br0: port 5(wlan0) entered forwarding state

Oct 31 18:58:29 [dhcpd] DHCPDISCOVER from 00:15:17:2a:5c:4c (deadend-kun) via br0

Oct 31 18:58:29 [dhcpd] DHCPOFFER on 192.168.1.61 to 00:15:17:2a:5c:4c (deadend-kun) via br0

Oct 31 18:59:01 [dhcpd] DHCPDISCOVER from 00:15:17:2a:5c:4c (deadend-kun) via br0

Oct 31 18:59:01 [dhcpd] DHCPOFFER on 192.168.1.61 to 00:15:17:2a:5c:4c (deadend-kun) via br0

Oct 31 18:59:25 [login] pam_unix(login:session): session opened for user root by LOGIN(uid=0)

Oct 31 18:59:25 [login] ROOT LOGIN  on '/dev/tty2'

Oct 31 18:59:31 [dhcpd] DHCPINFORM from 192.168.1.62 via br0

Oct 31 18:59:31 [dhcpd] DHCPACK to 192.168.1.62 (00:0a:f7:09:76:07) via br0

```

here's my dnsmasq.conf

```

# Return an MX record pointing to the mx-target for all local

# machines.

localmx

# Return an MX record pointing to itself for all local machines.

selfmx

# Include another lot of configuration options.

#conf-file=/etc/dnsmasq.more.conf

#conf-dir=/etc/dnsmasq.d

# Include all the files in a directory except those ending in .bak

#conf-dir=/etc/dnsmasq.d,.bak

# Include all files in a directory which end in .conf

#conf-dir=/etc/dnsmasq.d/*.conf

```

So, router running gentoo kernel panic with windows. Wii U not working on web pages that seem to need cookies while giving an obscure error message, and samba not detecting other computers but if I type in the IP address it's fine. I've been at this for a few days and I'm absolutely stuck. I thought maybe it was a hardware issue, but I can work all day long in Gentoo just fine. But as soon as I go to Windows to play some games I crash almost instantly. Yet I can play games no problem on my Wii U, just some web pages (I think that use cookies/sessions/etc) don't work.

EDIT: I removed a lot of packet filters and stuff from the kernel and it seems like it's better now. I also added -ipv6 to my make.conf and rebuilt the system with new use flags. I set up kernel crash dumps per this guide: https://wiki.gentoo.org/wiki/Kernel_Crash_Dumps to see if I can get some better info out of it next time it kernel panics. But last night I couldn't get it to panic in Windows. 

I'll update this post if I solve my issues. Still having connectivity problems with things like Wii U, but at least it's not crashing as much.

EDIT 2: It turns out it's something with the e1000e driver conflicting with something Windows is doing. I found some emailing lists on gmane describing it. Basically something about skb_release_data. I'm gonna keep digging even though I'm not in the zero reply queue anymore. If it means anything, my LAN ports in my Intel 4 port ethernet card are assigning IP numbers even though I put config_lan0="null" in /etc/conf.d/net

EDIT 3: Turns out my configuration was fine. The issue was the e1000e driver provided by the kernel was no good. So I recompiled kernel with the bare essentials for my Intel 1000Pro ethernet card, downloaded the latest driver from the Intel website, compiled it, and then installed it. And now my Wii U works fine and I have no more crashes when using Windows on ethernet. 

And yes I'm aware pfSense exists, and no I don't want to do it. I learnt a lot from switching to Gentoo and networking has always been something I'm bad at. So i  wanted to create a router from scratch with Gentoo to learn how to do this stuff. Plus this router doubles as an HTPC and emulation machine.Last edited by blackkstar on Thu Nov 06, 2014 4:28 pm; edited 2 times in total

----------

## katfish

I can't help you here, but I'm asking me, why ppl use gentoo on a router. 

For Router/FW setups I always prefer pfSense. It's freebsd based an has enterprise class features. 

/end trollingLast edited by katfish on Tue Nov 04, 2014 12:47 am; edited 1 time in total

----------

## Jaglover

katfish, you understand you just kicked this thread out of zero reply pool without posting anything useful? Besides, it is not freebsd, it is FreeBSD.

----------

## katfish

Sorry Jaglover, that wasn't my intention. 

I can remove my postings if you want. 

Edit: I tried that, it's not possible with posts that got a reply already.

----------

