# 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.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9