Linux 为什么wlan0接口在xterm中可见,但在运行的程序中不可见?
我在嵌入式linux buildroot操作系统上运行,并安装了一个自定义WiFi驱动程序,该驱动程序以“无线扩展模式”启动。我可以通过以下命令从xterm窗口(无论我是以root用户还是普通用户身份运行)看到该驱动程序:Linux 为什么wlan0接口在xterm中可见,但在运行的程序中不可见?,linux,linux-kernel,linux-device-driver,embedded-linux,Linux,Linux Kernel,Linux Device Driver,Embedded Linux,我在嵌入式linux buildroot操作系统上运行,并安装了一个自定义WiFi驱动程序,该驱动程序以“无线扩展模式”启动。我可以通过以下命令从xterm窗口(无论我是以root用户还是普通用户身份运行)看到该驱动程序: cat /proc/net/dev cat /proc/net/wireless ifconfig -a 通过ifconfig-a打印时,wlan0接口如下所示: wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>
cat /proc/net/dev
cat /proc/net/wireless
ifconfig -a
通过ifconfig-a打印时,wlan0接口如下所示:
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 169.254.185.103 netmask 255.255.0.0 broadcast 169.254.255.255
inet6 fe80::24b:5bfc:8a9e:b148 prefixlen 64 scopeid 0x20<link>
ether 00:23:a7:40:22:f1 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 40 overruns 0 carrier 0 collisions 0
我以root用户和普通用户的身份运行了我的应用程序,并看到了相同的结果。我已经将我的程序的所有权更改为root:root,并将其安装为带有s位的root,但这没有帮助。所以,这似乎不是一个安全问题
有什么想法吗?我写问题的时候只是打字错误——我编辑了问题并修复了它。提供此“嵌入式linux构建根操作系统”的详细信息。你在用Busybox吗?什么贝壳?什么C库?当尝试执行
cat/proc/net/dev
时,system()
调用的返回值是多少?您运行的内核版本是什么。i、 e.uname-a
也许你应该写一个小例子并粘贴在这里,就像@sawdust建议的那样。
system("cat /proc/net/dev");
system("cat /proc/net/wireless");
system("ifconfig -a");
FILE* fopen("/proc/net/dev", "r"); fgets(...