2017-11-02 30 views
0

나는 이상한 문제로 너희들에게 간다.아무도보고 있지 않으면 WiFi 모듈이 끊어집니다. (또는 : Schrodingers WiFi)

우리 프로젝트에서는 Raspberry를 실행하는 Raspberry Pi3에서 NodeJS를 사용하고 있습니다. 다음 라이브러리를 사용하여 Wi-Fi 모듈을 만듭니다. WifiControl. Raspberry Pi에서 응용 프로그램의 로그를 모니터링하기 위해 pm2를 사용합니다. Pi가 연결해야하는 SSID와 암호를 입력하기 위해, 사용자가 Pi에 이러한 세부 정보를 보낼 수있는 약간의 GUI 인터페이스가 실행됩니다. 다음

사건이다 : 사용자가이 PI3 PI3 제공된 AP에 연결을 시도하기 위해 라이브러리를 사용

  • 로 전송되어 자신의 SSID 및 암호
  • 입사

    • 파이는 연결 시도의 상태의 GUI를 알려

    이것은 우리가지는 경우는 잘 작동 (성공/실패) 연결 시도 중 pm2로 Pi의 로그를 보았습니다 (우리는 Pi로 ssh하고 pm2 로그를 사용합니다). Pi는 우리가 이런 식으로 사용할 때 wifi에 항상 연결합니다 (자격 증명 입력이 올바른 것으로 가정).

    이제 위와 똑같은 단계를 반복하지만 이번에는 Pi를 ssh하지 않고 진행중인 상황을 추적하지 않습니다. Pi는 절대 연결할 수 없습니다. 이 "schrodingers wifi"가 연결 시도를 관찰하는 것이 작동한다는 것을 관찰 할 수는 없으며 관찰하지 않는 것이 무엇을 의미합니까? 아래에서는 2 개의 다른 연결 시도 중에 pm2에서 로그를 추가했습니다. 접두사가 'WifiControl'인 줄은 라이브러리의 디버그 출력입니다. 연결 시도의 관찰 기간 동안

    출력 : 연결 시도를 관찰하지 후

    1|OCB-RN3K | 2017-11-02 10:46 +00:00: [2017-11-02T10:46:05.709Z] [WIFI]: Trying to connect to: { ssid: 'ssid', password: 'password' } 
    1|OCB-RN3K | 2017-11-02 10:46 +00:00: WiFiControl: It appears there is already a connection for this SSID. 
    1|OCB-RN3K | 2017-11-02 10:46 +00:00: WiFiControl: Executing: nmcli connection delete "ssid" 
    1|OCB-RN3K | 2017-11-02 10:46 +00:00: WiFiControl: Success! 
    1|OCB-RN3K | 2017-11-02 10:46 +00:00: WiFiControl: Executing: nmcli device wifi connect "ssid" password "password" 
    1|OCB-RN3K | 2017-11-02 10:46 +00:00: WiFiControl: Success! 
    1|OCB-RN3K | 2017-11-02 10:46 +00:00: WiFiControl: WiFi connection request to "ssid" has been processed. 
    1|OCB-RN3K | 2017-11-02 10:46 +00:00: WiFiControl: Successfully connected to "ssid" 
    1|OCB-RN3K | 2017-11-02 10:46 +00:00: [2017-11-02T10:46:09.681Z] [WIFI]: Successfully connected to: Onmi Airspace 
    1|OCB-RN3K | [2017-11-02T10:46:09.682Z] [CONTROLS]: WiFi Connected! 
    

    출력 :

    [WIFI]: Trying to connect to: { ssid: 'ssid', password: 'password' } 
    1|OCB-RN3K | 2017-11-02 10:48 +00:00: WiFiControl: Executing: nmcli device wifi connect "ssid" password "password" 
    1|OCB-RN3K | 2017-11-02 10:48 +00:00: WiFiControl: WiFi connection request to "ssid" has been processed. 
    1|OCB-RN3K | 2017-11-02 10:48 +00:00: [2017-11-02T10:48:56.737Z] [WIFI]: Error during connection attempt [1/3]: { ssid: 'ssid', 
    1|OCB-RN3K | success: false, 
    1|OCB-RN3K | msg: 'Error: Could not connect to ssid' } 
    

    이 여러 번 테스트되었습니다, 우리는 이것이 우연의 일치하지 믿습니다.

  • 답변

    0

    이 문제는 pm2 로그와 관련이없는 것으로 보이지만 일부는 Raspberry Pi에 대한 사용 권한이 없습니다. 이것은 우리가 파이에 SSH 할 때 우리가 로그인하여 nmcli가 작동하도록 허용하는이 사용자에 대한 올바른 권한을 트리거한다는 것을 의미합니다 (시작시 SSH 중 동일한 사용자로 로그인 한 경우에도 실행됩니다).

    편집 :

    문제는 프로그램이 실행 하는 사용자에게 sudo는 권한을 부여하여 해결되었습니다, 우리는 현재에 대한 다른 옵션 을 조사하고 : 다음은 결국 작동하지 않았다 사용 권한 (sudo는 약간 지나치게 과청 됨). 나는 을이 참고로 남겨두고 있습니다. 이것은 의 버그를 좁히기가 매우 어려웠 기 때문에 더 많은 참고를 위해이 질문을 떠납니다.