Pergunta

Gostaria de fogo algum retorno de chamada de cada vez que a minha placa de rede envia informações sobre as redes disponíveis.Eu realmente não me importo se eu precisar pesquisar a informação que me quer.Eu só não quero depender de desova "iwlist scan last"a cada segundo, mas que é exatamente a informação que eu preciso (nome de rede + canal + tipo de criptografia).

Existe uma biblioteca que implementa uma função como essa?(ou existem algumas chamadas ioctl para fazer o que?)

Eu só estou interessado em um módulo ndiswrapper se o que importa.

Foi útil?

Solução

Se o NetworkManager estiver em execução, é acessível através de seu DBUS API -- Veja o WirelessNetworkAppeared e WirelessNetworkDisappeared eventos.

Caso contrário, você terá que lidar com wext você mesmo (é isso que o nm usa por baixo), você estaria interessado no IWEVREGISTERED e IWEVEXPIRED Eventos chegando ao Netlink_route interface.

Outras dicas

Se você não quiser usar o DBUS, você também pode simplesmente largar um script/programa em /etc/NetworkManager/dispatcher.d/, onde ele será chamado pelo NetworkManager em certos eventos.

Ver "man 8 NetworkManager"para os tipos de eventos e argumentos passados para o script.O script será executado como root, porém , o que pode não ser o que você deseja.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top