어떤 USB 장치 파일(/dev/ttyUSB0)이 특정 인터페이스(wwan0)와 관련되어 있는지 알 수 있는 방법이 있습니까?

어떤 USB 장치 파일(/dev/ttyUSB0)이 특정 인터페이스(wwan0)와 관련되어 있는지 알 수 있는 방법이 있습니까?

제목에 거의 모든 내용이 나와 있지만 관련성이 있는 경우를 대비해 내 시나리오는 다음과 같습니다.

처음 연결될 때 USB 모뎀을 온라인으로 전환하는 작업을 자동화하려고 합니다. 하드웨어와 셀룰러 서비스를 사용하면 wwan0 인터페이스가 처음 연결될 때 169.254.xx(연결되지 않은) 주소를 갖게 됩니다. 해당 모뎀은 활성화되기 전에 장치 파일을 통해 "AT^NDISDUP=1,1" 명령을 수신해야 합니다. 새로운 연결의 인터페이스 이름에 액세스할 수 있는 if-up 후크를 작성했지만 이를 해당 장치 파일에 연결하는 방법을 모르겠습니다.

이것이 불가능하거나 일을 하는 좋은 방법이 아니라면 다른 아이디어도 들을 수 있습니다. 감사합니다.

업데이트

Kamil의 제안에 따라 sysfs를 파헤쳤습니다. 다양한 장치 관련 항목(/sys/devices/platform/.../.../ttyUSB0) 및 인터페이스 관련 항목(/sys/class/net/wwan0)을 찾았지만 여전히 찾지 못했습니다. 하나를 사용하여 다른 하나를 얻는 방법. udevadm을 사용하여 다양한 항목에서 정보를 가져오지만 대부분의 경우 내가 보고 있는 내용을 실제로 이해하지 못합니다.

답변1

나는 다음 스크립트를 사용하여 이를 달성하기 위해 picocom v3을 사용하고 있습니다.

#!/usr/bin/env bash

for tty in $(ls /dev/ttyUSB*); do
    echo "Checking $tty"
    picocom -qrX -b 9600 $tty
    sleep 1
    result=$(echo "AT&F" | picocom -qrix 1000 $tty)
    if [ "$result" = "AT&F" ]; then
        echo "Found AT compatible modem at $tty"
    else
        echo "No AT compatible modem at $tty"
    fi
done

모뎀 장치에 맞는 것으로 교체할 수 있지만 /dev/ttyUSB*이는 매우 일반적이며 제대로 작동합니다.

관련 정보