LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   /dev/net missing in Current's Fri Nov 20 21:52:15 UTC 2015 update (https://www.linuxquestions.org/questions/slackware-14/dev-net-missing-in-current%27s-fri-nov-20-21-52-15-utc-2015-update-4175559544/)

tux_dude 11-21-2015 09:10 PM

/dev/net missing in Current's Fri Nov 20 21:52:15 UTC 2015 update
 
Updated two boxes and openvpn refuse to start on both because /dev/net/tun was missing. Any chance this is related to the switch to eudev? I got vpn running again by creating the tun node with:
Code:

mkdir /dev/net
mknod /dev/net/tun c 10 200
chmod 666 /dev/net/tun


TracyTiger 11-21-2015 10:11 PM

Note this post in a related thread...

https://www.linuxquestions.org/quest...ml#post5453292

tux_dude 11-22-2015 09:53 AM

Pat's solution worked on another upgrade. But why does the tun module have to be loaded manually now? How was it loaded with the prior?

ReaperX7 11-22-2015 09:58 AM

tun probably isn't loaded unless needed by the hardware. This is the case with a lot of extra drivers used by hardware, but not specifically critical to function.

One that comes to mind is snd_emu10k1 and snd_emu10k1_synth. If you have a SoundBlaster Live series audio card, snd_emu10k1 will be loaded, but the Midi Synthesizer driver will not be autoloaded, and will require using a modprobe call in rc.local to load the driver for usage with midi playback software.

tux_dude 11-22-2015 12:36 PM

What I can't figure out is what module dependency caused the tun model to be loaded before the recent current update. I have no hardware that's dependent on tun, however, it needs to be loaded for VPN.

BratPit 11-22-2015 01:09 PM

Quote:

Originally Posted by tux_dude (Post 5453443)
Updated two boxes and openvpn refuse to start on both because /dev/net/tun was missing. Any chance this is related to the switch to eudev? I got vpn running again by creating the tun node with:
Code:

mkdir /dev/net
mknod /dev/net/tun c 10 200
chmod 666 /dev/net/tun


Not create anything but load module tun first :-)

modprobe tun.

tux_dude 11-22-2015 01:30 PM

Quote:

Originally Posted by BratPit (Post 5453704)
Not create anything but load module tun first :-)

modprobe tun.

Got that. But I want to NOT have to load the module manually.

BratPit 11-22-2015 01:45 PM

Uncomment it or add to rc.modules .

or if you connect by Network Manager, it loads automatically too.

volkerdi 11-22-2015 01:52 PM

If /dev/net/tun exists, does starting openvpn load the tun module?

Maybe openvpn needlessly checks the existence of /dev/net/tun and exits with an error when everything would work if it just proceeded.

Anyway, it wouldn't be a big deal to have eudev create /dev/net/tun (and maybe /dev/ppp as well, since those are the only important missing nodes). Both of those are created when the kernel modules for them are loaded, but maybe other things expect the nodes in /dev before that happens. It might be safer to just make sure things are like they were before.

tux_dude 11-22-2015 03:06 PM

Quote:

Originally Posted by volkerdi (Post 5453721)
If /dev/net/tun exists, does starting openvpn load the tun module?

Maybe openvpn needlessly checks the existence of /dev/net/tun and exits with an error when everything would work if it just proceeded.

Openvpn stops immediately if /dev/net/tun is not present. Agreed, it should proceed or even load the module itself.

Quote:

Originally Posted by volkerdi (Post 5453721)
Anyway, it wouldn't be a big deal to have eudev create /dev/net/tun (and maybe /dev/ppp as well, since those are the only important missing nodes). Both of those are created when the kernel modules for them are loaded, but maybe other things expect the nodes in /dev before that happens. It might be safer to just make sure things are like they were before.

I haven't been able to find any major diff with the current update that would prevent tun from loading (still digging into it). I thought /lib/udev/rules.d/50-udev-default.rules would have loaded tun when udev started with this line
Code:

KERNEL=="tun", MODE="0666", OPTIONS+="static_node=net/tun"

kazzan 11-22-2015 04:53 PM

Quote:

Originally Posted by volkerdi (Post 5453721)
If /dev/net/tun exists, does starting openvpn load the tun module?

It does.
On my Arch box (udev 227), /dev/net/tun always exists even without the tun module being loaded.
OpenVPN loads tun dynamically.

Thanks for your reply in the other thread btw :-)

volkerdi 11-22-2015 06:01 PM

Fixed. /dev/ppp was the other obvious static node that always existed with udev, but isn't created with eudev until the ppp_generic module is loaded. Maybe it should get the same treatment?

Code:

Sun Nov 22 23:37:53 UTC 2015
a/eudev-3.1.5-x86_64-5.txz:  Rebuilt.
  Add eudev startup message for kmsg.  Thanks to Richard Narron.
  Blacklist some more watchdog modules to work around broken hardware.
  Thanks to Robby Workman.
  Added /dev/net/tun.


rworkman 11-22-2015 06:18 PM

Quote:

Originally Posted by tux_dude (Post 5453744)
Openvpn stops immediately if /dev/net/tun is not present. Agreed, it should proceed or even load the module itself.



I haven't been able to find any major diff with the current update that would prevent tun from loading (still digging into it). I thought /lib/udev/rules.d/50-udev-default.rules would have loaded tun when udev started with this line
Code:

KERNEL=="tun", MODE="0666", OPTIONS+="static_node=net/tun"

Nope, that rule says when device node "tun" appears, give it 0666 permissions and name it "net/tun" - i.e. /dev/net/tun

However, a new eudev package is coming soon to fix that, and perhaps some later enhancements/improvements to the fix, but for now, it will work for you and others running into this.

EDIT: well, I see that Pat beat me :D

tux_dude 11-22-2015 09:29 PM

Quote:

Originally Posted by volkerdi (Post 5453792)
Fixed. /dev/ppp was the other obvious static node that always existed with udev, but isn't created with eudev until the ppp_generic module is loaded. Maybe it should get the same treatment?

Code:

Sun Nov 22 23:37:53 UTC 2015
a/eudev-3.1.5-x86_64-5.txz:  Rebuilt.
  Add eudev startup message for kmsg.  Thanks to Richard Narron.
  Blacklist some more watchdog modules to work around broken hardware.
  Thanks to Robby Workman.
  Added /dev/net/tun.



Excellent...Thanks Pat

tux_dude 11-22-2015 09:36 PM

Quote:

Originally Posted by rworkman (Post 5453796)
Nope, that rule says when device node "tun" appears, give it 0666 permissions and name it "net/tun" - i.e. /dev/net/tun

However, a new eudev package is coming soon to fix that, and perhaps some later enhancements/improvements to the fix, but for now, it will work for you and others running into this.

EDIT: well, I see that Pat beat me :D

Robby,
Thanks for working on this. Update eudev and now /dev/net/tun is where it should be.


All times are GMT -5. The time now is 01:10 AM.