프로그래밍하려는 작은 IoT 장치가 있습니다. Mac에 연결하면 ifconfig 아래에 화면이 나타나고 주소 192.168.225.1로 SSH를 연결할 수 있습니다. 안타깝게도 펌웨어를 다시 플래시해야 하는데 펌웨어 업데이트는 Linux에서만 작동합니다.
Linux에서 다른 IoT 장치를 활성화하는 프로세스는 다음과 같습니다.
- "장치"->"USB"->"USB 설정"에서 USB 장치를 활성화합니다.
- 장치 연결
- 장치->USB 및 lsusb 아래에 나타나는 장치 보기
- ifconfig에 인터페이스가 나타나고 장치에 SSH를 통해 연결할 수 있습니다.
이 프로세스는 유사한 IoT 장치에 적용되며 해당 장치에 SSH를 통해 접속할 수 있습니다. 이 장치의 경우 마더보드에 SSH로 접속할 수 있는 인터페이스가 표시되지 않는다는 점을 제외하면 모든 단계가 작동했습니다. 나는 직렬 통신에 익숙하지 않으므로 내 질문은 다음과 같습니다.
- 이 문제를 연구하면 어떤 이점이 있나요?
- 이 데이터 연결을 설정하기 위해 운영 체제는 실제로 무엇을 해야 합니까?
- 이 문제를 해결하려면 어떤 해결 방법을 시도할 수 있습니까?
E: 더 많은 정보를 추가해주세요!
저는 시에라의 망고 레드 WP76을 사용하고 있습니다. SSH를 통해 WP75 및 WP85 모델에 액세스할 수 있지만 Mac을 제외하고 WP76에는 액세스할 수 없습니다. @Mark, VirtualBox를 실행하는 Ubuntu 16.04를 사용하고 있습니다.
답변1
USB 장치 연결 시 일반 프로세스: 장치 획득열거된이는 호스트가 장치에 대한 정보, 특히 공급업체, 장치 ID, 장치 클래스를 알고 있음을 의미합니다. 이 정보를 기반으로 커널은 일치하는 드라이버를 검색하고 로드한 다음 이를 사용하여 장치를 초기화합니다. 네트워크형 USB 장치의 경우 해당 드라이버가 네트워크 인터페이스를 생성합니다. 그런 다음 운영 체제는 커널 외부의 관리자 정책에 따라 네트워크 인터페이스를 초기화합니다.
이 프로세스 동안 커널은 dmesg
터미널을 통해 액세스할 수 있는 출력을 생성합니다. 공급업체 및 장치 ID는 여기에서 볼 수 있을 뿐만 아니라 모든 USB 장치 나열을 사용할 때도 볼 수 있습니다 lsusb
.
따라서 Linux에서 모호한 하드웨어 또는 커널 관련 문제에 대한 첫 번째 단계는 dmesg
문제의 장치의 출력을 다른 장치의 출력과 보고 비교하는 것입니다. 출력 내용을 이해할 수 없는 경우 문제의 장치를 연결한 후 나타나는 추가 줄로 질문을 편집하십시오.
이로 인해 문제가 해결되었을 수 있습니다.
모든 IoT 장치가 유사한 것은 아니며 모든 IoT 장치가 USB 네트워크 장치로 표시되는 것은 아닙니다. 또 다른 인기 있는 옵션은 직렬 장치로 표시하는 것입니다. Linux에서는 tty
일반적으로 이름에 (텔레타이프라이터)가 포함됩니다. 즉, 들어갈 수는 없지만 ssh
또는 와 같은 직렬 통신 프로그램을 사용해야 함을 minicom
의미 합니다 picocom
.
USB 관련 문제를 해결하는 또 다른 중요한 단계는 Google에서 공급업체 및 장치 ID(각각 16진수 4자리)를 형식 0123:4567
으로 검색하는 것입니다 lsusb
. 특정 장치에서 다른 사람들도 비슷한 문제를 겪었다는 것을 알게 될 것입니다.
일반적으로 펌웨어 업데이트 문제는 그 반대입니다. USB 장치는 일부 독점 프로토콜을 사용하여 펌웨어를 업데이트하며 Windows용 드라이버/도구만 사용할 수 있습니다.