시작 시 rfkill을 사용하여 Wi-Fi 잠금 해제

시작 시 rfkill을 사용하여 Wi-Fi 잠금 해제

나는 임베디드 플랫폼(Solidrun Hummingboard의 iMX.6)에서 Debian wheezy를 사용하고 있는데 rfkill이 내 WiFi를 차단합니다.

명령이 sudo rfkill unblock wifi작동했기 때문에 라는 스크립트를 만들어 unblock_wifi.sh다음 위치에 넣었습니다 /etc/init.d.

#!/bin/bash

logFile=/var/log/unblock_wifi.log
timestamp=$(date +%Y%m%d_%H%M%S)

echo "unblock_wifi - Started at $timestamp" > $logFile
rfkill unblock wifi &>> $logFile

timestamp=$(date +%Y%m%d_%H%M%S)
echo  "unblock_wifi - Done at $timestamp" >> $logFile

시작 시 스크립트가 호출되지만(로그는 /var/log에 나타나고 시간은 정확합니다. 시작 및 중지 메시지만 표시됨) Wi-Fi는 여전히 차단됩니다. 시작 후 스크립트를 직접 호출하면 Wi-Fi가 활성화됩니다.

내 스크립트가 열리고 /etc/rc2.d/S05unblock_wifi.sh마지막으로 에 나타납니다 ls.생각하다이는 마지막으로 실행된다는 의미입니다. 하지만 rfkill 스크립트가 없습니다 ...

init.d에 스크립트가 없으면 rfkill은 어떻게 실행됩니까? 내 스크립트가 실행된 후에 실행될 수 있습니다. rfkill 이후에 실행할 스크립트를 어디에 넣어야 합니까?

편집: 답변을 찾기 위해 모든 곳을 찾았지만 모두가 스크립트를 에 넣을 것을 제안하는 것 같습니다 /etc/init.d. 여기에 제가 시도한 것이 있습니다.

답변1

순서가 맞는 것이 확실합니까?이것 문제는 올바른 순서로 표시되지 않는 것 같으 ls므로 다른 서비스가 끝날 때 로드되는지 확인하는 것이 좋습니다.

답변2

Timidger의 의견 이후, 저는 부팅 순서를 더 깊이 파고들기 시작했고 connman이 Wi-Fi를 비활성화한 주범이라는 사실을 발견했습니다. 서비스를 비활성화하면 내 요구 사항이 충족되었습니다.

나중에 참고할 사항: 시작 순서는 각 서비스에 필요한 종속성에 따라 결정됩니다. 어떤 일 이후에 스크립트를 실행하려면 종속성으로 스크립트가 필요합니다(참조이 문제)--

답변3

systemd 기반 시스템에서 rfkill 상태는 systemd-rfkill서비스를 통해 제어되므로 재부팅 후 로드 및 저장 기능을 수행해야 합니다.

관련 정보