在unix中检测蜂窝网络连接类型(2G / EDGE / 3G / HSPA / HSPDA / LTE)

时间:2013-08-12 12:26:01

标签: c unix networking telecommunication cellular-network

使用ifaddrs API,我能够检测到不同的接口,如eth0(对于ethernet)/ wlan0(对于无线)/ ppp0(对于蜂窝)。

我已经阅读了针对android的讨论:Detect network connection type on Android

是否与C / unix编程中可用的内容类似?即我能否使用unix中的c程序区分不同的蜂窝接口?

2 个答案:

答案 0 :(得分:0)

这种操作将是100%依赖于系统的,并且在Unix系统上对网络设备的处理是众所周知的变化和临时的(例如,有时它们在/dev,有时不在)。似乎没有用于处理该问题的标准化跨平台库。如果您要在Linux上运行,您可以向NetworkManager询问接口信息。

另见Detect network connection type in Linux

答案 1 :(得分:0)

如果您正在使用单元调制解调器,则可以通过串行端口(Tx,Rx,Grnd)发送AT命令直接查询。单元调制解调器的参考应具有检测其当前连接类型所需的命令(例如,如果其SIM900D单元调制解调器,则搜索SIM900D AT参考指南)。您需要知道单元调制解调器正在运行的级别,例如TTL电压电平,并购买正确的串行接口芯片(例如这里的USB到串行https://www.sparkfun.com/products/9019)以发送AT命令并接收输出。