Using glibc-2.2-5 on i386 with kernel 2.4.0-test11. ioctl seems to always (?) return EINVAL. Many apps do this, including tunelp.
ioctl for *everything*?
Impossible, your system would not even boot otherwise. Can you give us some details? Which ioctl, under which conditions, strace output.
Sorry, I was not too clear. Here are examples: tunelp: [root@dogfox sys-utils]# ./tunelp /dev/lp0 -i 0 OP: 605, VAL: 0 tunelp: ioctl: Invalid argument /dev/lp0 using IRQ 7 Valid args? I think so. gqcam: [root@dogfox gqcam-0.9]# ./gqcam -v /dev/v4l/video0 ioctl (VIDIOCSPICT): Invalid argument ioctl (VIDIOCSWIN): Invalid argument ioctl (VIDIOCSPICT): Invalid argument ioctl (VIDIOCSWIN): Invalid argument etc. I am currently recompiling glibc-2.2-5 to see if it makes any difference.
Are you using devfs?
Yes, I am using devfs. Latest version of devfsd AFAIK.
So it is a kernel problem then (actually devfs problem; and also not a problem in a kernel we have shipped). So I'd suggest to work this out with devfs author (Richard Gooch).