# I get the error Cannot ioctl TUNSETIFF tun0: File descriptor in bad state (errno=77) >>What was happening >>earlier was that I built openvpn first, then realized I needed to build >>the tun/tap kernel module, so built that and then rebuilt openvpn - but >>configure (god bless it) used the cached result of NOT finding if_tun.h. >>I cleared configure's cache and rebuilt it again - this time it found >>"tun/tap v1.4". Now I'm onto a new set of problems though. Now I get: >> >>34: Cannot ioctl TUNSETIFF tun: File descriptor in bad state (errno=77) >> >>Though I've never seen this error personally, it has been talked about >>extensively on the vtun list (another tunneling daemon that uses the TUN/TAP >>driver). >> >>Go to [http://sourceforge.net/mailarchive/forum.php?forum_id=1826](http://sourceforge.net/mailarchive/forum.php?forum_id=1826) >> >>and search for "bad state". >> >>It appears to be caused by a mismatch between the tun/tap kernel module and >>the kernel itself. >> >>What kernel version are you using? >> >>Because in versions 2.4.6 and higher, the TUN/TAP module is integral to the >>kernel -- if you try to build an external version of the module, rather than >>using the one already bundled, it will likely fail. > Also, I've read a few posts that suggest that /usr/src/linux needs to point > to headers that match the running kernel. Depending on what Sean has, it > may be worthwhile to ensure all the various versions > (kernel/headers/tunTap) all match.
